Commit Graph

101308 Commits

Author SHA1 Message Date
thorpej 181f0a9b54 Tweak the previous change so that a prototype is always provided. 2002-08-25 21:09:45 +00:00
thorpej 139cdc3125 Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00
fredette 94791afd65 No longer use BTLB entries to map the entire address spaces of I/O subsystems,
since BTLB entries can be scarce and very little of an I/O subsystem normally
needs to be mapped.

Instead, the pmap now allows mappings of I/O space to be entered with
pmap_kenter_pa.  bus_space mappings for small amounts of I/O space (as for
virtually all devices) are made this way, with BTLB entries still used for
large mappings for things like framebuffers.

This has led to more and cleaned-up uses of bus_space(9) and has caused
some autoconf cleanup.  Also, kgdb is now attached and connected before
autoconfiguration, which is much earlier than before.
2002-08-25 20:19:59 +00:00
thorpej f02cb5ee27 Make hashinit() use unsigned quantities throughout. 2002-08-25 20:01:12 +00:00
tron 56999645f0 Fix typo in a comment. 2002-08-25 19:21:47 +00:00
thorpej d4a2567abe Fix a signed/unsigned comparison warning from GCC 3.3. 2002-08-25 19:13:08 +00:00
thorpej f066e17960 Fix some signed/unsigned comparison warnings from GCC 3.3. 2002-08-25 19:11:16 +00:00
manu 652fe89179 - add locks to structures used by the /dev/usema driver and the
usync_cntl() system calls.

- when usync_cntl is used and the process is aborted (eg: by kill -9)
libc does not call usync_cntl() to unblock things. We have to cleanup
data allocated in the kernel. This is now done through the emulation
specific exit hook

- IRIX initialize some data in the system part of the PRDA: the pid and
a prid (PRDA ID?). We initialize both to pid.

- Move back struct irix_share_group from irix_exec.h to irix_prctl.h, it
is more revelant here.

- fix a few typos
2002-08-25 19:03:12 +00:00
thorpej c47fa45915 Make this compile without KTRACE or SYSTRACE. 2002-08-25 18:39:40 +00:00
thorpej 88d1869bb4 No need for two copies of the i8253 register definitions. Remove the
i386-specific copy, and adjust its users to add in the timer i/o base
as necessary.
2002-08-25 18:10:32 +00:00
thorpej a9f285b0ac Put a bus's ranges in the bus space tag, and make sparc_bus_map()
perform the translation and recursion if t->ranges != NULL.  Make
sbus, cpuunit, and bootbus inherit the parent's map/mmap routines,
and delete the now-unused mapping functions.  Update all places where
bus space tags are statically allocated.
2002-08-25 17:54:57 +00:00
bouyer 9ca1f94f72 Support Ultra/133 on promise controllers that can do it. 2002-08-25 17:26:58 +00:00
bouyer a9d165fd6a Correct setup for Ultra133 capable VIA chipsets, From Matthias Drochner
on current-users, with cross-check and some improvement from linux-2.4.19
and FreeBSD-current.
Also don't set the APO_UDMA_CLK66 bit for Ultra/100 capable chipset, and
support Ultra/133 for the VT8233A.
2002-08-25 17:25:33 +00:00
bouyer 7e6804d723 Add support for Ultra/133 (ultra-DMA6) in wdc_probe_caps(). 2002-08-25 17:22:38 +00:00
thorpej 067a64da4d Split the timer code up into Sun4/Sun4c, Sun4m, and MS-IIep bits, mostly
to make it more readable.
2002-08-25 16:10:35 +00:00
thorpej 0570742a0b Add a generic function to translate a device address using a
parent's "ranges" property, and use it.
2002-08-25 16:05:41 +00:00
thorpej 51b546d0bb Move the DMA tag and DVMA map into the iommu_softc, and pass the
iommu_softc in the DMA tag cookie.  This gives us a chance of supporting
systems (such as the Sun4d) which have multiple iommus.
2002-08-25 16:02:53 +00:00
martin f54ddc3c17 Add a function to lookup bridge members by struct ifnet * and use
it at all call sites that have such a pointer readily available.
This avoids unnecessary strcmp()s in critical paths, and removes
some XXX comments.
2002-08-24 19:00:31 +00:00
augustss bd028c470a Fix a name I forgot. 2002-08-24 17:58:15 +00:00
augustss ffc3083503 Attach Bluetooth host controller driver (which has not been written) to
ubt device.
2002-08-24 17:31:19 +00:00
augustss 7db70d7d18 Add some placeholders for Bluetooth code. 2002-08-24 17:30:13 +00:00
augustss 0f0102e2cd Add btbus, an attribute for Bluetooth. 2002-08-24 17:28:58 +00:00
augustss 4e63b2ebe1 Add needs-flag for ubtbcmfw. 2002-08-24 17:27:53 +00:00
thorpej d476292c05 Add Sun4d cpu-unit ASIs. 2002-08-24 17:27:21 +00:00
augustss cdbff56c90 Add sysctl support for hw.dev.ubtbcmfw (so I can set the firmware
path for my BCM2033).
2002-08-24 17:27:01 +00:00
augustss 36e33c869d Add sysctl support to firmware loader. 2002-08-24 17:24:04 +00:00
matt e38f37f289 Make sure mips targets build properly on 64bit hosts. 2002-08-24 16:50:10 +00:00
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
lukem b5f53318b6 /rescue/*, and a new crunchgen to ensure /rescue/* is statically linked 2002-08-24 13:25:01 +00:00
lukem 9aa0322535 don't bother with "rm -f $$t" before ${INSTALL_LINK} or ${INSTALL_SYMLINK},
as they default to using install(1) -r.
the rm can cause problems in certain situations, such as moving a library or
shared linker that install(1) depends upon to another location and replacing
it with a (sym)link.
2002-08-24 13:12:38 +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 6aeb2c119f if RESCUEDIR is defined, use ${RESCUEDIR}/sh as _PATH_ALTSHELL 2002-08-24 01:05:14 +00:00
lukem 9f3703ab9a - use _PATH_ALTSHELL (which defaults to _PATH_BSHELL) as the default ALTSHELL
(as opposed to _PATH_BSHELL), to allow the ALTSHELL to be changed.
- print the full path to the default shell in the ALTSHELL prompt.
2002-08-24 01:02:51 +00:00
lukem a14ac7834b now that we have working rescue tools, there's no need to force
LDSTATIC=-static for init(8) on people who want LDSTATIC=""
2002-08-24 01:00:18 +00:00
lukem fe84c3ffb2 support -sh as a synonym for sh 2002-08-24 00:51:12 +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
bouyer 86514a3c90 Note support for HPT372 and (better late than never) HPT374. 2002-08-23 16:31:09 +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