Commit Graph

25556 Commits

Author SHA1 Message Date
drochner af9cabdaaa Add definition for highest legal LK201 keycode. 1998-09-17 19:59:30 +00:00
drochner 6f1bc2944f Adapt to keymap table format change. 1998-09-17 18:31:43 +00:00
drochner ffa2207ec9 wskbd map for LK201/LK401 1998-09-17 18:29:54 +00:00
drochner ad6d798d6a Move keyboard map from <dev/wscons/wskbdmap_mfii.h> into a _source_ file. 1998-09-17 18:21:04 +00:00
drochner 1eda36523a Add option bit which covers the delta between LK201 and LK401. 1998-09-17 18:16:39 +00:00
drochner fdfd53e5af Add end mark to list of keymaps.
XXX This file will be removed, it is only left until the USB driver
XXX got an own keymap.
1998-09-17 18:14:06 +00:00
drochner ec9b2072bb Reorganize the list of keyboard maps: no explicite length counter, use
an end mark instead. This allows to keep keymaps separate from the drivers
referring to them.
1998-09-17 18:10:53 +00:00
drochner 1a9e20e98c Define a new keyboard eveny type "all keys up". This allows to reduce
the amount of statekeeping in drivers for LK201-like keyboards, and it
might be useful to resync after resets or overflows.
(reused the unused WSCONS_EVENT_KEY_OTHER event ID)
Implement the necessary decoding bits.
1998-09-17 18:05:43 +00:00
thorpej b9a131261c Define the new sigcontext structure. 1998-09-17 04:54:51 +00:00
thorpej 2eb8e8729b Make the signal code look a bit more like the 32-bit SPARC port's. 1998-09-17 04:52:17 +00:00
thorpej a7e5b3bcce For _LP64, sigcontext must contain longs! 1998-09-17 04:51:29 +00:00
thorpej 5e8f492923 SYS_sigreturn -> SYS___sigreturn14. 1998-09-17 04:41:06 +00:00
thorpej dcb541531a Minor cosmetic change. 1998-09-17 02:33:06 +00:00
thorpej c006c7c0da Sync w/ sendsig(). 1998-09-17 02:30:02 +00:00
thorpej e5ea525b9f Slight brain'o in last. 1998-09-17 02:26:26 +00:00
thorpej 5bc9dafaee Minor cosmetic change to sendsig(). 1998-09-17 02:24:56 +00:00
thorpej cc485c1a08 Catch up with changes to signal delivery. 1998-09-17 02:01:59 +00:00
thorpej 7083b63277 Back out previous; I'm punting PowerPC to tsubai or sakamoto. 1998-09-16 23:51:27 +00:00
thorpej ef3f4d39df Need 103 longs for jmp_buf now (128-bit signal mask, at the front of the
jump buffer).
1998-09-16 23:33:18 +00:00
thorpej 3d4e54f11f Need 87 longs for a jmp_buf now (we use sigcontext, which grew). 1998-09-16 23:15:08 +00:00
thorpej 7b32475079 Define the new sigcontext structure. 1998-09-16 23:14:15 +00:00
thorpej 6385066c76 Need 13 longs for jmp_buf now; 128-bit signal mask. 1998-09-16 23:13:57 +00:00
is 95807e512a Garbage collect unused 3rd parameter to comprobe1(). 1998-09-16 21:30:58 +00:00
pk 59e5588098 Map the per-CPU counter registers into each cpu info area. 1998-09-16 13:39:48 +00:00
pk 49b5114713 Make all cpu info structures accessible through an array `cpus[_MAXNCPUS]'. 1998-09-16 13:36:23 +00:00
scottr 7aa4d4483e Revert the last change: returning COMPLETE is clearly the wrong thing to do
if we weren't polling to begin with.
1998-09-16 05:36:35 +00:00
scottr 4963603d0f Found a race in scsipi_execute_xs(): if an asynchronous transfer completes
(probably due to an interrupt) between the time it is scheduled and the
time we get around to setting the SCSI_ASYNCREQ flag, we can lose the xs.

Fix this by checking to see if the transfer has already completed after
the scsi_cmd function returns SUCCESSFULLY_QUEUED, and just return to the
caller if so.
1998-09-16 05:35:50 +00:00
thorpej 43f5b65e23 Define the new sigcontext structure. 1998-09-15 23:14:40 +00:00
thorpej a034a22862 Need 21 longs for jmp_buf now, due to 128-bit signal mask (and use
of the sigcontext structure in the jmp_buf).
1998-09-15 23:06:41 +00:00
pk cf10308f5f bootpath check needs to keep checking for two formats. 1998-09-15 20:26:25 +00:00
pk 543070847c Can't afford a 1K buffer in the data segment. 1998-09-15 20:03:50 +00:00
matt e7be3f3601 Fix a problem where txput could "lose" dmamaps if it couldn't actually
place the packet into the ring for some reason.
1998-09-15 17:26:46 +00:00
scottr 573d1d344f Add the DrHw value for the MicroConversions 2124NB II display adapter,
from Paul Goyette.
1998-09-15 16:09:44 +00:00
pk 0ad1257add sub-arch protection. 1998-09-15 13:12:25 +00:00
pk 3059ae05ba Apply patch from PR#5542: buffer overflow in lfs_markv(). 1998-09-15 10:53:22 +00:00
leo f1c16a1b25 Oops, forgot this one in the vmebus renaming (Julian Coleman). 1998-09-15 10:45:11 +00:00
matt 2633c65da5 This commit fixes two bugs in the de driver. The first is that the
descriptor count gets miscounted on txprobes.  The second (and more
important) is that transmit stalls should now be fixed.  The problem
was not due to lack of ring resources but dmamaps.  When Jason changed
the driver to use pre-allocated maps (instead of the dynamic ones I
used), and when there were no more maps, the driver just gave up instead
of calling tx_intr to free any transmitted but unreclaimed dma maps.
Since there was nothing being transmitted, no transmit interrupts
would fire to restore things (and OACTIVE prevented other transmits
from happenning).  So it stayed starved until another interrupt cause
(like a received packet) "woke" it up.
1998-09-15 02:39:03 +00:00
rvb 9187d28044 Final piece of rename cfs->coda 1998-09-15 02:02:55 +00:00
pk fb38024157 Use `swap' to install page-table entries which is recommended practice
for MP configurarions.
1998-09-14 22:45:36 +00:00
pk 1736bda754 Define `swap'. 1998-09-14 22:43:29 +00:00
thorpej dbebd9b148 Need 13 longs for jmp_buf; signal mask is 128 bits now.
XXX Actually, libc appears to use only 7 of the previous 10, so increasing
the size isn't actually necessary!  But there was a gap at the end before,
so we'll keep it.
1998-09-14 21:31:52 +00:00
hwr cf70cc28c7 Typo. :( 1998-09-14 21:15:56 +00:00
hwr 517139017e Some additions.
And IDPR-CMTP is 38 not 39 according to IANA.
1998-09-14 21:09:51 +00:00
pk 99cd371c60 Fix copyout() argument switch. 1998-09-14 21:05:46 +00:00
pk b1a2d338c9 Fix copyout() arguments. 1998-09-14 21:03:59 +00:00
thorpej e30eafbbc6 Need 29 longs for jmp_buf now; signal mask is 128 bits. 1998-09-14 18:06:01 +00:00
leo d8ea31db0f Improve initialisation of the Crazy Dots card. (Julian Coleman) 1998-09-14 14:25:38 +00:00
leo e325a47307 Fix "unused variable `c'" warning. (From Julian Coleman) 1998-09-14 11:50:59 +00:00
pk 0a46abfd42 Collect redundant code into cpu_setup(). 1998-09-14 10:37:12 +00:00
pk b1b69e4195 Fix cache bit confusion in pmap_alloc_cpu(). 1998-09-14 09:46:11 +00:00
jonathan 0b09668693 Fix typos in signal rework (sc.regs -> sc-regs, rege -> regs). 1998-09-14 07:04:06 +00:00
thorpej a4a356f9a6 Need 83 longs for a jmp_buf now. 1998-09-14 06:07:29 +00:00
scottr 0af57c2461 Correct a serious problem that affects at least front ends that can only
use PIO (or equivalent) code to do asynchronous transfers:  In
ncr5380_scsi_cmd(), test to see if the request has been completed after
the call to ncr5380_sched(), and return COMPLETE if so.  This avoids
going into an infinite loop in scsipi_execute_xs() while waiting for an
interrupt to trigger completion of the transfer... which, of course,
never happens, since it's already done.
1998-09-14 05:56:14 +00:00
scottr f2c6836685 Fix a problem uncovered when we started to use the pool allocator to manage
scsipi_xfer structures.

When scsipi_execute_xs() calls the driver's scsi_cmd function, it assumes
that it can still dereference a pointer to the scsipi_xfer struct.  Since
scsipi_done() has already been called, which in turn has called
scsipi_free_xs(), the struct has already been returned the structure to
the pool!  In other words, xs->flags has been compromised, but we are still
testing it.

These changes resolve the problem by doing the following:

- In scsipi_execute_xs(), if the hardware driver's scsi_cmd function
  returns SUCCESSFULLY_QUEUED, set a new flag (SCSI_ASYNCREQ) in xs->flags.
  Since the request will be handled asynchronously, we will need the
  scsipi_xfer struct to be freed in scsipi_done().

  If the hardware driver's scsi_cmd function returns COMPLETE, we now
  simply return any actual errors, or 0 if none occurred.  (Previously,
  we may have returned EJUSTRETURN, of which the sole effect was to
  avoid freeing the scsipi_xfer struct in our caller.)

- In scsipi_done(), only free the scsipi_xfer struct for async requests.
  The contents of the struct will otherwise remain valid until the
  function that initiated the transfer frees it.

With this change, responsibility for freeing the struct now lies in two
places, depending on the type of the request:

- For synchronous requests, the routine calling scsipi_execute_xs()
  must clean up.

- For asynchronous requests, scsipi_done() cleans up (as it always has).

[Note:  this change also corrects a problem with sddump():  scsipi_done()
was attempting to return a static scsipi_xfer struct to the pool!  Since
dumps are performed synchronously, we now handle this correctly.]

This solution was provided by Jason Thorpe, after I got him to look at
some related (but insufficient) attempts of my own.
1998-09-14 05:49:21 +00:00
scottr 10640f1bfc Fix a problem uncovered when we started to use the pool allocator to manage
scsipi_xfer structures.

When scsipi_execute_xs() calls the driver's scsi_cmd function, it assumes
that it can still dereference a pointer to the scsipi_xfer struct.  Since
scsipi_done() has already been called, which in turn has called
scsipi_free_xs(), the struct has already been returned to the pool!  In
other words, xs->flags has been compromised, but we are still testing it.

These changes resolve the problem by doing the following:

- In scsipi_execute_xs(), if the lower-level driver's scsi_cmd function
  returns SUCCESSFULLY_QUEUED and SCSI_NOSLEEP is set in xs->flags, set a
  new flag (SCSI_ASYNCREQ).  This indicates that scsipi_done() should free
  the scsipi_xfer struct.

  If the lower-level driver's scsi_cmd function returns SUCCESSFULLY_QUEUED
  but SCSI_NOSLEEP is not set, we wait (via tsleep()) for the request to
  complete, then fall through to the COMPLETE case.

  If the lower-level driver's scsi_cmd function returns COMPLETE, we now
  simply return any actual errors, or 0 if none occurred.  (Previously,
  we may have returned EJUSTRETURN, of which the sole effect was to
  avoid freeing the scsipi_xfer struct in our caller.  No code seems
  to depend on this behavior, however.)

- In scsipi_done(), only free the scsipi_xfer struct for async requests.
  The contents of the struct will otherwise remain valid until the
  function that initiated the transfer frees it.

With this change, responsibility for freeing the struct now lies in two
places, depending on the type of the request:

- For synchronous requests, the routine calling scsipi_execute_xs()
  must clean up.

- For asynchronous requests, scsipi_done() cleans up (as it always has).

[Note:  this change also corrects a problem with sddump():  scsipi_done()
was attempting to return a static scsipi_xfer struct to the pool!  Since
dumps are performed synchronously, we now handle this correctly.]

This solution was provided by Jason Thorpe, after I got him to look at
some related (but insufficient) attempts of my own.
1998-09-14 05:49:20 +00:00
thorpej 27f3588d7b oops, missed one. 1998-09-14 02:50:12 +00:00
thorpej cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
tv 058853ee30 Use WARNS=1 to get -Wall, and properly disable -Wmain on gcc 2.8 1998-09-14 00:50:22 +00:00
perry 5d0722b723 Note that kernel Makefile support for tags is totally broken. 1998-09-13 23:50:39 +00:00
tron 7010f82942 Sync with "GENERIC". 1998-09-13 23:15:46 +00:00
pk 9949f7d556 regen. 1998-09-13 22:29:06 +00:00
pk c7971c960e Signal compat: sunos sigset_t conversions;
new sunos_sigvec() & sunos_sigpending()
1998-09-13 22:28:16 +00:00
hwr 6831c842f3 The post 1.3.2 world is actually ready for this. 1998-09-13 21:39:49 +00:00
pk 459204606f Everyone uses sunos_sendsig(). 1998-09-13 21:05:35 +00:00
hwr 43c45ee409 Enable gre(4) device 1998-09-13 21:02:02 +00:00
pk ff383dc20d Add compat_13_machdep.c 1998-09-13 20:34:34 +00:00
pk 190e4c429d Move compat_13 sigreturn() into its own file. 1998-09-13 20:33:33 +00:00
hwr 366b9c4515 Add a gre tunnel pseudo network device. Gre = generic route encapsulation.
This device shows up like any other network interface and can be used to
tunnel L3 protocols as e.g. IP over IP.
1998-09-13 20:27:47 +00:00
pk 82d2ea3a70 Remove left-over SUNOS_COMPAT line. 1998-09-13 20:24:15 +00:00
pk 06612cb9f8 Since the last signal restructuring the sparc also has an sunos_sendsig(). 1998-09-13 20:20:48 +00:00
pk 9658554e18 Replace previous by something more complete. 1998-09-13 20:17:54 +00:00
pk 9d9f22fa79 Signal handling changes: sunos compat gets its own sendsig(); sunos
sigreturn() == compat_13_sigreturn().
1998-09-13 20:07:54 +00:00
eeh 52cbf86859 Looks like something else changed in signal land. 1998-09-13 16:45:43 +00:00
christos 8dfbc827ea Fix copyright mess:
- remove trailing spaces.
	- make copyrights consistent (put the date before the name).
1998-09-13 16:21:16 +00:00
eeh 49af63b22b Fixup signal changes (hopefully). However SUN_COMPAT is likely broken by
this and I don't know how to fix it.

We can now exec a 64-bit init through a really ugly hack (don't ask.)
1998-09-13 16:02:47 +00:00
christos 66dd35d72c Fix copyright spacing and 'Van' -> 'van' for consistency. 1998-09-13 15:45:40 +00:00
christos 3d10f9ca2b Fix ' ' -> '\t' 1998-09-13 15:24:39 +00:00
christos dd6e9d3e5a fix comment and copyright spacing. 1998-09-13 15:21:32 +00:00
christos 47c0716246 Fix rcsid's 1998-09-13 15:19:12 +00:00
christos 361a71f864 Fix copyright '\t' -> ' ' 1998-09-13 15:14:40 +00:00
christos 67dbe5ed36 Fix copyright typos... 1998-09-13 14:46:23 +00:00
christos f35a4d311a Regen 1998-09-13 14:45:22 +00:00
christos 34cb71bf00 Quote the backquotes in the double-quoted shell string, otherwise they
disappear and you get AS IS'' instead of ``AS IS'' in the generated files.
1998-09-13 14:44:34 +00:00
christos d758aee3a9 Fix copyright spacing. 1998-09-13 13:49:29 +00:00
christos 45935a4c8d Make copyrights consistent; remove extra trailing spaces, change reformatted
copyrights to original format, change ' ' to '\t'.
1998-09-13 13:21:37 +00:00
mycroft 06fb1b6d67 Fix pasto. 1998-09-13 12:24:18 +00:00
mycroft 4e4f120db9 Update these for signal handling changes.
XXX Not tested yet.
1998-09-13 12:13:49 +00:00
mycroft 7b15b3b56d Minor change. 1998-09-13 12:01:41 +00:00
mycroft fa31b94af9 Fix omission in previous; remember to record that we're on the signal stack. 1998-09-13 11:57:58 +00:00
pk 90054fd502 New sigcontext. 1998-09-13 11:41:02 +00:00
pk ba67f63901 Sync function prototypes; remove unsed variables. 1998-09-13 11:34:04 +00:00
mycroft ef7c8ebbe7 Oops; forgot to commit this. 1998-09-13 11:26:58 +00:00
pk b8de221a1e Pull in <sys/syscall.h> directly into locore.s 1998-09-13 11:12:36 +00:00
thorpej 4a797b8f45 Make signal delivery work again. 1998-09-13 10:29:02 +00:00
thorpej c7d391b23c Make signal delivery work again. 1998-09-13 09:15:51 +00:00
thorpej 1a5b3601cb Make signal delivery work again. 1998-09-13 08:19:49 +00:00
mycroft 38aa357963 Make sure the buffers are synchronized on open. 1998-09-13 06:30:25 +00:00
thorpej f93b23110f Regen. 1998-09-13 04:58:21 +00:00
thorpej 45431e6471 Emit syscall numbers for COMPAT_xx syscalls, too. 1998-09-13 04:57:24 +00:00
mycroft 32f42fe1e9 Make sure all voices are deallocated on close. 1998-09-13 04:41:34 +00:00
thorpej 35c106630e __LIBCxx_SOURCE__ refers to the library major number, not the NetBSD release
number.
1998-09-13 02:18:38 +00:00
thorpej 6cfadaea56 Define the number of signals supported by the old style signal mask. 1998-09-13 02:14:02 +00:00
thorpej 3ddf828326 Make signal delivery work again. 1998-09-13 01:51:29 +00:00
thorpej 6351312ff7 Fix thinko in last thinko fix. We always have to store an old style
signal mask since a 1.3 binary may attempt to invoke sigreturn(2) directly
for an alternate exit from the signal handler.  If we don't do this, it will
get a garbage signal mask if it tries to do that.
1998-09-13 01:45:04 +00:00
thorpej 7f361cc70c Prototypes for native_sigset13_to_sigset() and native_sigset_to_sigset13()
are in sys/signalvar.h
1998-09-13 01:43:17 +00:00
thorpej a0494141c5 Prototype for native_sigset13_to_sigset() is in sys/signalvar.h 1998-09-13 01:42:45 +00:00
thorpej 274c8c5f24 Put the prototypes for native_sig*_to_sig*() in one place. 1998-09-13 01:41:16 +00:00
wrstuden cd65bcf1db Regen. 1998-09-12 21:49:51 +00:00
wrstuden 0b009ef925 Add support for the OPTi Audio 16 IDE controller. 1998-09-12 21:48:57 +00:00
wrstuden 3e6930640f PnP IDE controllers can pass us the regions in any order, so make sure
that sc_ad.ioh is the 8-byte region as opposed to blindly passing it
the first region.

With this change, and a device def which will follow, the IDE controller
on my OPTi Audio 16 card works!
1998-09-12 21:40:22 +00:00
pk 875bff538c A few slight optimizations. 1998-09-12 19:50:59 +00:00
pk ad0f4a6fbb Nuke `insqeu' and `remque' 1998-09-12 19:46:00 +00:00
pk 8b7ee2cd89 Add hatching code for other CPUs. 1998-09-12 19:44:17 +00:00
matthias dfc0d8e7d5 {bzero, bcopy} -> {memset, memcpy}
add -DINSECURE to stand/Makefile.inc
1998-09-12 19:14:58 +00:00
christos 34c5a58bb4 Make copyrights consistent; fix weird/trailing spaces add missing (c) etc. 1998-09-12 17:20:02 +00:00
pk e120fa4e14 Machinery to configure multiple CPUs. All CPUs found are spun up from the
auto-configuration cpu_attach() function using the firmware.
Currently, all CPUs except the one used to boot end up in an idle loop
in locore.
1998-09-12 15:33:40 +00:00
pk 1b077ae1cd Set cache control bits according to configured preference (if any). 1998-09-12 15:08:04 +00:00
rvb 0aa47cd025 Change cfs/CFS in symbols, strings and constants to coda/CODA
to avoid fs conflicts.
1998-09-12 15:05:47 +00:00
pk 097a922a9c Add field holding the physical address of the MMU context table. 1998-09-12 14:12:49 +00:00
pk f390eccd7d Add missing bits to per-CPU MMU table allocator routine. 1998-09-12 14:11:53 +00:00
pk cd0a5fe245 Define some bit-format strings. 1998-09-12 13:59:19 +00:00
pk 18fbdfc2f8 Expose `v3' routines to everyone. 1998-09-12 13:34:38 +00:00
pk 818fef1cd7 Nuke spurious pointer incrementation. 1998-09-12 13:12:14 +00:00
mycroft 40a8b45373 Do an inline expansion of __sig{fill,empty}set(), rather than using memset(). 1998-09-12 11:18:20 +00:00
mycroft 7bf196246c Fix typo. 1998-09-12 11:04:59 +00:00
mycroft b1c2e63db6 Regen. 1998-09-12 10:48:51 +00:00
mycroft 3f2c7263b1 Fix thinko in previous. 1998-09-12 10:48:27 +00:00
mycroft 584cc642fc Regen. 1998-09-12 10:33:26 +00:00
ragge 35662aa6e6 Include <sys/param.h> instead of <sys/types.h>, to get mem* inlines.
(At least on vax)
1998-09-12 08:31:23 +00:00
scottr 2b636564b7 Don't add IOBase to sccA; it's an address, not an offset.
Pointed out by Paul Goyette.
1998-09-12 02:42:27 +00:00
mycroft 89ea1fcbdd Version sys_sigreturn, to avoid breaking programs that use it explicitly. 1998-09-12 00:47:12 +00:00
mycroft 5978dc4801 Regen. 1998-09-12 00:10:33 +00:00
mycroft a641f893ab Rename ___posix calls in the syscall list. 1998-09-12 00:10:06 +00:00
mycroft f384c47bc7 Regen. 1998-09-11 23:13:32 +00:00
thorpej 911fd86e93 Regen; signal changes. (mycroft must have forgotten to commit this) 1998-09-11 22:37:53 +00:00
pk 37109879dc PR#6032: define fixed sized on-disk superblock structure. 1998-09-11 21:27:12 +00:00
mjacob 03e28bdbaf keren/6128: add an entry for the TDC 4200. Full density code set isn't known. 1998-09-11 20:10:15 +00:00
jonathan ea4898c76c Add arc as a target platform. 1998-09-11 19:39:28 +00:00
jonathan a4f0d3aef0 Add splx_end label to splx(), for stack traceback code. 1998-09-11 17:37:46 +00:00
jonathan 008816ea4f Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
 * Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
   Code derived from Per Fogelstrom's OpenBSD source  doesn't work
   on mips3 pmaxes with L2 cache.

 * Still some port-specific  #ifdefs, for interrupt enable and
   pmax L2 cache-size.  Needs more thought, but overlaps with
   work-in-progress by Tohru and Tsubai on spl()s and related stuff.
1998-09-11 16:46:31 +00:00
mycroft 62ea009b0e Update for signal handling changes. 1998-09-11 13:31:39 +00:00
pk 470227cc3b Check that the `current directory' is still mounted before dropping core in it. 1998-09-11 13:25:20 +00:00
mycroft a2d9c7ed82 Use the context flag bits. 1998-09-11 13:22:45 +00:00
mycroft fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
mycroft 11ac489856 Stylistic change. 1998-09-11 12:34:46 +00:00
mycroft 932a812de4 Speed up syscall() slightly in a few cases. 1998-09-11 12:23:44 +00:00
eeh 526dbbab7e Add labels for the compat_sparc32 signal trampoline and break -- er -- fix
suword and fuword.
1998-09-11 00:16:59 +00:00
eeh 6736de02e8 A (slightly modified) version of tv's fix for va_args for kern_printf. 1998-09-11 00:12:41 +00:00
nisimura 97acdd4415 A minor error. kn5800, a MIPS SMP machine, was codenamed "ISIS." 1998-09-11 00:06:12 +00:00
eeh f3ca996011 Add support for 64-bit types if _LP64 is defined. 1998-09-11 00:05:57 +00:00
eeh cdeacb83c2 Don't use fuword()/suword() -- can't count on their size. 1998-09-11 00:04:16 +00:00
eeh 44725836bc Add some copyin()/copyout()s. These need to be done but there are more
annoying issues, so I'll just check in this snapshot.
1998-09-11 00:01:57 +00:00
eeh eb1f80313d Use correct 32-bit signal trampoline code in the emul. 1998-09-10 23:55:15 +00:00
scottr 9d1c9d8d38 Use correct devices for zs driver on AVs. From Dave Huang (PR 6107). 1998-09-10 21:40:42 +00:00
pk f6b7ca884e Use our brand new extent_alloc1() function to allocate cache-aligned
DVMA addresses.
1998-09-10 21:08:39 +00:00
pk 3718fc4aa7 Allow the result of an extent allocation to be congruous to an arbitrary
number modulo the given alignment.
To do this the function extent_alloc_subregion() takes an additional `skew'
parameter.  For compatibility's sake, this function has been renamed to
extent_alloc_subregion1().
1998-09-10 20:52:13 +00:00
is 283229c668 Fix catastrophic typo. DraCos rev. 3 (or older) would crash on exiting from
the first timer interupt.
1998-09-10 20:45:33 +00:00
pk 9ba1c28908 Add `skew' parameter to extent_alloc_subregion(), and rename this function
to extent_alloc_subregion1(). Provide compatibility macros.
1998-09-10 20:43:14 +00:00
kenh d1e0ee615b Regen 1998-09-10 19:57:20 +00:00
kenh 537261f6c5 Reorganize the probe routine and add a quirk table. Much of this code
comes from Enami Tsugutomo (enami@but-b.or.jp).  Also add a couple more
devices to the pcmcia devices table.
1998-09-10 19:55:30 +00:00
tv 235fc6a6a9 egcs {brace} warning fix 1998-09-10 19:53:28 +00:00
kenh 9539399333 Add support for passing device quirks from the attachment routine,
and add support for a NO_EXTRA_RESETS quirk (required by the TEAC
IDE Card/II, which the Vaio uses).
1998-09-10 19:24:45 +00:00
mjacob 4a1ccd2fe7 turn into a debug message an ABOUT F/W failure. Add ISPCTL_UPDATE_PARAMS isp_control case 1998-09-10 17:10:27 +00:00
mouse b95116821c Create tcp.keepidle, tcp.keepintvl, tcp.keepcnt, tcp.slowhz sysctls. 1998-09-10 10:46:03 +00:00
nisimura d6afdbc88b Complete to fix errors introduced by HX screen dimension detection. 1998-09-10 10:00:39 +00:00
mark 84f15d23f4 Fix bug in switch_exit() from last commit. This fixes PR 6132.
The bug is that the modification to call exit2() removed a stack pop
but not the associated push.
1998-09-10 02:16:28 +00:00
thorpej a6c6b5a26b Cosmetic changes. 1998-09-09 23:46:31 +00:00
thorpej 5ff9df860c If we don't find a valid magic, return ENOEXEC, not EINVAL. 1998-09-09 23:37:27 +00:00
thorpej 0d779b28ba If we succeed in preparing the exec package, set the package's emulation
to emul_sparc32.
1998-09-09 23:36:15 +00:00
wrstuden eefa9491d1 Turn on support for 115,200 and 230,400 baud. Should work, but might
generate lots of interupts (one per char or so) if we don't have
DMA set up.
1998-09-09 20:58:06 +00:00
phil feb70ddafd Add coda file system character file device. 1998-09-09 19:04:04 +00:00
minoura 6b6b9e2706 Make device probe/attach sessions to be executed at splhigh.
mha driver used interrupt driven I/O.
1998-09-09 16:42:51 +00:00
kleink 63eae6f17e Don't make vsyslog() available to _XOPEN_SOURCE. 1998-09-09 12:37:35 +00:00
thorpej 70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej 2f9d1a8c8c Use MID_MACHINE rather than MID_SPARC in cpu_coredump(), and add a comment
about dumping a SPARC32 core file if we're using emul_sparc32.
1998-09-09 11:06:08 +00:00
thorpej f7a4380174 If _LP64, set MID_MACHINE to MID_SPARC64, else MID_SPARC. This allows us
to uniquely identify ILP32 vs. LP64 core files, and prevents an LP64 kernel
from incorrectly choosing emul_netbsd when it should choose emul_sparc32.
1998-09-09 11:01:38 +00:00
thorpej 7d3df134d6 Define MID_SPARC64, so that we can distinguish IPL32 vs. LP64 SPARC core
files, etc.
1998-09-09 10:58:40 +00:00
thorpej 7377cf7f4d MID_MACHINE -> MID_SPARC 1998-09-09 10:29:18 +00:00
thorpej 9ce5ae6b97 Protect Debugger() call a'la uha driver. PR #6070, Gary D. Duzan. 1998-09-09 05:28:58 +00:00
thorpej d1fba4e7e5 Don't use M_WAITOK to allocate the ring buffer; we could be in interrupt
context.  Reported by Lennart Augustsson.
1998-09-09 05:17:53 +00:00
thorpej 9fd57e8917 Make a diagnostic printf more sensible, PR #5951, Heiko W. Rupp. 1998-09-09 04:57:18 +00:00
thorpej 4f9a0d0550 Add mmap support for gus and gusmax, PR #5988, Feico Dillema. 1998-09-09 04:40:34 +00:00
thorpej a54c0e3b4e Braces for EGCS. 1998-09-09 04:33:27 +00:00
thorpej 78f9387863 Add/move some Ethertypes, PR #5997, Heiko W.Rupp. 1998-09-09 04:32:39 +00:00
dbj aa45959106 Added uvm and ddb 1998-09-09 03:02:23 +00:00
eeh 2a6ae85fc3 Change to MACHINE_ARCH=sparc64 for LP64 machines. 1998-09-09 02:56:38 +00:00
eeh d2570e248c Don't use %tick for microtime on 32-bit kernels -- breaks gettimeofday. 1998-09-09 02:52:54 +00:00
eeh e81ed2237d Fix problems in global pagewalks. 1998-09-09 02:49:56 +00:00
eeh 9487c4be35 Make `machine phys' increment its address. 1998-09-09 02:48:15 +00:00
thorpej 4dbfe05f1f Use an algorithm similar to that in tcp_notify() to determine if
syn_cache_unreach() should remove the entry, or just continue on.

Algorithm is to only remove the entry if we've had more than one unreach
error and have retransmitted 3 or more times.  This prevents the following
scenario, as noted in PR #5909 (PR from Ty Sarna, scenario from
Charles Hannum):

	* Host A sends a SYN.
	* Host A retransmits the SYN.
	* Host B gets the first SYN and sends a SYN-ACK.
	* Host B gets the second SYN and sends a SYN-ACK.
	* One of the SYN-ACK bounces with an
	  ICMP unreachable, causing the `SYN cache' entry to be
	  removed with no notification.
	* Host A receives the other SYN-ACK, sends an ACK, and goes to
	  ESTABLISHED state.

Should fix PR #5909.
1998-09-09 01:32:27 +00:00
thorpej 8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
thorpej 93ea1946f0 Implement a new kernel thread, the "reaper", which performs the task
of freeing the VM resources once a process has exited.  A valid thread
must do this work, as doing so may block in a multi-processor environment.
1998-09-08 23:57:58 +00:00
thorpej 970e60efb8 - Use proclists[], rather than checking allproc and zombproc explicitly.
- Add some comments about locking.
1998-09-08 23:50:13 +00:00
thorpej 4edbfb00a8 - Add a new proclist, deadproc, which holds dead-but-not-yet-zombie
processes.
- Create a new data structure, the proclist_desc, which contains a
  pointer to a proclist, and eventually, a pointer to the lock for that
  proclist.  Declare a static array of proclist_descs, proclists[],
  consisting of allproc, deadproc, and zombproc.
1998-09-08 23:47:49 +00:00
thorpej dd07e08538 Implement vm_exit(), which frees VM resources when a process finishes
exiting.
1998-09-08 23:44:41 +00:00
thorpej 28904fca48 Implement uvm_exit(), which frees VM resources when a process finishes
exiting.
1998-09-08 23:44:21 +00:00
rvb ba78af57df Get ready to add Coda 1998-09-08 20:56:08 +00:00
rvb 26b955eec7 ufs_readdir no longer checks if vp->v_type != VDIR so
the individual emulated readdirs must check.
Since netbsd and freebsd return EINVAL for the error
and I don't know what the other platforms do, return
EINVAL for them too.
1998-09-08 20:02:51 +00:00
rvb a00eb709cb Pass2 complete 1998-09-08 17:12:46 +00:00
minoura cfa2e4dfa3 Activated options *_PAGER.
That was a careless mistake.
1998-09-08 15:43:27 +00:00
fvdl 077a042a3f Fix some maxsymlinklen comparisons for old filesystems that were
wrong after the byteswap changes.
1998-09-08 08:37:12 +00:00
fvdl 8fe5a08b64 Correct maxsymlink comparison for old filesystems that was clobbered in
byteswap changes.
1998-09-08 08:21:12 +00:00
mjacob 8fec1fd696 add bustype tag to softc 1998-09-08 07:36:26 +00:00
mjacob 5c5c3f792f Reflect changes in quirk flags, and also now add case post retrieval
of Inquiry data during probe where SDEV_NOSYNC, SDEV_NOTAG and SDEV_NOWIDE
can be set (with quirk data overriding) per device probed.
1998-09-08 07:34:02 +00:00
mjacob 3805d4f082 Clarify quirk flags somwhat- split SDEV_NOSYNCWIDE into SDEV_NOSYNC and
SDEV_NOWIDE and add SDEV_NOTAG.
1998-09-08 07:32:42 +00:00
mjacob 52588e4fde add more general probe to regular more operation stuff 1998-09-08 07:30:32 +00:00
mjacob a79310ba38 Major reworking of initialization code, addition of NVRAM reading, usage
of device speed updating, etc... A lot of FC and other case statement
handling. Whew. Too much to really detail here.
1998-09-08 07:28:50 +00:00
mjacob 6e2341ae63 Roll major revision. Change some definitions around. Add more current device
state stuff. Make DPARM flags full 16 bits (no shifting needed) and add
the 2 new ones for the 7.55 f/w.
1998-09-08 07:27:04 +00:00
mjacob 542648bf0e Move all ASYNC definitions here (after all, they're mailbox registers).
Clarify FC initialization control block. Add macros for setting WWN
into same. Add a wad more definitions in this area.
1998-09-08 07:24:23 +00:00
mjacob 170521610e Add more ASYNC event codes here. Add NVRAM definitions. 1998-09-08 07:22:06 +00:00
mjacob c0eabb441f add case for going from probetime to runtime speeds 1998-09-08 07:19:58 +00:00
mjacob 9752520872 roll revision, change default tagging to simple tags 1998-09-08 07:18:56 +00:00
mjacob 9b29429984 Remove clocks as common code now can determine what clock rates to use.
Remove other than 8 byte bursts- until we clarify whether or not buggy
PCI implementatiosn really cause problems.
1998-09-08 07:16:46 +00:00
mjacob 4275b01a08 Adjust copyright notice to reflect that Qlogic still owns this.
Move SCSI f/w to 7.55 level. Move FibreChannel f/w to 1.13 level.
1998-09-08 07:13:11 +00:00
mjacob 0456723423 Adjust copyright to reflect that this is really still owned by Qlogic 1998-09-08 07:06:57 +00:00
mark f157d15a41 Guard inclusion of opt_cputypes.h 1998-09-08 03:10:07 +00:00
eeh b5e87ba833 Misc. cleanup. 1998-09-07 23:59:07 +00:00
eeh 4a42b68e25 Fixup for 32-bit and 64-bit syscalls. 1998-09-07 23:49:21 +00:00
eeh caff762f80 Fix data corruption problem caused by broken debug code. 1998-09-07 23:48:23 +00:00
eeh f162a39307 Make register32_t unsigned so we don't have sign extension problems. 1998-09-07 23:46:26 +00:00
pk 07b0821d4d Adapt to cpuvar.h changes. 1998-09-07 23:04:28 +00:00
pk b09b9f7339 De-couple the CPU info structure from auto-configuration structures. 1998-09-07 23:02:40 +00:00
pk 729d765620 Clear up some type confusion. 1998-09-07 22:56:46 +00:00
drochner 73ac88b3ed make the default disklabel consistent to the SCSI/ATAPI case 1998-09-07 21:28:22 +00:00
eeh 064281122e Add new 64-bit trap vectors. 1998-09-07 20:02:32 +00:00
mhitch 2c412f42bb scc_softCAR is a bit array, so set it accordingly for a serial console
port (instead of using the scc line number).
1998-09-07 19:54:15 +00:00
mhitch a91d61bced Can't use fi->fi_base to access the resolution registers: it hasn't been
initialized yet.  Use the base variable, and also use the symbolic symbols
to acdess the registers.  Also, the console max_rows is based on the
display height, not the width.
1998-09-07 19:52:49 +00:00
mhitch 3299eb8c5b Fix error in kernel shadow mapping when kernel is loaded into fastmem on
69040/060 and the number of initial KPT pages is odd.  This would cause
a memofy fault before the 040 trap routines were set up and gave a
misleading trap message.  The odd number of KTP pages would result if
Sysptsize was patched, or if a large amount of Zorro3 space was needed.
1998-09-07 19:50:17 +00:00
eeh 8d72d0dc0a Fix problems copying in extended syscall arguments. 1998-09-07 18:23:54 +00:00
kleink 02fd2396c6 Handle _PC_SYNC_IO. 1998-09-07 15:58:37 +00:00
minoura 074790dfb9 Make it usable. 1998-09-07 14:24:08 +00:00
minoura 334656f748 Cleanup _doboot, fixing the 040 reboot bug. 1998-09-07 14:14:34 +00:00
minoura 99517aa6c3 Reorganized the config files based on NetBSD/sparc ones.
Removed unmaintained files.
1998-09-07 14:11:08 +00:00
veego 3d396754e1 Regen. 1998-09-07 08:19:31 +00:00
veego 7e2e241a81 Fix capitalization of Kodak. This change was clearly never tested. 1998-09-07 08:18:40 +00:00
pk af17d22848 Missing bits in DEBUG mode. 1998-09-07 07:58:45 +00:00
pk e21c0b3450 Need to cast sbus attach `prom_vaddrs' field. 1998-09-07 07:15:51 +00:00
pk c4c4e35608 Undo last change (we're passing the address of a pointer here). 1998-09-07 07:11:11 +00:00
nisimura c6a0c2d34c Added more MIPS processor IDs. 1998-09-07 06:32:18 +00:00
eeh aecf435d40 Add new 64-bit specific traps and 64-bit Solaris syscall. 1998-09-07 01:39:52 +00:00
eeh 0a6f6c904d Need to make sure high bits of addresses are zeroed out. 1998-09-07 01:38:03 +00:00
pk d2d3f83fd7 Panic instead failing the syscall on an impossible condition (from Robert Elz).
Plug possible memory leakage with the recently added device path stuff.
1998-09-06 23:09:39 +00:00
eeh 199e474e95 Removed some spurious `long's. 1998-09-06 22:43:16 +00:00
eeh edc4ed9846 32-bit fixup. 1998-09-06 21:53:41 +00:00
pk b871ab5f2c Use the new "%b" format for the various control register bits. 1998-09-06 21:39:33 +00:00
pk 457395fe53 Use the new "%b" format. 1998-09-06 21:38:36 +00:00
eeh c5b834a5bc Do it right for a change. 1998-09-06 21:23:58 +00:00
eeh b9ce59191d Oops. Fix overenthusiastic macro. 1998-09-06 21:21:06 +00:00
pk c529fe0888 memerr() is now an indirect call. 1998-09-06 21:18:59 +00:00
pk cda6fb7430 Sanitize memerr*() a bit. 1998-09-06 21:14:56 +00:00