Commit Graph

28660 Commits

Author SHA1 Message Date
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