Commit Graph

57860 Commits

Author SHA1 Message Date
fredette
c7d356a55e Clean up how the ROM is mapped. If the ROM falls in the large mapping
we enter for the memory, use a subregion of that, else map it by itself.
2002-08-24 16:43:31 +00:00
ragge
2c43ae582f Must set correct HW unibus number so that disk autodetection on other
Unibuses than the first work.
2002-08-24 10:48:10 +00:00
itohy
6736303e13 Use assembly version of ffs(3). 2002-08-24 06:39:48 +00:00
itohy
85ce1de27f Oops, SYSLIBC_SCCS -> LIBC_SCCS 2002-08-24 06:37:24 +00:00
itohy
70b5675025 Assembly version of ffs(3).
Confirmed to return the same value as that of the C version.

The results of a simple benchmark on SH-4 200MHz, is shown below.
I think this shows acceptable performance.

return value	C version	this version	speed
of ffs()	(ns/call)	(ns/call)	ratio
------------	---------	------------	-----
 0		  86		 86		1.00
 1		 110		 86		1.27
 2		 132		 86		1.53
 3		 165		105		1.57
 4		 201		104		1.93
 5		 237		111		2.13
 6		 271		111		2.44
 7		 307		126		2.43
 8		 342		125		2.73
 9		 376		122		3.08
10		 410		121		3.38
11		 446		139		3.20
12		 483		140		3.45
13		 518		146		3.54
14		 551		146		3.77
15		 587		161		3.64
16		 624		162		3.85
17		 658		141		4.66
18		 694		142		4.88
19		 727		160		4.54
20		 764		161		4.74
21		 799		167		4.78
22		 834		167		4.99
23		 868		181		4.79
24		 903		181		4.98
25		 939		146		6.43
26		 974		146		6.67
27		1009		166		6.07
28		1044		165		6.32
29		1080		171		6.31
30		1115		171		6.52
31		1151		185		6.22
32		1185		186		6.37
2002-08-24 06:30:34 +00:00
thorpej
41c25cb648 Add autoconfiguration support for the Sun4d "bootbus". Add a
zs @ bootbus attachment.
2002-08-24 05:26:56 +00:00
mhitch
89fd7196ed Add missing PMAP_TLB_SHOOTDOWN() after PMAP_INVALIDATE_TLB() in
pmap_page_protect().  Closes NetBSD Problem Report #18045.
2002-08-24 03:10:52 +00:00
thorpej
ffdedb6d80 In pmap_map_in_l1() and pmap_unmap_in_l1(), make sure that the VA
that is passed in is already aligned to a 4M super-section.
2002-08-24 03:10:40 +00:00
thorpej
d158b3a37a When we allocate a PTP, make sure the offset we specify is for
the 4M super-section that the PTP will map, not some random 1M
chunk of it.  This gives the PTP hint code a much better chance
to working properly, and allows us to tidy up the code that
flushes a PTP from the cache in pmap_destroy().
2002-08-24 02:50:53 +00:00
thorpej
aafe6e006c Define macros describing the 4M super-sections that our pmap
actually uses (since we allocate PT pages in 4K chunks, rather
than 1K chunks).
2002-08-24 02:48:50 +00:00
thorpej
77a6866508 Enable caching on kernel and user page tables. This saves having
to do uncached memory access during VM operations (which can be
quite expensive on some CPUs).

We currently write-back PTEs as soon as they're modified; there is
some room for optimization (to write them back in larger chunks).
For PTEs in the APTE space (i.e. PTEs for pmaps that describe another
process's address space), PTEs must also be evicted from the cache
complete (PTEs in PTE space will be evicted durint a context switch).
2002-08-24 02:16:30 +00:00
lukem
141ac20efe only print "init: trying /some/init" if RB_ASKNAME or if it's not the first
path we're trying.  (the intent but not the behaviour of the previous rev.)
2002-08-24 00:47:17 +00:00
thorpej
bb0558df3e Oops, don't need a DMA tag. 2002-08-23 21:49:13 +00:00
matt
2d290eb699 Use the qtype_FOREACH macros. Print out address of hook that could not
be disestablished.
2002-08-23 20:50:25 +00:00
thorpej
a71473b576 Add autoconfiguration glue for the Sun4d "cpu-unit". Each processor
board has 2 CPU units (one for each processor), one of which also has
a "bootbus", to which the serial ports, etc. are attached.

We can now probe/attach CPUs on a SPARCserver 1000.
2002-08-23 18:00:46 +00:00
itojun
a8b4aa9a72 #if 0 out call to rnd_add_uint32() in interrupt logic until thorpej
measures performance differences.
2002-08-23 16:30:10 +00:00
bouyer
0d17a940f8 Add support for HPT372. From sdegler@kashmir.degler.net in kern/17908,
with some improvement from me, and from FreeBSD.
2002-08-23 16:24:54 +00:00
matt
ffdea2c266 Only do the dssall if cpu_altivec is set. 2002-08-23 16:08:10 +00:00
bouyer
1a7bae9619 Add support for Promise Ultra133TX2 and Ultra133TX2v2, from FreeBSD and
stephen@degler.net in kern/17509.
2002-08-23 16:02:32 +00:00
bouyer
ea9862cb62 Regen: Add Promise Ultra133TX2 and Ultra133TX2v2 PCI ID 2002-08-23 15:57:04 +00:00
bouyer
f49156d31c Add Promise Ultra133TX2 and Ultra133TX2v2 PCI ID. 2002-08-23 15:56:30 +00:00
scw
b3e086e0ce Attach the ECC driver instead of the previous "eccirq" property hack. 2002-08-23 15:03:33 +00:00
scw
5b79fdfaf7 Add "ecc at plb" device.
Add an "irq" locator to the plb device.
This gets rid of the original hack where ecc support was wedged into
the cpu driver.
2002-08-23 15:01:07 +00:00
simonb
3502025a54 Show the IRQ we attach the ECC handler to. 2002-08-23 13:43:18 +00:00
simonb
a9560f7ab2 Don't pass PROP_CONST to board_info_set() for variables that are on
the stack; we want to copy the property into the database.
2002-08-23 13:41:55 +00:00
scw
3a0067a42a Comment out wscons-related options until port-specific code is written. 2002-08-23 13:16:23 +00:00
scw
9ba60b4297 Install the ECC error interrupt handler at the level specified by
a "4xx-ecc-irq" property.
If the property isn't defined, assume the hardware has no ECC support.
This should, ideally, be a config file option.
2002-08-23 12:46:49 +00:00
scw
c4fdfebd38 Allow port-specific Makefiles to override the name and location
of locore.[So].
This is in preparation for arch/evbppc.
2002-08-23 12:01:58 +00:00
scw
a0d58bf2f5 Remove an extra trailing bracket in a DEBUG printf. 2002-08-23 11:59:40 +00:00
scw
f384fe8ba7 Don't assume all com ports run at "COM_FREQ", or a multiple thereof.
Use a board-specific property instead.
2002-08-23 11:42:13 +00:00
scw
19c988633d Don't frob cpu-specific DCR registers in common code. 2002-08-23 11:40:07 +00:00
scw
4968573654 Split off common 4xx locore code so it can be re-used by other 4xx ports. 2002-08-23 11:37:53 +00:00
ragge
3f5fba68de Do not try to use "__builtin_ffs" on vax, ffs is an instruction already.
Maybe possible to teach gcc to use it?
2002-08-23 08:45:27 +00:00
itojun
e68a39d27b attach random number source. 2002-08-23 07:45:39 +00:00
lukem
76f5313c64 in start_init(), if RB_ASKNAME is set in boothowto, ask for the path
name to start up as init (rather than just cycling thru initpaths[]
and panicing when out of options).  if RB_ASKNAME isn't set, the old
behaviour remains.  inspired by changes in der Mouse's patchtree.
resolves [kern/18027] from me.
2002-08-23 06:17:08 +00:00
enami
691598efd0 s/FREE/PNBUF_PUT/ 2002-08-23 05:38:51 +00:00
thorpej
90817e313c Use the structures defined in bsd_openprom.h for "reg", "range",
and "intr" properties, rather than having identical-except-for-names
sbus_* and iommu_* versions.
2002-08-23 02:53:10 +00:00
thorpej
e92b96b3c4 CPU_ISSUN4OR4C -> CPU_ISSUN4 || CPU_ISSUN4C 2002-08-23 02:46:37 +00:00
thorpej
8b7cc1c1d2 Protect against multiple inclusion. 2002-08-23 02:45:44 +00:00
thorpej
de6a644cea * Refine the comment describing openprom_addr.
* Add openprom_range and openprom_intr structures.
2002-08-23 01:08:45 +00:00
augustss
6add8c3d67 Remove some debugging crap. 2002-08-23 00:58:58 +00:00
augustss
fb1033e35b Add firmware downloader for BCM2033 (no firmware yet; waiting for OK
from Broadcom).
2002-08-23 00:55:20 +00:00
augustss
19801c46c9 Regen. 2002-08-23 00:53:58 +00:00
augustss
70dfad754f Use separate ids for BCM2033 before and after firmware download. 2002-08-23 00:52:45 +00:00
matt
78581fe411 In amap_ref, only increment the amap's refcnt after we have established
the ppref array.  Otherwise, the newly ref'ed pages will be doubly
counted and thus never freed because the pprefcnt can't fall to 0.
2002-08-22 23:39:37 +00:00
wrstuden
e85eb3093d Enable memory for cards with 64-bit memory mappings in addition to
32-bit memory mappings. Makes Intel GigE card work in my Beige G3.

Patch from thorpej
2002-08-22 22:47:35 +00:00
thorpej
c196b51fad In sbcompress(), if we toss an empty mbuf, make sure to update
sb_lastrecord if necessary.

From Daniel Hartmeier <daniel@benzedrine.cx>.
2002-08-22 20:56:48 +00:00
martin
be6275d6fc Add a mixerctl to mute the internal (mono) speaker via
"mixerctl -w monitor.mono=off".

From Sung-Won Chung, slightly modified. All errors by me.
2002-08-22 20:42:22 +00:00
matt
510b31be28 Add missing PMAPCOUNT2 macro for the non-PMAPCOUNTERS case 2002-08-22 15:43:08 +00:00
abs
2287052465 PIPE_SOCKETPAIR, MALLOC_NOINLINE and VNODE_OP_NOINLINE are all appropriate for
the 'minimal memory' configurations.
2002-08-22 14:36:48 +00:00