Commit Graph

28847 Commits

Author SHA1 Message Date
jmc 806aee01eb Don't force CFLAGS to -g for all builds. 2001-09-30 23:02:25 +00:00
ragge 9332449994 Check if page to be remapped in pmap_enter() is entered by pmap_kenter_pa(),
to decide whether to remove the previous mapping from pv_table or not.
Should fix PR#12231.
2001-09-30 17:12:08 +00:00
minoura 5e62bcc792 Print daemon image on startup.
(any other missing features?)
2001-09-30 15:54:38 +00:00
sato e848d501fd swap value of VR4181_SIU_ADDR and VR4181_SIU1_ADDR.
fix typo.
2001-09-30 11:33:00 +00:00
sato b9049cf914 add VR4181, VR4131 support. 2001-09-30 11:24:07 +00:00
mycroft 2668b4d43f Unlike most other platforms, PowerPC uses a 1:1 mapping for d_mmap and
pmap_phys_address()...
2001-09-30 01:23:47 +00:00
hubertf c3a231baa7 add (enabled!) esl for pcmcia audio 2001-09-30 00:57:42 +00:00
hubertf 61ce73735e esl is off by default, so switch off audio@esl and opl@esl too. 2001-09-30 00:56:51 +00:00
mycroft 49c87d1447 /dev/mem was severely broken. If you tried to access outside managed memory,
it would go into an infinite loop.  Instead, allow such I/O.

Also, implement mmap(2) for /dev/mem.
2001-09-29 23:36:54 +00:00
chs 15982c7311 fix typo in pmap_kremove() which was invalidating the wrong TLB entry.
from Hiroki Tanikawa in PR 14099.
2001-09-29 22:00:29 +00:00
augustss f75a223c4e Add the esl driver. 2001-09-29 18:46:16 +00:00
chris 5f0c745782 Add a couple of simplelocks to make sure we call pagealloc with the uvm_object locked. Found while running a LOCKDEBUG kernel on cats. 2001-09-29 09:39:12 +00:00
minoura 6dccdcc4cb Implement ls command.
Correct bootdev detection.
Other minor changes.
2001-09-29 03:50:12 +00:00
minoura 9f3eb31089 Make this compile with the new toolchain. 2001-09-29 03:45:13 +00:00
minoura a927531829 Exclude N/W code. 2001-09-29 03:44:04 +00:00
minoura a70835b9a0 Minor KNF. 2001-09-29 01:42:26 +00:00
minoura 63906d4679 -D_STANDALONE 2001-09-29 01:42:09 +00:00
minoura 0669861353 Minor changes from news68k. 2001-09-29 01:24:30 +00:00
minoura 45300859de Forgot to include <machine/bootinfo.h> for the new symbol added in the
previous commit.
2001-09-29 01:24:01 +00:00
minoura d83cae1ca8 Primary boot for ustarfs.
Supports floppy only.
2001-09-28 15:22:21 +00:00
minoura 446e0c768b Add ustarfs support. 2001-09-28 15:20:00 +00:00
minoura b3bb79f90d Add changedisk_hook(). 2001-09-28 15:19:33 +00:00
minoura dfde39ec68 Update authors' mail addresses. 2001-09-28 15:12:01 +00:00
minoura e6e223cd3e Message cosmetics. 2001-09-28 15:11:19 +00:00
minoura b57b9ddfa4 Create stripped version by default. 2001-09-28 15:10:39 +00:00
chs 984d30ac45 don't depend on other headers to include sys/proc.h for us. 2001-09-28 12:36:48 +00:00
chs 80373b7e54 don't depend on other headers to include sys/proc.h for us. 2001-09-28 11:59:51 +00:00
sato 181ca7dcd0 add VR4181 clock control. 2001-09-28 10:25:15 +00:00
sato 91e1127840 VRGROUP_4122 -> VRGROUP_4122_4131 2001-09-28 10:18:33 +00:00
chris fa742cde19 Tweak spl functions a little, try to do something between an ldr and it's use. Not the greatest of gains but spl is called a lot it might add up.
Also add comments stating alignment of stack.
2001-09-28 10:01:02 +00:00
chris 38f962d504 Note the alignment state of the stack. This is part of the work to get the stack 8byte aligned for ELF 2001-09-28 09:56:03 +00:00
chris 79f5d977e0 Add extra arg to fpa_test as it should have 4 args. Also add prototypes for fpa_test and fpa_handler. 2001-09-28 09:53:41 +00:00
thorpej 70f1ab462a Glue in ACPI -- not really for prime-time, but useful for developers. 2001-09-28 03:56:21 +00:00
thorpej 7d89fca881 Add ACPI config glue. 2001-09-28 02:06:55 +00:00
thorpej 3d5c31f282 Bah, fix typo that crept in (tank you vi(1)). 2001-09-28 01:50:04 +00:00
minoura 3fa9e67e35 Install as `boot_ufs'. 2001-09-28 01:49:54 +00:00
thorpej abd2c67167 Machine-dependent ACPI CA Osd routines for i386. 2001-09-28 01:46:56 +00:00
thorpej 21056065db Move the code that enumerates the pnpbios device nodes into a
separate function.
2001-09-27 17:13:39 +00:00
uch 69ed217599 ANSIfy, KNF. 2001-09-27 16:31:23 +00:00
leo 984d919c49 Add ELF stuff to loader. This is a combined effort from Thomas Gerner and
myself.
2001-09-27 14:29:22 +00:00
minoura 7d1fc276fa Make these compile with the old (a.out) toolchain. 2001-09-27 14:08:27 +00:00
sato 9a679b0eb1 - add VR4181 ICU register map.
- add VR4181 intr levels.
- add VR4131 ICU register map.
- add VR4131 intr levels.
XXX: not yet tested these platform.
2001-09-27 13:59:37 +00:00
minoura f5f7a94fa6 Add some missing definitions. 2001-09-27 13:27:54 +00:00
minoura 99247aadcc Initial commit of the new bootloader to support ELF kernel.
It consists of two programs named boot_ufs and boot; the former reads
the latter (an OMAGIC a.out).
Boot now utilizes the libsa library to read the actual kernel.

 - LFS code exists, but probobly does not work.
 - Currently the ELF toolchain is required.
 - Many features are missing.
2001-09-27 10:14:49 +00:00
minoura 7e950cc6e8 libsa for the new bootloader of x68k port. 2001-09-27 10:03:26 +00:00
minoura 8d3d810cc4 Embed the version number of the interface between the bootloader and
kernel.  See amiga.
2001-09-27 09:55:10 +00:00
mrg a68e13f815 implement generic soft interrupts as described in softintr(9). convert
the network, clock & serial softint's to use them.
2001-09-27 02:05:42 +00:00
shin 541214b72d clock_machdep.h was removed. 2001-09-27 01:08:22 +00:00
eeh 98ecb5b215 getprop* -> PROM_getprop* 2001-09-26 20:53:05 +00:00
eeh 64d9292e8c *NEVER* cast a reference parameter to a different type. 2001-09-26 15:05:49 +00:00
fvdl 0596817942 Apparently the old gas doesn't like *(%reg), so revert this one for now,
until everyone's switched to the new toolchain.
2001-09-26 14:07:51 +00:00
fvdl 7b78937c2b More '*' usage in indirect calls/jumps. 2001-09-26 09:58:39 +00:00
is 9a02c51726 Security check - don't paste new command line into bootblock that
don't look like the new style bootblock (with enough space in it).
2001-09-25 19:07:00 +00:00
is e9023155ad Replace skript by a C program, that knows how to manipulate the default
command line in the bootblock and to recompute the bootblock checksum.
2001-09-25 18:47:55 +00:00
eeh e3f674b10c Change a printf to DEBUG only. 2001-09-25 00:06:55 +00:00
eeh 766a9b8c9c Change bus_space_mmap() signature to the official one. 2001-09-24 23:49:31 +00:00
is 36fb85f059 Put default command line into a fixed location with a known size.
This is intended to allow patching of the command line without a
compiler.
2001-09-24 20:27:08 +00:00
rearnsha a5480e24b4 Hmm, on a.out platforms we have
size_t == unsigned int
on elf platforms we have
	size_t == unsigned long int

So use %ld when printing and cast md->md_size to long.
2001-09-24 17:00:52 +00:00
takemura ca59965026 Renamed platid_search() to platid_search_data() and added new platid_search().
Platid_name() was re-implemented using platid_search().
2001-09-24 14:29:30 +00:00
wiz 4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
jdc b6426dff1e Fix typo in !COMPAT_13 case. 2001-09-24 13:19:54 +00:00
takemura ce2f39b63a Hacking code piece, dumping PCI configration register. 2001-09-24 10:42:02 +00:00
leo 1c35b74032 Enable ELF symbols in ddb. 2001-09-24 09:21:24 +00:00
leo c0233c6e50 Add missing argument to pmap_update(). 2001-09-24 09:17:19 +00:00
chs 7173d0a3e8 use pmap_kenter_pa() instead of pmap_enter() in a few places. 2001-09-24 05:37:50 +00:00
mhitch a52fa14deb Run vfs_shutdown() if NOSYNC is *not* set, rather than set. 2001-09-24 03:56:03 +00:00
chs 3628675acf implement pmap_wired_count(). 2001-09-24 01:48:15 +00:00
sommerfeld 98b0d5654c replace %ecx with %cl to silence new assembler warnings. 2001-09-24 01:09:33 +00:00
tls 9b9300274d GCC 2.95 generates significantly larger code with -O2 than our old compiler did; this can cause the second-stage bootblock to exceed the number of blocks that fit in the list in the first-stage bootblock. I thought we used to explicitly set -Os in here; anyway, with this change, we do now! 2001-09-23 23:43:29 +00:00
jdolecek f5599abc0a fix typo 2001-09-23 19:59:19 +00:00
manu 2d16421460 Moved COMPAT_LINUX config stuff from arch/sgimips to arch/mips, so that it's
available on all Mips ports.
2001-09-23 19:45:41 +00:00
eeh c9a848a23c 32-bit kernels have 32-bit pointers. 2001-09-23 17:31:17 +00:00
fredb 43ff3eb524 Nit -- this kernel is called "INSTALLSBC", not "INSTALL". 2001-09-23 17:30:52 +00:00
fredb 780a06ff07 Sync with "GENERIC". 2001-09-23 17:18:00 +00:00
uch 6c1c0aff9c improve interrupt response. 2001-09-23 14:32:52 +00:00
chs 59c12af6f5 implement pmap_wired_count(). 2001-09-23 09:01:13 +00:00
chs 62b6d75cc8 implement pmap_wired_count(). 2001-09-23 08:12:59 +00:00
manu 142bd48453 config stuff for COMPAT_LINUX 2001-09-22 21:30:15 +00:00
manu 151b90c898 Added Linux emulation support to Mips port 2001-09-22 21:29:20 +00:00
eeh 4061423088 BADREG was no longer defined. 2001-09-22 19:58:28 +00:00
eeh 53ebc1b431 Correct the `fast' int types. 2001-09-22 19:51:48 +00:00
simonb 5847ff0480 *int_fast64_t should be "long", not "long long".
From Klaus Klein.
2001-09-22 18:03:10 +00:00
bjh21 0368c93d47 Move the functionality of eca_init_rx_hard() into the tail end of
eca_fiqhandler_tx and eca_tx_downgrade.  This seems to reduce the
number of Rx overruns to zero on my current test case.
2001-09-22 17:19:27 +00:00
bjh21 35de4e1a4c Add fiq_downgrade_dont_disable, which does what fiq_downgrade does, but
doesn't disable FIQs in the process.
2001-09-22 17:16:18 +00:00
rafal 0143775c35 If OSLoadOptions is set to auto, boot straight to multi-user. Requested
one too many times and it seems to do no harm, so enable it.
2001-09-22 16:26:34 +00:00
bjh21 ea073a0cd4 eca_init_rx_hard() shouldn't call eca_init_rx_soft(). That's the
whole point.
2001-09-22 15:33:53 +00:00
bjh21 cddb5108f8 More re-arrangements: Split eca_init_rx() into two parts, one of which
(eca_init_rx_soft()) just sets up software state, and the other of
which (eca_init_rx_hard()) actually puts the interface into receive
mode and sets up the FIQ handler etc.  Arrange that when we transmit a
frame, eca_init_rx_soft() has already been called, so we only need to
call eca_init_rx_hard() from the Tx downgrade handler.

The point of this is that I should be able to incorporate the
functionality of eca_init_rx_hard() into the Tx FIQ handler so that we
can switch from Tx to Rx with little enough delay that we don't drop
the first few bytes of the incoming frame.
2001-09-22 15:29:20 +00:00
bjh21 ffe2e2dfd3 Re-organize eca_gotframe to make the logic a little clearer (to me). 2001-09-22 14:42:51 +00:00
simonb 6879b04b7e Pacify gcc 2.95.3: put an "=" output constraint at the start in an
asm argument.
Also, wrap >80 character line.
2001-09-22 06:30:17 +00:00
tsutsui baa3ec7385 Fix errors on make cleandir in stand/boot* dirs.
Patch from misc/14012 by kwellsch@tampabay.rr.com.
2001-09-22 05:19:39 +00:00
tv ab11c169b5 objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
2001-09-22 03:34:17 +00:00
eeh ebe55962eb Handle fpu registers 32-63 properly. 2001-09-22 01:05:04 +00:00
mrg 343880977d don't print the alignment fault twice. 2001-09-22 00:59:30 +00:00
mrg bb9e4c2671 sync. 2001-09-22 00:58:46 +00:00
mrg 8e278c1dc1 update to reality: remove a bunch of stuff. 2001-09-22 00:58:13 +00:00
mrg bbb36f6711 use the 32-bit compiler on sparc64 (but not yet enabled.) 2001-09-22 00:56:23 +00:00
ad fcf00dcc00 Add `dpti', which is an I2O vendor extension implementing the DPT/Adaptec
control interface. This makes it possible to run the Linux versions of
dptmgr, raidutil, dptelog and other tools under NetBSD.
2001-09-21 23:44:19 +00:00
eeh a984fa914e Workaround for machines with the Acer Labs chipsets. 2001-09-21 22:08:41 +00:00
eeh ec10c45552 Define proper constants for 128-bit floating point. 2001-09-21 20:48:02 +00:00
eeh f8e6b3bc07 Correct values for different rounding modes. 2001-09-21 20:32:32 +00:00
thorpej 559632229e Recolor pages as we disocver the cache sizes. 2001-09-21 19:26:20 +00:00
thorpej 68481297d1 More sunos32 fallout. 2001-09-21 17:12:22 +00:00
wiz d5e1bab856 Update copyright, fix typo and remove too many '/'.
Ok'd by eeh.
2001-09-21 15:30:41 +00:00
fvdl 165dd7f987 Make the newer gas happy by explicitly adding '*' to indirect calls, and
matching mov extensions with register names.
2001-09-21 14:12:50 +00:00
eeh 6138deb0d4 Handle DMA boundaries a bit better. 2001-09-21 03:04:09 +00:00
eeh 09b0bc09db Clean up page allocations. 2001-09-21 03:02:32 +00:00
chs 1dcb706816 fix type-o. 2001-09-21 02:36:47 +00:00
chris 8fd1ceb7bf Fix bug in vmapbuf, was using len before it had been adjusted. Found by Frank while Luke was tracking down a bug. 2001-09-20 23:32:23 +00:00
ad d9f326efb9 Split out the check for a valid disk device into a function. 2001-09-20 22:46:04 +00:00
wiz d0b8cdc6a9 When using va_list, use vprintf, not printf. 2001-09-20 22:11:30 +00:00
bjh21 b959cd4c1f Re-organise eca(4)'s FIQ handlers. Now we have a single FIQ handler copied
to zero page, and it branches to either the rx or tx handler.  My intention
is that the tx handler should switch to the rx one the moment it finishes,
without needing a downgrade, which I hope will get rid of the start-of-frame
rx overruns I'm seeing.

While I'm here, move the constants describing the shape of the FIQ state
structures out of if_ecavar.h and into genassym.cf where they belong.
2001-09-20 21:54:11 +00:00
thorpej bfaf142ff6 Add sunos32_setregs(), thus making sunos32 compile again. 2001-09-20 20:52:26 +00:00
tsutsui ffe6ce9037 bootloader requires systype values so change
#ifdef _KERNEL -> #if defined(_KERNEL) || defined(_STANDALONE)
2001-09-20 12:29:48 +00:00
reinoud 8b8ec21061 Make the NE1000/NE2000 clone podulebus driver a bit more verbose over the
chipset found on the card.
2001-09-19 22:40:17 +00:00
petrov 6b12b0a48f initialize i386_alldisks 2001-09-19 20:25:48 +00:00
thorpej cc0751f230 Adjust to use <dev/sun/fbio.h> 2001-09-19 19:04:16 +00:00
thorpej 93c794a94b Remove pmax-specific fbio.h -- everything uses <dev/sun/fbio.h> now. 2001-09-19 18:51:03 +00:00
thorpej e38a2e561a machine/fbio.h -> dev/sun/fbio.h 2001-09-19 18:10:32 +00:00
thorpej 1827551cbc Don't do the symlink hack for fbio.h. Just use <dev/sun/fbio.h>. 2001-09-19 17:54:44 +00:00
thorpej 5c466ecf34 Just use <dev/sun/fbio.h>. 2001-09-19 17:51:27 +00:00
thorpej 92df2aecae Use <dev/sun/fbio.h>, not our own copy. 2001-09-19 16:46:49 +00:00
thorpej 9e43d210d3 Amiga doesn't need its own fbio.h anymore; screenblank(8) uses
<dev/sun/fbio.h>, and the ioctl that this file defines is compatible.
2001-09-19 16:42:10 +00:00
thorpej 04c2f2a9a2 Amiga don't need its own fbio.h anymore; screenblank(8) uses <dev/sun/fbio.h>,
and the ioctl that this file defines is compatible.
2001-09-19 16:40:52 +00:00
thorpej 681df63b07 Remove alpha/include/fbio.h -- it hasn't been used for a Long Time. 2001-09-19 16:32:04 +00:00
uch 13a0719090 make this compile again. 2001-09-19 14:51:13 +00:00
chs b1ac97973c Fix kern/13049: missing unlock on failure exit from pmap_enter() 2001-09-19 07:54:48 +00:00
chs bd41422de9 don't install loadfile_machdep.h. standalone programs should
include it directly from the kernel source tree.
2001-09-19 06:38:44 +00:00
simonb 808d23f484 {,u}intptr_t are longs; adjust printf/scanf formats. 2001-09-19 05:23:43 +00:00
simonb a2c1c5c8eb Fix typo in PRId64. 2001-09-19 01:49:47 +00:00
thorpej 3792a5d8c5 Add code to frob the MTRR-like registers on the AMD K6-2
and AMD K6-III.
2001-09-19 01:26:18 +00:00
thorpej d941f3b164 Define UWCCR bits for the AMD K6 (these are its MTRR-like registers). 2001-09-19 00:31:21 +00:00
thorpej f0d792297e Define the AMD K6 cache/write-combinding control register MSR. 2001-09-19 00:30:11 +00:00
reinoud 72854dc39d Finally make the RiscPC boot ELF kernels for real !! ... it now loads a.out
kernels as also ELF ones. Also cleaned up the code a bit and removed a
bunch of errors in the ELF loading code... no wonder it didn't work ! ... I
tried to squeeze about 8000 bytes in one 4096 byte page resulting in a
corrupted bss.
2001-09-18 23:23:22 +00:00
ad d29ceae643 Hook in the `stic' device. With any luck this should be temporary. 2001-09-18 19:54:10 +00:00
jdolecek ef8abe0767 Make the setregs hook emulation-specific, rather than executable
format specific.
Struct emul has a e_setregs hook back, which points to emulation-specific
setregs function. es_setregs of struct execsw now only points to
optional executable-specific setup function (this is only used for
ECOFF).
2001-09-18 19:36:32 +00:00
wiz 9fa0b17629 Give initiali[sz]e all the "i"s it deserves. 2001-09-18 18:15:49 +00:00
uch 5c4a9c8761 remove dev/dec/clockvar.h from hpcmips source tree. 2001-09-18 17:37:26 +00:00
ragge 8199c6a469 Some ID strings + other consistency fixes, from Michael Kukat. 2001-09-18 16:41:25 +00:00
tsutsui 891688b1a4 Some cosmetics. 2001-09-18 16:24:16 +00:00
tsutsui bc4a0c136b sii does not require ncr53c9x. 2001-09-18 16:18:35 +00:00
tsutsui aa621e285a Initalize -> Initialize 2001-09-18 16:15:19 +00:00
chs 3527d3dfa5 use NENTRY() instead of ENTRY() for fault-recovery stubs to avoid
mcount() clobbering the error left in %eax by trap().
2001-09-18 06:29:08 +00:00
rafal e613cff3c5 Obey the RB_POWERDOWN flag passed to cpu_reboot; make it work on the Indy
by enabling the FPU before jumping back to ARCS (gross, but necessary!).
2001-09-18 05:19:29 +00:00
chs ea177e40a8 in pmap_clear_modify(), we need to clear the TLB_W bit (ie. the hardware
write-enable bit) to re-enable modify-bit emulation even if we're doing HWREF.
2001-09-18 02:23:14 +00:00
bjh21 5ddc1e1310 Add retry mechanisms for Econet, so that if a four-way handshake doesn't
complete for some reason, we defer it for a bit and then try again.  This
gets ping down to 0% packet loss.

Of course, ping _should_ have been at 0% packet loss anyway, and that's the
next thing to deal with.
2001-09-17 22:41:59 +00:00
fvdl aece5a2ae7 Initialize 'soft' copies of MTRRs to 0. Make fixed MTRRs work a lot more
correctly.
2001-09-17 20:44:08 +00:00
jdolecek a0a75493d8 only define the cpu_exec_ecoff_*() stuff #ifdef EXEC_ECOFF 2001-09-17 17:43:06 +00:00
jdolecek 884d9e7866 g/c superfluous cpu_exec_ecoff_setregs() prototype
only define the cpu_exec_ecoff_*() stuff #ifdef EXEC_ECOFF
2001-09-17 17:40:40 +00:00
uch 87a75cec20 clean up "mainbus" related code. 2001-09-17 17:03:44 +00:00
reinoud e6b9c3dd70 Fix typo... 2001-09-17 15:57:00 +00:00
drochner 8002eb91a6 -fix botched switch/case nesting which made AGP on i810 in GFX mode fail
-remove the check for i810's internal graphics completely: we'll attach
 AGP whether in GFX or AGP mode anyway, and the SMRAM register test
 was of questionable value (should have masked with 0xc0, but even then
 the builtin graphics appeared enabled although I used an external
 PCI card)
2001-09-17 12:07:32 +00:00
wdk 151ad65334 Fix obvious typos: swapdev set to incorrect major number preventing
kernel from accessing swap device.
2001-09-17 09:33:41 +00:00
simonb 1bc6516acc Only define _BSD_WCHAR_T_ once. 2001-09-17 05:40:38 +00:00
ragge 482334fa14 Add bus_space_mmap(). 2001-09-16 20:39:02 +00:00
matt 544880621b Add cdev_decl for new devices in conf.c 2001-09-16 17:41:28 +00:00
matt ec78dd0fce Add missing devices (IOP,MLX,MLY,LD), PCI, stub AGP, ... 2001-09-16 17:40:40 +00:00
matt d75fe4fc1e Fix .type which uses wrong symbol name. 2001-09-16 17:38:08 +00:00
wiz 55fbb5ff57 Grammar improvements in comments. 2001-09-16 16:40:44 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
uch 6a9bbffc4d rearrange struct platform@sysconf.h suitable for hpcmips.
overhaul hpcmips/hpcmips/. no actual changes.
2001-09-16 15:45:42 +00:00
bjh21 33d596bef8 Add support for incoming IP broadcast packets. The protocol for this is
worked out by observing RISC iX's behaviour, so it may be technically
wrong.  The only implementations of IP-over-Econet for which I've got
sources don't support broadcasts.

Tested using broadcast ping from RISC iX to NetBSD, and using rwhod.
2001-09-16 15:08:39 +00:00
bjh21 7763bd3d61 Crude hack to ensure that if a soft-interrupt handler schedules a soft
interrupt, the second handler gets called when the first returns.
2001-09-16 12:58:53 +00:00
ragge bed9e93ceb #define __HAVE_GENERIC_SOFT_INTERRUPTS for netisr_dispatch.h. This is
already defined in machine/types.h, but that file cannot be included
in an assembly file.
2001-09-16 12:51:03 +00:00
jdolecek 901ba4babe remove unused defines; they duplicate appropriate defines from
<dev/ic/ncr53c9xreg.h> anyway
2001-09-16 10:39:10 +00:00
chris 244c9d9d95 Add the first tweak from PR 12364. Don't switch the flush block on an SA, as it makes second and subsequent flushes less efficient. The other tweaks are already committed. 2001-09-16 08:51:17 +00:00
manu 24838b2b54 Enabled the clockctl device for macppc, major 61 2001-09-16 07:21:32 +00:00
chs 1661137341 it's perfectly legal for pmap_extract() on the kernel pmap to not find
anything mapped there, even though it never used to happen.  with today's
other changes it happens a lot now, so remove the debug check for it.
2001-09-16 05:40:46 +00:00
uch 961880b501 ANSIfy, KNF. 2001-09-16 05:32:18 +00:00
thorpej e9d1fccd30 BWX-addressable space is aways linear, so always allow BUS_SPACE_MAP_LINEAR
requests to succeed (and ignore BUS_SPACE_MAP_PREFETCHABLE, since it makes
no difference in BWX-addressable space).
2001-09-16 03:50:01 +00:00
tsutsui 831524d3c1 Wrap some declarations with #ifdef _KERNEL and #ifndef _LOCORE . 2001-09-16 03:20:01 +00:00
thorpej 79ae830243 Add AGP support (oops, forgot to commit this file with the last batch). 2001-09-16 02:09:47 +00:00
eeh d123f46864 Enable GEM, USB and Firewire drivers. 2001-09-16 00:14:35 +00:00
chs 64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00
uch 80d8d09cd7 switch from splvec to ipl_sr_bits. 2001-09-15 19:51:38 +00:00
mrg 002ddf2283 in pci_conf_read() and pci_conf_write(), convert all printf()'s to only
occur if SPDB_CONF (and hence DEBUG).  also convert the panic in
pci_conf_write() to a SPDB_CONF warning and a return.

this cleans up pcictl(8) support.
2001-09-15 19:32:14 +00:00
mrg 9680ade50a add coda (untested; same cdev number as sparc) and pci (tested). 2001-09-15 17:51:02 +00:00
bjh21 91dae8ca83 Add minimal IP-over-Econet support and a load of bug-fixes. I can ping,
unreliably, between my RISC iX and NetBSD boxes with this.  There's a lot
of work to go before it's solid, though.
2001-09-15 17:27:24 +00:00
uch ba1ef3e899 ANSIfy. 2001-09-15 15:04:45 +00:00
uch c04a1143f0 remove unneeded #include 2001-09-15 14:08:15 +00:00
uch 58f851eeb5 ANSIfy, KNF, change my copyright. 2001-09-15 12:47:04 +00:00
uch 7148cab49a ANSIfy, KNF. 2001-09-15 11:13:20 +00:00
eeh 1007095edd Only drop into the debuger if SDB_DDB is set. 2001-09-15 07:13:40 +00:00
eeh 984030b0ca Fix locking problem. 2001-09-15 07:12:22 +00:00
eeh a7283de29c Be a bit more elaborate with UE DMA errors. 2001-09-15 07:10:04 +00:00
eeh 388726b340 Added iommu_extract() for debug purposes.
Anyone caught using it for anything other than debug will be shot.
2001-09-15 06:55:50 +00:00
thorpej 17d975073d Oops, don't need to fill in pcibus_attach_args twice. 2001-09-15 04:50:59 +00:00
thorpej fe5ada1fcc Add PCI and AGP devices. 2001-09-15 04:40:21 +00:00
thorpej 927debe92b Attach "agp" to the AMD-751 PCI host controller (Alpha UP1000/UP1100). 2001-09-15 04:33:37 +00:00
thorpej 6658cbc629 Only filter out the PCI_ID_REG in irongate_conf_read(). 2001-09-15 04:31:40 +00:00
thorpej e3d4f375aa Give each AGP controller its own attribute, and let the "agpbus"
device (rather, the device that carries that attribute) also
carry one or more attributes indicating which type of controller
it might be.

This will allow systems that might have AGP, but would never have
e.g. an Intel PCI-Host bridge, to trim out code that won't be used.
2001-09-15 01:32:10 +00:00
wdk 7e9d52fd89 Remove unused extern 2001-09-15 01:19:38 +00:00
wdk d9c3de97f0 Add bus_dma hooks for ISA Bus.
ISA bus option doesn't support DMA on the Magnum 3000 series, but other
models such as the M/120 do support it.
2001-09-15 01:17:47 +00:00
wdk 4fbe1c7977 Add lpt device 2001-09-15 01:11:02 +00:00
thorpej 8f077d92cc Move the AGP device declaration stuff into files.agp. 2001-09-15 01:10:09 +00:00
wdk 919892c3c4 bus_space_mmap support based on -arc implementation 2001-09-15 00:49:53 +00:00
wdk 5b22c13d90 spllpt() for ISA Bus printer support 2001-09-15 00:46:13 +00:00
thorpej 0019ea5ce6 Clean up the AGP match/attach code somewhat. 2001-09-15 00:24:59 +00:00
nathanw 718551d644 Change all instances of "[e]isa* at foo?" to "[e]isa0 at foo?".
This prevents attaching multiple [E]ISA buses, which we don't support
(Is there any such thing to support? I'm skeptical) and avoids the
"panic: isaattach: ISA bus already seen" that occurs on some laptops
with docking stations and EISA boxes. Since there is only one [E]ISA bus,
logically, the ISA device probe will still find devices on the
docking station.

This does not address the problem of inserting or removing the docking station
at runtime.

Relevant PRs: kern/6544, port-i386/10392, kern/11627, kern/13557,
install/13865.
2001-09-14 21:44:21 +00:00
nathanw 958ea7b111 Add the PCI device. 2001-09-14 21:14:08 +00:00
nathanw 32b0166603 Return ~0 for all config space reads on devices < 11 on the primary bus,
rather than returning ~0 for PCI_ID_REG and panicing otherwise.
2001-09-14 21:04:58 +00:00