Commit Graph

49903 Commits

Author SHA1 Message Date
ichiro a700fb7088 add product
Symbol Spectrum24 LA4100 Series CF-size WaveLAN card
2001-09-17 07:44:33 +00:00
simonb 1bc6516acc Only define _BSD_WCHAR_T_ once. 2001-09-17 05:40:38 +00:00
briggs 5301d28a1c Patch to handle odd behavior from exar ST16C1550 UART. It does not set
IIR_NOPEND if the TXRDY condition is true.  Apparently, other chips do
not take TXRDY into account in the IIR_NOPEND case.

Also remove useless assignment (iir = IIR_NOPEND;) in one case.

No response from patch posted on tech-kern 29Aug2001.
2001-09-17 02:47:13 +00:00
ragge 482334fa14 Add bus_space_mmap(). 2001-09-16 20:39:02 +00:00
thorpej 75fc05bc1e agp_generic_bind_memory(): Don't return NULL if we can't malloc
memory, return ENOMEM.
2001-09-16 18:33:08 +00:00
yamt 4242cee2bd make ugen use updated frlengths. 2001-09-16 18:06:32 +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
chs 9699742484 make LFS work again. 2001-09-16 13:57:56 +00:00
jdolecek 68aacb8f70 add softdep_reinitialize() stub 2001-09-16 13:51:45 +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
pooka 4d3a8df544 fix tyop (literally)
clockctlh. -> clockctl.h
2001-09-16 12:52:34 +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
bjh21 0f810d8948 eco_input():
Use m_copydata() to preserve the Econet header, so we don't depend on
  notionally-unused areas of an mbuf remaining untouched.
  Check that ARP-over-Econet requests are exactly eight bytes long.
  Use m_pullup() before trusting mtod().

Between them, these make reception of unicast ARP responses work properly.
2001-09-16 12:16:50 +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
jmc b16bfaf57b Add prototype for ntp_adjtime1 2001-09-16 09:55:52 +00:00
jmc 87a006a7de Fix issues areound compilation errors (ntv is a pointer in adjtime1 and needs
-> rather than . access and adjtime1 needs the syscall args passed in)
2001-09-16 09:55:26 +00:00
jmc 5f4c074523 Re-alphabetize list 2001-09-16 09:52:08 +00:00
manu 531c050261 Added missing include for clockctl.h 2001-09-16 09:00:42 +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
martin 7ac197f6e6 Fix typo in comment. 2001-09-16 08:49:50 +00:00
manu dbf45befa3 Added the clockctl pseudodevice driver 2001-09-16 07:33:31 +00:00
manu 24838b2b54 Enabled the clockctl device for macppc, major 61 2001-09-16 07:21:32 +00:00
manu a7455445c4 Added the clockctl device 2001-09-16 07:20:29 +00:00
manu 3d54fc0e8a Added prototypes declarations for lower part of root-only time-related
system calls. This is the the clockctl pseudosriver
2001-09-16 07:14:15 +00:00
manu 5a8892e22d This is the clockctl pseudodevice. It gives non root users access to root-only
time-related system calls through ioctls. For instance, if user daemon is able
to write to /dev/clockctl, then it is able to use the CLOCKCTL_SETTIMEOFDAY
ioctl on it, which will be equivalent to a settimeofday.
Approved by Christos
2001-09-16 06:53:54 +00:00
manu adb22920bc Split root-only time-related system calls so that we have an upper part, that
checks root privs, and a lower part that does the actual job. The lower part
will be called by the upcoming clockctl driver. Approved by Christos
Also fixed a few cosmetic things
2001-09-16 06:50:06 +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
thorpej fe8546c37d AGP registers are in memory space on the AMD-751. 2001-09-16 03:42:12 +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
eeh 345c4a7b0d Driver for Sun GEM gigabit ethernet, Sun ERI 10/100, and Apple GMAC. 2001-09-16 00:11:41 +00:00
bjh21 56536d5190 econet_inputframe: Check the header of each frame, and its length, to ensure
it looks like what we expect.  This should help detect frames garbled by the
interface driver.
2001-09-15 23:03:11 +00:00
chs 3638545406 move include of header only needed for kernel down inside ifdef _KENREL. 2001-09-15 22:44:09 +00:00
chs 5f5ac77eff add a forward decl for struct vm_page. 2001-09-15 22:38:40 +00:00
chs 099a6b5258 interfaces and structures used by new genfs_{get,put}pages(). 2001-09-15 21:33:05 +00:00
chs 02464e8394 bump to 1.5Y: vfs_reinit, massive UVM/UBC/filesystem changes. 2001-09-15 20:48:27 +00:00
chs d9faf4d4e7 regen 2001-09-15 20:37:36 +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
chs 3fb05f05f8 use a for loop instead of goto. 2001-09-15 18:20:53 +00:00
thorpej 02951c2ac6 agpopen(): check for NULL softc before dereferencing it. 2001-09-15 18:03:35 +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
yamt 1f460cfc38 make it compile when defined(USB_DEBUG)&&defined(SCSIPI_DEBUG)&&!defined(SCSIDEBUG) 2001-09-15 16:47:41 +00:00
chs 5d3eefe245 use pools for allocating most softdep datastructures. since we want to
allocate memory from kernel_map but some of the objects are freed from
interrupt context, we put objects on a queue instead of freeing them
immediately.  then in softdep_process_worklist() (which is called at
least once per second from the syncer), we process that queue and
free all the objects.  allocating from kernel_map instead of from kmem_map
allows us to have a much larger number of softdeps pending even in
configurations where kmem_map is relatively small.
2001-09-15 16:33:53 +00:00
yamt 46f9dd9228 correct debug messages. 2001-09-15 16:16:27 +00:00
chs adf5d360a7 add a new VFS op, vfs_reinit, which is called when desiredvnodes is
adjusted via sysctl.  file systems that have hash tables which are
sized based on the value of this variable now resize those hash tables
using the new value.  the max number of FFS softdeps is also recalculated.

convert various file systems to use the <sys/queue.h> macros for
their hash tables.
2001-09-15 16:12:54 +00:00
uch 17d54b69e0 remove unused font_clB8x8_data[]. 2001-09-15 15:27:59 +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
chris b9335fd2c8 Regen 2001-09-15 13:13:53 +00:00
chris f80b0e499b Add voodoo 4/5 entry for 3DFX. 2001-09-15 13:11:42 +00:00
drochner 9ac7c1121f normalize error message if agp_map_aperture() fails 2001-09-15 13:01:44 +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
thorpej c1e6d1c91f Use bus_space_mmap() to mmap the aperture. 2001-09-15 00:52:15 +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 1877683f2b HITACHI PERSONA keymap. patch by KIYOHARA Takashi. 2001-09-14 17:22:52 +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
thorpej 915af95ac0 Gather information about the mappable regions of the card at
attach time.  Allow access to these regions in vga_pci_mmap().

Note: we also have to allow access to the legacy ISA "hole" in
vga_pci_mmap(), since the X server needs to be able to read
the legacy BIOS on many cards.

XXX Need to address the PCI Expansion ROM.

Based on changes from Simon Burge <simonb@wasabisystems.com>.
2001-09-14 16:54:20 +00:00
martin 6f67510515 Give the cards a bit more time for initialization (closes PR 13947)
and add product IDs for two 3C509 TP variants (closes PR 13948).
Both changes from Christian Groessler.
2001-09-14 13:46:42 +00:00
martin ffd70ffedb Add product IDs for 3com 3C509 TP cards.
From Christian Groessler in PR 13948.
2001-09-14 13:41:29 +00:00
drochner 9771bc6656 -plug some resource leaks
-don't clear memory ranges on "release"

The X server survives a screen switch now.
2001-09-14 12:09:14 +00:00
drochner f53f5d923d make the hardware cursor work 2001-09-14 12:05:03 +00:00
ad 6e9cae3be0 Zero out uninitalized fields in the freshly allocated zs_chanstate. 2001-09-14 11:58:39 +00:00
msaitoh 9cd1fceecc remove obsolete file 2001-09-14 11:39:39 +00:00
thorpej 5b09c93a50 Add ioctl and mmap entry points for PCI VGA. ioctl provides
passthrough for PCI config space read/write.  mmap currently
returns error (to be addressed in a future revision).
2001-09-14 06:46:08 +00:00
simonb 999cfd0c61 Fix tyop. 2001-09-14 06:09:42 +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
thorpej be6841f414 Oops, didn't intend to enable pcimmap() yet. 2001-09-13 22:00:58 +00:00
thorpej 62a1f0bdde Add cdev_pci_init(). 2001-09-13 21:59:21 +00:00
thorpej 76aa38a6aa Install pcidevs.h, pcidevs_data.h, pciio.h, pcireg.h. 2001-09-13 21:52:30 +00:00
thorpej 23763f2f28 Add an ioctl interface to the PCI bus. Add ioctls to read/write
PCI configuration space registers, and to fetch bus info.
2001-09-13 21:49:40 +00:00
thorpej 829747c527 Allow this file to be used in userspace, as well. 2001-09-13 21:42:57 +00:00
bjh21 2aa509fcfb Remember to call eco_input() for incoming broadcasts. 2001-09-13 19:19:21 +00:00
thorpej a3dfe45752 ANSI'ify. 2001-09-13 18:25:45 +00:00
bjh21 3f063023fa Add routing boilerplate to eco_output, verbatim from ether_output.
Update copyright notice to include UCB in consequence.
2001-09-13 18:01:34 +00:00
drochner 875a8b9cee -allocate DMA maps as large as necessary in the worst case
-Add a really bad hack: The X server (4.1.0 afaict) appearently overwrites
 the PGTBL_CTL which contains the base address of the pseudo-GATT.
 Restore the original value if we notice this happened.
The X server works now, but only with soft cursor.
2001-09-13 16:18:53 +00:00
drochner e52f69d4e2 -allocate DMA maps as large as necessary in the worst case
-allocate space for DMA segments as much as necessary
-fix format warnings in a debug output
-don't try to access AGP capability stuff in the PCI config header
 if it doesn't exist (as on the i810)
2001-09-13 16:14:16 +00:00
tshiozak 1a1c09790a add power hook to PS/2 mouse driver; some mobile PCs has
unstable pointer, it arbitrarily awake the machine from standby state.
to prevent it, we need to stop the mouse controller before sleeping.
2001-09-13 14:16:12 +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
itojun bf45c09959 fix SA lookup when IPsec transport mode and tunnel mode over IPv6 is used
at the same time.  sync with kame
(like "IP AH ESP IP", policy = "esp/tunnel/a-b/use ah/transport//use")
2001-09-13 06:30:57 +00:00
enami 750c07de04 Pass the correct pointer to atapibusprint(). 2001-09-13 06:27:23 +00:00
enami 163c9dd7c1 Defopt CALLWHEEL_STATS. 2001-09-13 05:22:16 +00:00
enami c98d856a2f Wrap long lines. 2001-09-13 05:19:53 +00:00
manu dea90b1ed2 Linux emulation is no longer experimental, removed comment 2001-09-12 21:05:37 +00:00
eeh 0d30ddb30a Properly initialize sc->sc_bustag and sc->sc_dmatag; 2001-09-12 20:09:53 +00:00
eeh 317da99cfe Properly initialize sc->sc_bustag. 2001-09-12 19:35:35 +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
thorpej 050e9de009 Use callouts for SYN cache timers, rather than traversing time queues
in tcp_slowtimo().
2001-09-11 21:03:20 +00:00
chs 0f63dc99dc replace pmap_enter() with pmap_kenter_pa() where appropriate. 2001-09-11 20:37:12 +00:00
onoe a939e73e00 Add definition of mask/shift for seqence/fragment in sequence control field. 2001-09-11 12:25:18 +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
pk 88dc67b3e1 The `ESC' DMA chip must be reset before we can access the esp registers. 2001-09-11 10:50:52 +00:00
chs e5c9089c28 fix typo. 2001-09-11 07:30:51 +00:00
pk 828bc6ebb3 Move some logic from dma_start() to dma_setup(); inspired by the sun3 si version. 2001-09-11 07:03:56 +00:00
augustss 8a0aea16c1 Don't go top mode OPERATIONAL (before reset) on startup even if BIOS claims to
have initialized the controller.
2001-09-11 07:00:19 +00:00
simonb 237596d77d Install agpio.h. 2001-09-11 06:53:59 +00:00
fvdl 71fb506f0b Fix i810/other intel chipsets attach mishap. 2001-09-11 06:51:47 +00:00
fvdl 6b43a561dd Don't forget to install the pointer to the chip-specific chipc. 2001-09-11 06:30:38 +00:00
eeh 93b54eb36a Implement pmap_growkernel(). 2001-09-11 04:35:43 +00:00
thorpej 16c229ea7c Optimization suggested by Bill Sommerfeld: Keep a hint as to the
"earliest" firing callout in a bucket.  This allows us to skip
the scan up the bucket if no callouts are due in the bucket.

A cheap O(1) hint update is done at callout insertion (if new callout
is earlier than hint) and removal (is bucket empty).  A thorough
refresh of the hint is done when the bucket is traversed.

This doesn't matter much on machines with small values of hz
(e.g. i386), but on systems with large values of hz (e.g. Alpha),
it has a definite positive effect.

Also, keep the callwheel stats in evcnts, so that you can view them
with "vmstat -e".
2001-09-11 04:32:19 +00:00
bjh21 768c591f5d Add eco and eca. 2001-09-10 23:49:21 +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
bjh21 52b3d56b11 Add MI Econet support. This is lacking any interfaces to higher-layer
protocols, and lacking any timeouts, but it basically works, doing four-way
handshakes in both directions and incoming Machine Peek operations.

Oh, and Econet is Acorn's ancient, proprietary 500kbit/s networking
technology.
2001-09-10 23:11:05 +00:00
chris 70907ad742 Add stubs for mmap to footbridge, must implement proper mmap real soon. 2001-09-10 23:05:19 +00:00
thorpej 4745c7f252 Update copyrights. 2001-09-10 22:45:46 +00:00
thorpej 6d0e813f6c Use callouts for TCP timers, rather than traversing the list of
all open TCP connections in tcp_slowtimo() (which is called 2x
per second).  It's fairly rare for TCP timers to actually fire,
so saving this list traversal is good, especially if you want
to scale to thousands of open connections.
2001-09-10 22:14:26 +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
thorpej 413e5cb878 Initialize TCP timer variables in a new function, tcp_timer_init(). 2001-09-10 20:36:43 +00:00
thorpej 3d9c42775e Add explicit initialization of TCP timer state. A noop right now. 2001-09-10 20:19:54 +00:00
thorpej 45e02f5ee8 Split tcp_timers() into multiple functions, one for each timer,
and call it directly from tcp_slowtimo() (via a table) rather
than going through tcp_userreq().

This will allow us to call TCP timers directly from callouts,
in a future revision.
2001-09-10 20:15:14 +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
thorpej 7446fd2bc8 Change the way receive idle time and round trip time are measured.
Instead of incrementing t_idle and t_rtt in tcp_slowtimo(), we now
take a timstamp (via tcp_now) and use subtraction to compute the
delta when we actually need it (using unsigned arithmetic so that
tcp_now wrapping is handled correctly).

Based on similar changes in FreeBSD.
2001-09-10 15:23:09 +00:00
eeh 7c233db184 Regen. 2001-09-10 15:09:48 +00:00
eeh 16d8807932 Add Sun GEM gigabit network card. 2001-09-10 15:07:50 +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 377864623b Fix reversed if condition in agp_i810_vgamatch. 2001-09-10 12:51:42 +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 f21020c1e6 Add M_AGP type. 2001-09-10 10:09:36 +00:00
fvdl 639a4315f4 Add extra initializer macro. 2001-09-10 10:09:13 +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
fvdl ac50343c76 Add a pci_find_device function, to find a PCI device using a match
function on all (probed) PCI buses:

int     pci_find_device(struct pci_attach_args *pa,
                        int (*match)(struct pci_attach_args *));

The pci_attach_args structure pointed to by pa is filled in if the
device is found, and 1 is returned. Otherwise 0 is returned.

This function is, unfortunately, needed by the i810 agp code. It's
also of use for LKMs.

Also frob pci_probe_bus to take 2 extra args when used by pci_find_device.
2001-09-10 10:04:49 +00:00
fvdl a3130cfbe2 AGP GART support code. Originally written by Doug Rabson for FreeBSD,
modifications to fit it into the NetBSD device/config structure and
to use bus_dma by me.
2001-09-10 10:01:00 +00:00
msaitoh 78db8b9715 add missing check for framing error 2001-09-10 08:50:33 +00:00
drochner 4aaab20b38 remove all traces when a font is removed 2001-09-10 07:29:54 +00:00
itojun 1c48caeb1e fix IPv4 fragment handling in the classifier.
report and fix by "Paul Koster" <list@kosteronline.net>
sync with kame
2001-09-10 06:34:57 +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
thorpej 7a89a34393 Enable Congestion Window Monitoring by default. 2001-09-10 04:43:35 +00:00
thorpej 783db90019 Use a callout for the delayed ACK timer, and delete tcp_fasttimo().
Expose the delayed ACK timer as net.inet.tcp.delack_ticks.
2001-09-10 04:24:24 +00:00
itojun 080d73b4a3 minor style 2001-09-10 03:08:18 +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
chs 2133049a7c create a new pool for map entries, allocated from kmem_map instead of
kernel_map.  use this instead of the static map entries when allocating
map entries for kernel_map.  this greatly reduces the number of static
map entries used and should eliminate the problems with running out.
2001-09-09 19:38:22 +00:00
perry fe9074d8dc boost maximum MAXUSERS to 128 2001-09-09 18:36:36 +00:00
assar 41f102fe0e install miscfs/syncfs/syncfs.h 2001-09-09 17:42:46 +00:00
bouyer a4638cc6d5 Properly initiatize sc->sc_wdcdev.set_modes for non-DMA controllers. 2001-09-09 16:08:49 +00:00
taca 9b6c5002eb Add including <stdio.h> for compiling in user land.
This should fix compile error (really warning) in src/regress/sys/crypto/des.
2001-09-09 15:52:57 +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 6b3afc53e0 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:03:59 +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 ba91e134c8 Fix sample code in comment; pci_conf_print() takes three arguments. 2001-09-09 01:45:29 +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
enami a1eef7d6a4 Cosmetic changes. 2001-09-09 00:32:52 +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
christos fdad5eb59c Don't trash the ref count of cred. It causes a memory leak. 2001-09-08 15:34:06 +00:00
fvdl 2c344fe7d9 Allow the old-style sockaddr_in6 for v6 addresses for which the
scope id is irrelevant. Makes netscape6 for Linux work again,
which uses v4-mapped addresses to connect to v4 sites.
2001-09-08 14:19:09 +00:00
chuck 1c06d68731 only include opt_compat_43.h if _KERNEL_OPT defined so lkm compiles 2001-09-08 13:23:09 +00:00
chuck b8a7c35e58 vax1k_subr.c is gone 2001-09-08 13:19:50 +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
manu 421be662fc Forgotten file in my last commit for removing PowerPC mmap hack in Linux
emulation
2001-09-08 07:13:04 +00:00
manu 6bbacb9d3f Removed a hack to make PowerPC mmap work. This could have side effects on
alpha and i386. It has been tested and works on i386.
2001-09-08 07:09:43 +00:00
wiz 08d1db8111 Fix typo in variable name. 2001-09-08 02:35:25 +00:00
christos f556e46298 Hijack the credentials used to evaluate access, to avoid a potential lwp
race by modifying the proc's credentials temporarily. From Bill Sommerfeld.
Thanks for forcing me to do this right :-)
2001-09-08 02:05:39 +00:00
christos 51d673156c Set the credentials to be used in the NDINIT macro so that syscalls can
hijack them.
2001-09-08 02:02:04 +00:00
rafal ece8acc29b Make the ARCS console work again, by initializing the dev_t on arcbios init
rather than in the open entry point (where it's too late for cnopen).  Being
checked in from my Indy using the ARCS console on the graphics display.
2001-09-08 01:39:11 +00:00
thomas f34c1c216e Return a useful exit status. 2001-09-07 23:09:36 +00:00
drochner e6a8d37fdd concentrate screen initialization into vga_init_screen() where it belongs 2001-09-07 17:10:13 +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
mrg 18b82a6732 make this "MI"; nothing different between this and the SPARC version. 2001-09-07 15:50:49 +00:00
haya c14e80bd30 Bugfix: re-order buffers when they are released. 2001-09-07 11:04:35 +00:00
tsutsui 66187ea9e9 Fix function names in panic messages. 2001-09-07 10:35:59 +00:00
itojun bc9095e4c7 make CMSG_FIRSTHDR() validat emsg_controllen, as suggested in RFC2292.
from kame
2001-09-07 08:13:01 +00:00
lukem 53156d96d0 let user know current value of MAX_KMAPENT in panic 2001-09-07 00:50:54 +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
fredette 7aaa6a4bc4 On the 68010, don't bother with the by-8-longwords loop, instead
only 16-bit align the region and use loop mode with longwords
to do the bulk of the work.

On the 68020+, fixed an optimization bug where all regions that start
on odd addresses would not be properly longword aligned.
2001-09-06 21:30:15 +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
augustss 0ef77d096d Regen. 2001-09-06 11:45:55 +00:00
augustss 7eed4a548d Add a Todos smartcard reader. 2001-09-06 11:45:33 +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