Commit Graph

28840 Commits

Author SHA1 Message Date
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
thorpej f23828cddd Don't declare intrhand[] here -- that's taken care of in intr.c. 2001-09-14 19:18:13 +00:00
jdolecek 7f5706b514 fix indentation 2001-09-14 18:29:08 +00:00
uch a902597034 debug printf change. 2001-09-14 17:12:43 +00:00
uch a970042213 HITACHI PERSONA keyboard support. patch by KIYOHARA Takashi. 2001-09-14 17:11:51 +00:00
msaitoh 9cd1fceecc remove obsolete file 2001-09-14 11:39:39 +00:00
thorpej b9fffe1967 Allow bus front-end to provide both ioctl and mmap entry points,
and also the wsdisplay type.

Based on changes from Simon Burge <simonb@wasabisystems.com>.
2001-09-14 01:10:11 +00:00
briggs c477d3ad28 Define __BUS_SPACE_HAS_STREAM_METHODS since the functions are there. Noted
on tech-kern & port-mac68k by "John Ruschmeyer" <jruschme@mac.com>.
2001-09-14 00:58:08 +00:00
chris 5cb5484ce3 Sprinkle some static and inline into a couple of functions. Remove dead entries from pmap.h. 2001-09-13 23:56:01 +00:00
eeh 266e77d773 Define SYSDIR if not already defined. 2001-09-13 23:19:59 +00:00
chris 5695ad388d Update pmap_clearbit to flush the cache if the area is being made readonly. Also only do this and the tlb flush if the pmap is the current pmap. 2001-09-13 22:45:23 +00:00
thorpej face3e948d Add "pci" at cdev 83. 2001-09-13 22:08:44 +00:00
tshiozak 5341bac833 correct the set/get trigger code for ALi M1543 interrupt router. 2001-09-13 14:00:52 +00:00
pk 0a4ccdfd3c Some sun4c machine (e.g. an IPC) can also have just 7 register windows,
so check for a possible context switch optimization #if SUN4C too.
2001-09-13 13:25:48 +00:00
pk e85ab176f8 The SAVE macro used in the context switch code wound up being defined
only if MULTIPROCESSOR in rev 1.142, causing spurious register window
corruption on some machines.
2001-09-13 13:12:13 +00:00
manu dea90b1ed2 Linux emulation is no longer experimental, removed comment 2001-09-12 21:05:37 +00:00
rjs fcd39c5f2e Add bs_notimpl_bs_mmap to bus space struct. 2001-09-12 12:32:16 +00:00
rearnsha 9358e3ecc3 Fix warning errors for printing size_t types when compiling with
DEBUG_DMA (uses casts due to a.out and ELF having different base
types for size_t).
2001-09-12 09:41:50 +00:00
fvdl 43bbb8500a Apparently some ServerWorks Host-PCI bridges only get their memory space
enabled, even though IO space does work. A few drivers (like ahc)
will only work reliably with IO space, so check for this condition
and correct it.
2001-09-12 08:25:17 +00:00
jmc 9185cf1b34 Add mtrr.h to INCS list to get installed on a make includes 2001-09-12 04:44:21 +00:00
chs 0f63dc99dc replace pmap_enter() with pmap_kenter_pa() where appropriate. 2001-09-11 20:37:12 +00:00
bjh21 5321796010 Add a minimal bus_space_mmap which always fails. The MEMC can only map DRAM
into the user's address space -- I/O devices can only ever be got at by the
kernel.
2001-09-11 11:38:59 +00:00
chs e5c9089c28 fix typo. 2001-09-11 07:30:51 +00:00
eeh 93b54eb36a Implement pmap_growkernel(). 2001-09-11 04:35:43 +00:00
bjh21 e416135347 Driver for the standard Archimedes Econet interface, based around the
Motorola 6854 ADLC.
2001-09-10 23:41:48 +00:00
chris bd81d66bb5 Update the pmap following some comments from Chuck Silvers:
Remove some overzealous locking of HEAD_TO_MAP
Remove a potential deadlock in pmap_copy_page
Change alloc and free l1pt to use kenter/kremove.
Update pmap_map to use kenter (only actually used by dumpsys, so no matching kremove)
2001-09-10 23:40:02 +00:00
bjh21 c30b958988 Add fiq_installhandler(), so the current FIQ owner can change what handler
they've got installed without relinquishing the FIQ.
2001-09-10 23:17:48 +00:00
chris 70907ad742 Add stubs for mmap to footbridge, must implement proper mmap real soon. 2001-09-10 23:05:19 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
eeh 574892a487 Get rid of spurious OF_getprop(). 2001-09-10 16:27:53 +00:00
eeh 9d636228e1 Sun Blade 100 support (and some psycho fixes from Jason Wright). 2001-09-10 16:17:06 +00:00
pooka 58bcf84390 Add bs_notimpl_bs_mmap into the bus space struct to make this cope with
the recent ARM bus_space_mmap() change and hence make this compile.
2001-09-10 15:47:38 +00:00
rafal 39c82fe985 Use the newly committed imcreg.h to get rid of the magic numbers polluting
this file; while I'm here, rework the GIO arbitrator parameter setup to
match more closely what is done by lunix on the same hardware... Finally,
on a tip from Wilbern Cobb, preserve the graphics-related bits of the
GIO arbitrator parameter register from the PROM-initialized settings so
ARCS console on the graphics display works (tested on both my Indy with
Newport and my Indigo2 with XL gfx).
2001-09-10 15:36:19 +00:00
eeh e29b0dab62 Change some debug printfs to make gcc happy. 2001-09-10 14:56:33 +00:00
rafal efa747227e Register defines for the SGI MC memory controller. Not 100% complete, but
has enough register/bit definitions to get rid of all the magic numbers that
currently pollute imc.c
2001-09-10 14:13:31 +00:00
fvdl 8e76d96c85 wrap decl in #if NAGP > 0 2001-09-10 10:54:46 +00:00
fvdl 5f5910616d Oops, didn't mean to enable agp by default yet. 2001-09-10 10:19:12 +00:00
fvdl 927ade4753 Add agp* at pchb? 2001-09-10 10:18:37 +00:00
fvdl 5b6f2046cc Add MTRR option. 2001-09-10 10:17:29 +00:00
fvdl 30bd1cf759 Clean up 'volatile' MTRRs owned by a process when it exits. 2001-09-10 10:14:57 +00:00
fvdl 5b0257ed49 Backend for MTRRs on PII and up or Athlon CPUs. The only other implementation
is on the AMD K6.
2001-09-10 10:14:21 +00:00
fvdl 86b144f468 Syscall frontend for mtrr functions. 2001-09-10 10:13:04 +00:00
fvdl 38db8748a4 Initialize MTRRs on startup if they're enabled. 2001-09-10 10:12:16 +00:00
fvdl 78742dd0e0 Add flag to indicate that a process set some mtrrs that need to be
cleaned up automatically on exit.
2001-09-10 10:11:21 +00:00
fvdl c823d05ca0 Add definitions for mtrr syscalls. 2001-09-10 10:10:57 +00:00
fvdl e0a68652a8 MTRR include file, based on the one by Bill Sommerfeld from the i386 mp
branch.
2001-09-10 10:10:33 +00:00
fvdl a46fbfc5a8 Add agp device. 2001-09-10 10:08:40 +00:00
fvdl d106bb1f19 Add agp files (enabled only on i386, but the main code itself should not
be MD, so could be enabled on other platforms).
2001-09-10 10:08:10 +00:00
fvdl 2c8172cbd3 Attach agp gart support @ pchb. Not very clean, but agp support may
be spread over several devices, and the phcb is usually the main one.

Add agp_machdep.c file which implements MD agp functions (currently
just agp_flush_cache).
2001-09-10 10:06:54 +00:00
msaitoh 78db8b9715 add missing check for framing error 2001-09-10 08:50:33 +00:00
perry edea1a2c17 Make it possible to query each battery individually by making the
APM_IOC_GETPOWER ioctl read/write. Setting the batteryid in the passed
structure returns the data for just that battery. The old ioctl
remains for binary compatibility but has been renamed.

Itojun already did the hard work -- I just added a couple of lines.

reviewed by: thorpej
2001-09-10 05:23:30 +00:00
reinoud a425cc29ac Make it compile again if for some configuration there are no FIQ's ... It
complained about the unused label.
2001-09-10 02:21:42 +00:00
reinoud 7bace466ad Initial commitment of the bus_space_mmap() functions as proposed by Jason R
Thorpe as an extension to the bus_space(9) API.

Only the mainbus has a working mmap... iomd, podulebus and isa dont have
one yet. Its trivial to add the iomd and isa's memory part but am a bit
hessistant to add it without knowing its implications by heart.

Podulebus might be implemented in 32 bits EASI but otherwise its not really
transparent since there is AFAIK no function to explicitly read one byte or
so .. or is this implemented in a higher level ?

ARM26 and arch/arm32/dnard (Shark) kernels compile and RiscPC and Shark
kernels are tested and function OK.

Implications of other ARM systems like hpcarm and ebarm are propably
minimal or solved trivially.
2001-09-10 02:20:19 +00:00
matt 97c7e7fe8d Always include -Wno-main 2001-09-09 22:53:02 +00:00
chs 7d353e82b0 - in PMAP_IS_ACTIVE(), the kernel pmap is always active, and we don't
need to check for curproc being non-NULL since none of the pmap
   interfaces which are legal to use in interrupt handlers use this macro.
 - use the hit op when flushing the cache in pmap_kremove().
 - avoid trusting the optimizer in pmap_clear_reference().
 - fix pmap_clear_modify() to reset the mod-bit emulation so we can
   detect further modifications to the page, also flushing the cache
   for any mappings which might have dirty lines.
2001-09-09 19:48:12 +00:00
perry fe9074d8dc boost maximum MAXUSERS to 128 2001-09-09 18:36:36 +00:00
bouyer a4638cc6d5 Properly initiatize sc->sc_wdcdev.set_modes for non-DMA controllers. 2001-09-09 16:08:49 +00:00
reinoud 180a40eb5b A long int for kernel sizes is a bit overdone for an arm32 ... make it
compile again by changing the format string to use ints.
2001-09-09 15:15:14 +00:00
tls 3d4146e21f Add asm versions of blowfish and des transforms for i386.
This also involved updating the in-kernel DES functions to correspond
to the versions in our in-tree OpenSSL, because the des_SPtrans table
has changed; the asm code will not work with the old permutation table!

C and i386 asm code for the DES, 3DES, and Blowfish CBC modes is also
included; it is not currently built as the ESP processing in esp_core.c
splits the CBC operation and the cipher transform apart.  Hopefully that
will be fixed as there is a substantial performance improvement to be had
from doing so.  It will remain necessary to use the C version of the
Blowfish CBC function on some i386 machines, however, as the asm version
uses bswapl, which ony 486 and later processors have.  The DES CBC code
doesn't have this problem.

Finally, change esp_core.c to use the ecb3_encrypt function instead of
calling ecb_encrypt three times; this improves performance a bit, in
particular in the asm case.
2001-09-09 11:00:59 +00:00
toshii 7c9e82d6e3 Don't define pcb_* register macros.
pcb_sp macro conflicts with sys/netinet6/ipsec.c.
2001-09-09 10:33:42 +00:00
toshii 9665c1bcc3 Use arm/arm32/vm_machdep.c instead of hpcarm one. 2001-09-09 09:59:24 +00:00
toshii b45ffd445a Readd sacom to cdevsw. 2001-09-09 09:54:13 +00:00
toshii 17e80273eb #include "sacom.h" for constab[]. 2001-09-09 08:07:36 +00:00
matt 8402e4d93f Fix a missing restore interrupt. disable interrupts around pvo_enter in
pmap_kenter.  Shouldn't be needed but ...
2001-09-09 04:35:22 +00:00
simonb a41b7a380e Clean up and standardise across MIPS ports. 2001-09-09 04:20:25 +00:00
enami d182b51372 Don't print extra space when printing information about cpu of unknown vendor.
# and minor stylistic change while i'm here.
2001-09-09 02:10:44 +00:00
enami bab65a8da3 Mix random data directly into the pool and increase entropy instead of
estimating entropy with polling based timing.
2001-09-09 00:48:54 +00:00
thomas 35ad82f0df Make the bootloader ELF aware.
It can load either a.out or ELF, depending on compile options.
2001-09-08 16:57:09 +00:00
thomas b2990af499 ELF adaption. 2001-09-08 11:21:02 +00:00
thomas f433d91346 Now the default ecexutable is ELF.
Add COMPAT_AOUT_M68K to GENERIC options.
2001-09-08 11:19:06 +00:00
thomas d059704139 ELF adaption, clockframe must be packed. 2001-09-08 11:16:43 +00:00
thomas e97e2309f0 ELF abaption. 2001-09-08 11:15:35 +00:00
thomas eb5341b79a Some ELF adaption. 2001-09-08 11:14:33 +00:00
thomas f34c1c216e Return a useful exit status. 2001-09-07 23:09:36 +00:00
sato 9545f31823 initial support of vr4131 bcu. 2001-09-07 16:06:03 +00:00
sato a18f21f23e VR4131 have same restriction as VR4122. 2001-09-07 16:04:03 +00:00
sato 5e44e9de0e add VR4131 releated definisions and change. 2001-09-07 16:02:56 +00:00
tsutsui 66187ea9e9 Fix function names in panic messages. 2001-09-07 10:35:59 +00:00
lukem cb33448ead use options SPACE TAB 2001-09-07 00:18:27 +00:00
thorpej b42556773f Driver for the Dreamcast mouse, based on the programming info
on Marcus's web site.

Not yet thoroughly tested, but does appear to generate events
that look okay.
2001-09-06 22:07:39 +00:00
fredette 2468247eff In _bus_dmamap_load, now check the return value of pmap_extract
under DIAGNOSTIC, and fixed a bug where we weren't putting the
right size into a newly valid map.
2001-09-06 21:38:40 +00:00
nathanw 78d8966e59 Remove the infamous "DANGER WILL ROBINSON: FEN SET in cpu_fork!"
diagnostic. It's not indicative of an error condition.

The code sequence in question calls fpusave_proc(), which ultimately
calls alpha_pal_wrfen(0), which clears the FEN bit in the current
PCB. However, the diagnostic message is based on reading that bit from
the PCB representation in memory, which is not guaranteed to be kept
up-to-date with respect to the real PCB contents. According to the
AARM, third edition, II-B 4.2:

"If the PCB is read while ownership resides with the processor, it is
UNPREDICTABLE whether the original or an updated value of a field is
read."

The Alpha architecture does not provide a way to read the true value
of the FEN bit of the current PCB, so the test is simply removed.
2001-09-06 21:20:43 +00:00
thorpej 2d2a66209d Indent. 2001-09-06 20:04:49 +00:00
fredette b1b29ae867 Added -D__SVR4_ABI__ to XDEFS. Without it, m68k libkern assembly
functions don't return pointer values in %a0.
2001-09-06 20:04:16 +00:00
augustss 283601a95c Comment out tr at pcmcia. 2001-09-06 13:29:29 +00:00
leo 558c39f10c Changes for Chuck Silvers:
implement pmap_k{enter_pa,remove}() correctly.
  remove various checks for impossible conditions.
  other misc cleanup.
2001-09-06 06:27:54 +00:00
leo 975c7a2466 Make this finally compile again. It hasn't worked since the C_LABEL() got in. 2001-09-06 06:24:17 +00:00
thorpej b6783070d6 Don't require tp->t_dev to be filled in in cold_sccparam(). 2001-09-06 06:18:40 +00:00
thorpej 6203b547a5 Garbage-collect all the (outdated and totally useless) pmax stuff
in this code.
2001-09-06 05:31:49 +00:00
nathanw 2b5671fb41 The return address register ($ra) is callee-saved, not caller-saved. 2001-09-05 20:12:53 +00:00
thomas 42f770df19 Make the bootblocks build with ELF assembler. 2001-09-05 19:48:12 +00:00
matt ff5f5ea027 Don't compile SPL/INTR stuff if NEWINTR is defined. 2001-09-05 17:08:41 +00:00
matt 779b9b4649 Fix some register definitions. 2001-09-05 17:05:36 +00:00
matt 2df33a5b6b Add a NEWINTR option to reflect the new interrupt/spl being implemented in
evbarm.
2001-09-05 17:00:20 +00:00
matt 0b5b9ca90e Change <machine/irqhandler.h> to <machine/intr.h>. Change
{irq,fiq}handler_t to struct XXXhandler
2001-09-05 16:23:10 +00:00
matt 792b7ebd13 Change <machine/irqhandler.h> to <machine/intr.h> since the latter always
includes the former and is a standard include file.
2001-09-05 16:17:35 +00:00
matt c9fd88afcf Don't clean the minidata cache by default on XScale. 2001-09-05 16:14:49 +00:00
matt 4370f884b2 Flesh XSCALE support. 2001-09-05 16:13:18 +00:00
matt 78944c67e3 Add an obio bus. 2001-09-05 16:12:36 +00:00
sato 3198fedb64 add VR4131 infomation. 2001-09-05 16:08:46 +00:00
sato 4891a8aac2 add more battery event. 2001-09-05 15:46:52 +00:00
sato e085d9eae5 add option VR4131 2001-09-05 15:46:10 +00:00
tsutsui 38c6005c47 obio_find_mapping() takes PA. (missed in the previous commit) 2001-09-05 14:26:08 +00:00
tsutsui 1abb4c9be6 bcopy() -> memcpy(), bzero() -> memset() 2001-09-05 14:18:10 +00:00
tsutsui fa5d9f83c2 bcopy() -> memcpy(), bzero() -> memset() 2001-09-05 14:03:48 +00:00
tsutsui 714fc1c519 - bcopy() -> memcpy(), strcpy()
- bcmp() -> (static inline) ether_cmp()
- 6 -> ETHER_ADDR_LEN
2001-09-05 13:55:27 +00:00
tsutsui 0427bd63a4 Remove register prefixes. 2001-09-05 13:35:30 +00:00
tsutsui fb91456ba6 vm_offset_t -> vaddr_t 2001-09-05 13:31:36 +00:00