Commit Graph

28875 Commits

Author SHA1 Message Date
mycroft 5f63cab877 The page and section fault handling paths are essentially identical, so
combine them.  This also fixes a performance issue, in that we always
faulted pages twice in order to write them.
1999-03-23 18:02:02 +00:00
wrstuden a7678930b4 Oops. mac68k does NOT use PCLK as a clock source, so don't enable it in
the default channel setup.
1999-03-23 17:55:03 +00:00
mycroft 79e56d3237 The ARM has the same copy-on-write bug as the i386 -- the write enable bit in
PTEs is ignored when in kernel mode.  Hack around this just like we do on the
i386, by adding a prepass to copyout() to check for write permission on the
destination pages.
1999-03-23 17:14:34 +00:00
drochner 5575305f99 If no screen got the "focus" (which happens with serial console or if
the current screen is deleted), automatically give focus to the next
screen created. Saves the need to switch to a usable screen manually.
1999-03-23 15:56:56 +00:00
minoura 87c8a7e347 u?vm_page_physload args are in page. 1999-03-23 15:55:43 +00:00
christos f36829e285 s/DEBUG/LDT_DEBUG/ This got too verbose when running Wine. 1999-03-23 15:48:19 +00:00
kleink 6558e04aea Translate _PC_FILESIZEBITS. 1999-03-23 14:57:00 +00:00
mycroft 8f3d31a32b More cleanup...
* Don't bother pulling PT_M and PT_H bits from pv_flags; they can't ever be
  set there!
* Actually make pmap_clear_reference() do something useful.
* Also set the referenced bit (PT_H) when emulating a write fault.
1999-03-23 13:52:48 +00:00
mycroft da99fe308e Repeat after me:
If we're doing modified bit emulation, we must revoke write permission in
pmap_clear_modify().  This is non-negotiable.  I will revoke write permission
in pmap_clear_modify(), or suffer the wrath of a thousand bricks.
1999-03-23 13:27:48 +00:00
mycroft 3c8512dbb5 We could not possibly have been updating the pv attributed correctly in
pmap_enter(), so... make the obvious change.
1999-03-23 12:30:45 +00:00
pk b0de87c45f To clear a chunk of bus memory use bus_space_set_regionN(). 1999-03-23 12:01:45 +00:00
lukem 8a931fcdd8 Ensure that you can only bind a more specific address when it is done by the
same uid or by root.

This code is from FreeBSD. (Whilst it was originally obtained from OpenBSD,
FreeBSD fixed it to work with multicast. To quote the commit message:
    - Don't bother checking for conflicting sockets if we're binding to a
      multicast address.
    - Don't return an error if we're binding to INADDR_ANY, the conflicting
      socket is bound to INADDR_ANY, and the conflicting socket has
      SO_REUSEPORT set.
)
1999-03-23 10:45:37 +00:00
itohy e4d7e0a023 Update to OSF/1 V4. 1999-03-23 09:19:25 +00:00
dbj c1824c37af more minor changes, mostly in minor tweaks to debuggin output.
tweaks to handling dmasize != dmalen correctly.
changed minimum dma segment length for tail buffer.
1999-03-23 08:42:39 +00:00
gwr c19324e6bb Fix prototype mismatch. 1999-03-23 05:54:11 +00:00
minoura 86ecebe5e8 Move high-memory detect routine.
This seems to fix the problem that it hangs up on 040turbo without
high-memory.
1999-03-23 04:18:50 +00:00
thorpej 9d49c8139a Regen; pread(2) and pwrite(2). 1999-03-23 03:01:48 +00:00
thorpej e8a3256e7f Add support for emulating the Linux pread(2) and pwrite(2) system calls;
just call the native NetBSD versions.

PR #7202, Jaromir Dolecek <dolecek@ics.muni.cz>.
1999-03-23 03:00:51 +00:00
thorpej 845b609f97 Set the high water mark on the mbuf cluster pool to NMBCLUSTERS. 1999-03-23 02:51:27 +00:00
thorpej 9614a68c70 Fix the order of arguments to roundup(). 1999-03-23 02:49:03 +00:00
pk 54ae4d24b8 Call bus_dma_[un]load() at splbio. 1999-03-23 00:38:15 +00:00
pk c3eb74e089 Check for Sbus slave access errors.
Call bus_dma_load() with elevated priority.
1999-03-23 00:32:27 +00:00
thorpej 63b6321834 VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES. 1999-03-23 00:31:59 +00:00
pk d86e93c62a Fix promiscuous modes - patches from Jason Wright. 1999-03-23 00:27:09 +00:00
bad fee4297b62 Add IBM and 3COM ISA Token-Ring drivers. 1999-03-22 23:43:30 +00:00
bad 8bb131360c Appease GCC.
#ifdef FreeBSD some debug code as is done if if_fddisubr.c.
1999-03-22 23:14:14 +00:00
bad a4e508928f Oops. RcsID police. 1999-03-22 23:01:36 +00:00
bad e09c06e04d Regen. 1999-03-22 22:36:49 +00:00
bad 579b0fce1b Recognise IBM and 3COM Token-Ring PnP cards and associate them with the tr
driver.
1999-03-22 22:36:10 +00:00
bad ce0465b40f config(8) glue for Token-Ring and TROPIC drivers. 1999-03-22 22:33:35 +00:00
bad a5283c98c0 Add support for Token-Ring source routes in the ARP cache.
By Onno van der Linden.
1999-03-22 22:30:42 +00:00
bad b6163c625a Add LLC_SNAPFRAMELEN. 1999-03-22 22:29:27 +00:00
bad ab3f3172c5 Add ARPHRD_IEEE802. 1999-03-22 22:28:40 +00:00
bad 76c3e33738 Add if_token.h to INCS. 1999-03-22 22:27:41 +00:00
bad a8e47bd29b Add TLINK_619_POLY. 1999-03-22 22:26:27 +00:00
bad 52c3a56a05 Support routines for Token-Ring network drivers.
By Onno van der Linden.
1999-03-22 22:22:52 +00:00
bad 2c16793ee5 Chipset driver for TROPIC based Token-Ring cards.
Frontends for IBM and 3COM ISA cards.

By Onno van der Linden <onno@simplex.nl>.
1999-03-22 22:21:26 +00:00
thorpej f2a91c9b91 Put back the code to log `mb_map full' that was lost when mbuf clusters
were converted to use the pool allocator.
1999-03-22 22:06:58 +00:00
is 2ccf15e5f3 53c810A identification 1999-03-22 19:30:57 +00:00
kleink 9ee75a4fcc Add _PC_FILESIZEBITS to pathconf vnop. 1999-03-22 19:21:07 +00:00
kleink 61c3516908 Introduce _PC_FILESIZEBITS. 1999-03-22 19:14:22 +00:00
kleink 4d282292e2 Introduce EOVERFLOW. 1999-03-22 19:03:38 +00:00
garbled f124765044 More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Many more to
come.
1999-03-22 18:25:43 +00:00
drochner b2c812d776 set "fontset" variables to 0 if no appropriate font was found for a
freshly allocated screen, should fix panic if "vga_mapchar()" it
attempted later
1999-03-22 18:24:23 +00:00
sommerfe 098b6f8e8a Disallow descriptor-passing of descriptors which are open on
directories which aren't under the recipient's root.

Clean up of many error conditions involving descriptor passing, to
eliminate infinite loops, panics, premature garbage collection of
sockets, and descriptor leaks:
 - Avoid letting unp_gc() see descriptors with a refcount of zero by
removing them from the socket's queue before releasing them.
 - Avoid socket leak in PRU_ABORT (this will also gc descriptors queued
on a not-yet accepted socket when the accepting socket goes away).
 - Put in block comment explaining how unp_gc() should work.
 - Correctly manage unp_defer count so we don't get stuck in an infinite
loop with nothing to do.
 - Don't tie MARK and DEFER bits so closely together.
 - Mark descriptors queued on not-yet-accepted sockets as well.
 - Don't call sorflush on non-socket, it doesn't work very well.
 - Deal with discard of NULL file pointer.
 - Hopefully cause GC to converge faster by only deferring sockets in
unp_mark().
1999-03-22 17:54:38 +00:00
sommerfe 2f0f84b8e8 bug fix to fdavail: be consistent about taking per-process descriptor
limit into account when checking against the limit; fdp->fd_nfiles may
be greater than the current descriptor limit, and there may be space
in fdp->fd_ofiles beyond the limit.  If we say it's available,
unp_externalize will get confused and panic when fdalloc fails.
1999-03-22 17:39:44 +00:00
sommerfe 166f97ecf3 Use regular system fchroot, now that we have it. 1999-03-22 17:30:37 +00:00
sommerfe 5effda814f Use standard system fchroot instead of emulation-specific copy. 1999-03-22 17:28:21 +00:00
sommerfe 36dc99adac vinvalbuf, called from vclean, could cause a locking-against-self
deadlock in VOP_FSYNC() if the unreferenced vnode picked for
reclamation happened to be stacked on top of a vnode the process
already had locked.  This could happen if the same filesystem was
accessed both through a union mount and directly; it seemed to happen
most frequently when the direct access was through NFS.

Avoid this deadlock by changing vinvalbuf to pass a new FSYNC_RECLAIM
flag bit to VOP_FSYNC() to indicate that a reclaim is in progress and
only a `shallow' fsync is necessary.

Do nothing in *_fsync() in umapfs, nullfs, and unionfs when
FSYNC_RECLAIM is set; the underlying vnodes will shortly be released
in *_reclaim and may be reclaimed (and fsync'ed) later.
1999-03-22 17:24:19 +00:00
sommerfe 6d0f67d6aa Regen files based on changes to syscalls.master, vnode_if.src (latter
was changes to comments only, but..)
Build vfs_getcwd.c as standard part of kernel.
Add implementation of fchroot(), since two emulations already had it.
Call vn_isunder() in fchdir(), chroot(), and fchroot() to make it harder
to escape chroot().
1999-03-22 17:13:34 +00:00
sommerfe 095cd96cd5 Change namei cache to record vnode->(parent,name) entries (for directories).
Add kernel implementation of getcwd() which uses this cache, falling
back to reading the filesystem on a cache miss.
Along for the ride: add new VOP_FSYNC flag FSYNC_RECLAIM indicating
that a reclaim is being done, so only a "shallow" fsync is needed.
1999-03-22 17:01:55 +00:00
sommerfe 75fb6d661f Include some comments with more details on the VOP_LOOKUP locking protocol 1999-03-22 16:57:37 +00:00
sommerfe d48e548abb defopt WSDISPLAY_DEFAULTSCREENS 1999-03-22 16:50:54 +00:00
mycroft 330c5ea7a2 Create DMA maps at open time. 1999-03-22 14:54:01 +00:00
mycroft 9e4bd01bff Make sure we clean up any DMA maps if the open fails. 1999-03-22 14:38:02 +00:00
mycroft 41d5307e95 One minor change to previous. 1999-03-22 14:32:59 +00:00
mycroft f887d74c45 Nuke sc_iooffs from orbit. This is exactly what bus_space_subregion() is for. 1999-03-22 14:29:14 +00:00
mrg 8fcaa99d1b KNF nits. 1999-03-22 13:08:51 +00:00
mark f88d8c6a35 In the light of PRs 7122 & 7123 temporarily define __SWAP_BROKEN until
the problem these bug reports described is fixed and they are closed.
1999-03-22 10:24:04 +00:00
mark 34a92d6f82 Fix addressing problem for the aux status register. Whilst reads of this
read appear to be aliased in the address space, writes are not thus the
correct address is important in order to reset drives.
1999-03-22 10:14:12 +00:00
mycroft 6ada3afd8b Reject variant numbers which are too large (so that a new version of isapnpdevs
with an old driver will not lose mysteriously).
1999-03-22 10:00:09 +00:00
mycroft 2cccf3bd4a Update callers of isapnp_devmatch(). 1999-03-22 09:44:12 +00:00
mycroft cbd5623c72 Add support for switching Aztech chips into WSS mode. 1999-03-22 09:43:12 +00:00
mycroft 86d586012a Regen. 1999-03-22 09:41:58 +00:00
mycroft 8e0df99c1e Add variants numbers, and Aztech AZT2320 bindings. 1999-03-22 09:41:10 +00:00
mycroft 77274e73c6 Add a `variant number' to the tables, so we can handle slight variations in
the chipset without doing something substantially more gross.
1999-03-22 09:38:57 +00:00
ross be177a7fd4 PCI: +bha
+en
	+ex
	+fxp
	+le
	+pcscp
MII:	+exphy
EISA:	+ahb
	+uha
1999-03-22 09:19:57 +00:00
ross 60fe60deaa Enable fuword(9), fuiword(9). 1999-03-22 09:17:11 +00:00
minoura c36508e32b Use bus_dma(9) for DMA bouncing.
The code is dirty.  It should be rewritten in the future.
1999-03-22 08:54:14 +00:00
chs 31839fe71d fix previous, I got carried away with cut+paste. 1999-03-22 08:44:37 +00:00
mycroft cfe7413adb Make 48KHz output work. 1999-03-22 07:58:55 +00:00
mycroft 5f6bb6237b Do the splaudio()/IPL_AUDIO hack here, too, so that MPU attachments can see
it.
1999-03-22 07:57:15 +00:00
mycroft df7eadf2d6 More PnP/audio goo. Need an Alpha joystick driver. B-) 1999-03-22 07:55:14 +00:00
mycroft 8e621ce2ee Add MIDI and sequencer devices. They seem to work, even. 1999-03-22 07:52:56 +00:00
mycroft a873302b17 Add a SonicVibes. 1999-03-22 07:51:28 +00:00
mycroft 2fba0f875b More sound cards for testing... 1999-03-22 07:50:29 +00:00
mycroft 878708a06b Adjust for MPU attachment change. 1999-03-22 07:41:36 +00:00
mycroft fd400e0ddc Add a kluge to ignore I/O and memory ranges with a size of zero, so we don't
blow up in bus_space_{map,unmap}().  At least one card uses this to `disable'
a logical device.
(XXX There's probably a better way to do this.)
1999-03-22 07:40:57 +00:00
mycroft ccbad3061c Add a mpu_isapnp attachment. 1999-03-22 07:39:33 +00:00
mycroft 97de30ff26 Several things:
* Rearrange the speed mapping table and adjust the code so that the highest
  rate can actually be used.  Previously we ended up rounding up slightly
  lower speeds and then losing because set_params couldn't set the mode
  back to the current one.
* Allow 260 as a valid I/O address, since the SB1 can be jumpered to this.
* Change the MPU-401 code so it can be attached as a separate device.
  (XXX Really, the SB code ought to just attach a subdevice itself.)
* Do not attach an OPL on the SB1.  Writing to the OPL registers at
  SB_base+0 on this card wedges my machine.
  (XXX Should we access it at 388 instead?  The Creative web site claims
  that this board *does* have an OPL2, but I haven't played with this
  extensively.)
* Allocate the SB DMA channels at open time, rather than attach time, so
  that a single DRQ can be used for multiple cards (if only one is in use
  at a given time).
  (XXX Let me tell you why this is a horrible hack.  If the ISA DMA code
  tries to allocate a bounce buffer after boot time, it will generally fail,
  because there is no contiguous memory below 16MB and the code to allocate
  contiguous pages doesn't know how to move things around.  Now, we
  shouldn't ever be using bounce buffers here, because we use
  isa_dmamem_alloc().  So we just turn off BUS_DMA_ALLOCNOW and we don't
  actually try to.  That's cool, and it even works, but isa_dmamem_alloc()
  has the same problem.  It just happens that we allocate the ring buffers
  at boot time, and whenever we reallocate them (due to the buffer size
  changing), we just deallocated the previous (contiguous) buffer, so we get
  lucky.  This is absolutely disgusting and needs to be fixed.)
1999-03-22 07:37:35 +00:00
mycroft 1337db796b Adjust the probe routine to work on chips where the mic preamp bit is shared
between register I0 and I1.
1999-03-22 07:27:46 +00:00
mycroft ee5f90d04c If bus_dmamap_create() fails, free the DMA channel. 1999-03-22 07:06:09 +00:00
eeh 2343b503e6 Need to set up the pointers properly for partial FPU register stores. 1999-03-22 06:47:01 +00:00
eeh 7fba1d4a21 Add FS_SIZE. 1999-03-22 06:45:15 +00:00
eeh f0503a65c8 Flush D$ on bypass accesses. 1999-03-22 05:35:39 +00:00
ad 3ce634a350 Added support for cursor keys, function keys and friends. kbdMapChar now
returns 'char *' to do this. Codes returned for the various keys match
what 'rcons' termcap entry expects.
1999-03-22 03:25:29 +00:00
minoura 4da31bd7f1 Use intio_debug flag variable. 1999-03-22 03:21:35 +00:00
minoura c9e79552c8 Check unit.
This bug seems to be introduced on merging the bus.h patches.
1999-03-22 03:20:51 +00:00
thorpej 49d0b5de2b Define the PPPoE Discovery and PPPoE ethertypes. 1999-03-20 03:37:52 +00:00
thorpej a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
thorpej 4c847c9dd7 Install cdefs_{aout,elf}.h 1999-03-20 01:39:54 +00:00
thorpej d3300d8006 Factor out a.out vs. ELF cdefs from the various <machine/cdefs.h> files,
and place them in cdefs_{aout,elf}.h as appropriate.  Rearrange cdefs.h
to account for this.
1999-03-20 01:39:22 +00:00
erh fc841e81b5 Get the index on the buffer (in addition to the descriptor) correct. 1999-03-19 22:43:11 +00:00
perseant 247156f4d2 Apply patch from kern/5538:
Fix group mapping so members of group 0 get other group-ids mapped as well.
Avoid rename panic by checking (*this_vp_p) against NULLVP before
dereferencing it (same change as to NULLFS some time ago).
1999-03-19 21:46:25 +00:00
is be73d82871 Yet more kernel startup debug code 1999-03-19 21:40:24 +00:00
ad 14c68aa23d Defined KEY_CAPSLOCK. 1999-03-19 18:34:01 +00:00
christos 036ec6601c Add FDC_HEADSETTLE to wait for the heads to settle timeout 1999-03-19 16:09:57 +00:00
mycroft 5b00b99bef Allow DRQ[A-C] to be used on the 1888 as well. 1999-03-19 12:40:21 +00:00
mycroft f60907c286 Regen. 1999-03-19 06:40:11 +00:00
mycroft 4e92fb2fd1 Add AudioPCI 97 (a.k.a. Creative Ensoniq AudioPCI). 1999-03-19 06:39:32 +00:00