Commit Graph

3240 Commits

Author SHA1 Message Date
augustss
0c21c79cc5 s/uax/axe/ 2004-10-23 14:00:50 +00:00
reinoud
a64c647b71 Cleanup of main config file:
1) Fix small indenting issues

2) Removal of audio* at ... and midi* at ... entries and replace all them with

audio* at audiobus?
midi*  at minibus?

3) Adding of USB audio/midi and IrDa entries
2004-09-28 23:39:37 +00:00
yamt
d2fe4b34bb move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.
2004-09-22 11:32:02 +00:00
skrll
f7155e40f6 There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe
2004-09-17 14:11:20 +00:00
drochner
1134c44162 adapt to ISA "unknown address" namespace separation 2004-09-14 20:25:05 +00:00
drochner
61ac7027b3 include "locators.h" explicitely (don't rely on isavar.h doing so) 2004-09-14 19:57:37 +00:00
drochner
6453b0fcb2 fix wrong asm .end names which caused assembler warnings,
from Nicolas Joly per PR port-alpha/26945
2004-09-14 11:27:22 +00:00
drochner
df80bed99c put EISA attachment specific code inside "#if NPCEB > 0",
to avoid references to EISA variables if "pceb" is not defined in
kernel configurations, and save some bytes
tested by Havard Eidnes (or his colleague:-)
2004-09-13 18:42:59 +00:00
drochner
11ff62378b add "joy" 2004-09-13 17:26:28 +00:00
drochner
a02e2488a0 autoconf cleanup: turn xxxsubmatch() functions into the locator
passing variants
2004-09-13 14:57:31 +00:00
drochner
a48272e3d0 pass locators to tlsbsubmatch()
XXX the "offset" locator is unused appearently, assume that "0"
is a sensible value
2004-09-13 14:48:46 +00:00
reinoud
a4ea5c43d3 Add wsmux and keyboard RAW support for better X 2004-09-10 21:09:57 +00:00
reinoud
52a3b4ec4a Add USB-2 support to Alpha 2004-09-10 21:09:06 +00:00
manu
6e3c639957 IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
2004-09-04 23:29:44 +00:00
drochner
46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
thorpej
6c08646cb8 Garbage-collect pagemove(); nothing use it anymore (YAY!!!) 2004-08-28 22:12:40 +00:00
jdolecek
64969161df use uvm_grow() to update stack segment size on stack page fault instead
of MD code
2004-08-28 17:53:00 +00:00
mycroft
1710cea8cf Enable DDB history. 2004-08-09 19:04:32 +00:00
mycroft
6d0330a781 Add {spc,xirc,mhzc}@pcmcia. All tested on a Multia. 2004-08-09 14:16:02 +00:00
drochner
a5a5473c25 remove now unnecessary "pci_enumerate_bus" definitions 2004-07-29 16:55:25 +00:00
perseant
1524f4361c Change "acardide*at ..." to "acardide* at ..." so adjustkernel will dtrt. 2004-07-20 00:08:51 +00:00
yamt
1a4759a97e as i386 does, propagete errors from uvm_fault() to users of pcb_onfault
via v0 so that eg. read(2) can return more appropriate errors
rather than always EFAULT.

ok'ed by Jason Thorpe.
2004-07-17 12:21:20 +00:00
petrov
b0a06b6467 Update uvmexp's traps and syscalls. Reviewed by Jason Thorpe. 2004-07-17 04:56:31 +00:00
atatat
f68a9f1ff2 Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
2004-07-15 03:53:44 +00:00
drochner
96623fecad also add <machine/joystick.h> to alpha and amd64, to allow compilation
of certain multimedia applications
2004-07-07 18:03:51 +00:00
mhitch
fcdbc29795 After sending the IPI to halt other CPUs, clear cpus_paused to ensure that
the other CPUs resume execution.  If the halt was initiated from DDB, the
CPUs will not have been resume execution and will never halt.  If one of the
paused CPUs is the primary CPU, the system will hang.  Fixes PR#26159.
2004-07-07 02:46:14 +00:00
mhitch
66828ce55c Ooops - buspin is what should be used. 2004-07-06 13:36:19 +00:00
mhitch
a01c5c07dc When calculating the mcpcia irq, include bus pin to account for devices
behind a PCI-PCI bridge.  Fixes PR#25831 (and the duplicate PR#26031).
Verified by Chuck Silvers.
2004-07-06 04:15:50 +00:00
mycroft
0e13cf8bb2 Actually initialize the direct-mapped DMA window, which is clearly not set up
by the firmware on my Multia.  Now PCI devices like the builtin tlp actually
work.
2004-07-02 19:54:22 +00:00
mycroft
3b589a6ca4 Fix a really old ("since day one") bug: send specific EOIs to the PIC, not
non-specific EOIs.  This really shouldn't matter so much, but I'm guessing
there's a strange interaction with the PALcode (possibly related to the fact
that the PALcode itself may be sending an EOI itself on some systems).

I have tested this on a Multia, and it appears to work just fine without the
INITIALLY_{ENABLED,LEVEL_TRIGGERED}() stuff now, so I'm also removing that.
2004-07-01 18:46:49 +00:00
bouyer
21e9a36edc Add options P1003_1B_SEMAPHORE
to all GENERIC-like kernel config files where SYSV* options were already
present (commented out if the SYSV* options are commented out).
Fix lib/25897 and lib/25898.
2004-06-28 21:07:47 +00:00
mycroft
23e6f04707 Significant cleanup and bug fix of root device detection:
* On systems where it's relevant (6600, kn300, kn8ae), check which PCI bus
  hierarchy we're looking at.
* Consistently check PCI function numbers (important for quad-channel ATA
  controllers).
* Check the channel number (important for ATA and multi-channel SCSI
  controllers).
* Check logical unit numbers.
* Use strcasecmp() to check b->protocol; the case is different depending on
  the firmware revision.
* Remove b->boot_dev_type check; it's unneeded.
* Remove extraneous unneeded variables.

Not only does this fix a few PRs and multiple long-standing bugs, but the
code is smaller too.

PR 9432
PR 12225
PR 25830
2004-06-28 03:53:40 +00:00
abs
bd8eb3b5ed Add (commented out) ALTQ options to all GENERIC-like files 2004-06-26 07:32:05 +00:00
itojun
596aec9a47 have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
2004-06-22 14:09:49 +00:00
christos
c22e4ed8cd ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM 2004-06-18 15:02:29 +00:00
christos
0399e839cf Add pseudo-device ptm on all the generic flavored kernels. 2004-06-16 15:07:39 +00:00
thorpej
e33c2bb5d5 Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
2004-06-04 04:45:49 +00:00
mhitch
1f358dcd03 Add missing KERNEL_PROC_UNLOCK() in upcallret(). This should fix PR#22219
and maybe also PR#23731, which appears to be a duplicate of 22219.
2004-05-17 17:43:08 +00:00
drochner
19f047f8d0 SIGTRAMP_VALID() should not pollute the user namespace 2004-05-10 21:51:49 +00:00
kleink
7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
fair
06f59ac1b2 Remove specific scsibus* at (hba device)? declarations for the new,
simple:

scsibus* at scsi?
2004-04-29 07:13:03 +00:00
fair
68851c238e protect against multiple includes because the make procedures for
kdump, ktruss, etc., aren't smart enough to spot this as a duplicate
from both include/{alpha,machine}/vuid_event.h
2004-04-25 23:17:59 +00:00
itojun
6123043789 pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
2004-04-23 21:13:05 +00:00
simonb
ad2144406e Bump NMBCLUSTERS to something a little more modern - 2048 for the
normal case and 4096 for the "options GATEWAY" case.
2004-04-06 14:56:13 +00:00
he
f8fd8eb7f7 Adapt to the removal of __HAVE_SIGINFO, assume that we always have it now. 2004-03-28 10:07:24 +00:00
drochner
c83eb997b8 nothing cares about __HAVE_SIGINFO anymore, so nuke it 2004-03-26 21:39:57 +00:00
atatat
19af35fd0d Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
2004-03-24 15:34:46 +00:00
matt
a7913cb227 In alpha_ucode_to_ksiginfo, don't adjust ucode since that's already been
done in the FP_C_TO_NETBSD_MASK macro.  Constify a read-only static array.
This should fix regress/lib/libc/ieeefp/except failures.
2004-03-23 18:44:00 +00:00
matt
833b325a66 Change default data size to 256MB.
(A native NetBSD build will no longer with a limit of 128MB).
2004-03-22 05:25:22 +00:00
cl
ea5ec0212d add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
2004-03-14 01:08:47 +00:00
bjh21
dff5222d3a Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it.  This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111.  The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers.  To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned.  Thy just use rather more function pointers than before.  Tested
on i386 and (with a new host driver) acorn32.  Compiled on several other
affected architectures.
2004-03-13 17:31:33 +00:00
drochner
d2414542a3 -on instruction fetch fault from non-executable pages, signal
SIGSEGV/SEGV_ACCERR
-whitespace cleanup
2004-02-19 17:06:06 +00:00
bjh21
5aca86918f Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present.  This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
2004-02-14 14:33:28 +00:00
drochner
8437e697bc plug 2 obvious kernel lock leaks
(compile tested only)
2004-02-13 18:01:44 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
wiz
f5b32c1e69 RealTek -> Realtek. 2004-02-13 10:00:54 +00:00
nathanw
3d9ac0d037 In decode_prologue(), ignore positive-offset frame adjustments ("lda
sp, 64(sp)") on the theory that they're from the function epilogue,
which aggressive code motion has placed before the end of the
function's code.

Addresses my PR port-alpha/23996.
2004-01-22 18:59:00 +00:00
jdolecek
6c14651ea0 cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
  is included there too; dev/ic/lpt.c is not included if ppbus is
  configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
  glue moved to conf/files and dev/pci/files.pci respectively; remove
  device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
  glue
2004-01-20 19:58:00 +00:00
martin
da4e67accc Do not export __HAVE_RAS to userland. Applications are supposed to try
rasctl() and detect failure with EOPNOTSUPP.
2004-01-18 18:23:19 +00:00
jonathan
abb59e6f0c Add support for opencrypto, PCI accelerators to sys/arch/*/conf/GENERIC
files for machines I know to have genuine PCI slots.  As sent to tech-kern
for feedback in December 2003. Based on feedback, opencrypto is commented
out in the macppc GENERIC (due to absense of GENERIC_SOFTINT support),
and added to the sparc64 config (sys/arch/sparc64/conf/GENERIC32).
2004-01-14 22:29:03 +00:00
nathanw
6eea658635 Adjust the DEBUG check in PMAP_ISACTIVE() to special-case process
exit, since the invariant it checks no longer holds there after the
recent reaper changes.
2004-01-13 18:50:40 +00:00
nathanw
97a491c111 Add a missing { to cpu_exit() so that it compiles.
(Alpha still doesn't boot with the new-reaper changes, though. First
process to exit kills the system).
2004-01-05 23:51:19 +00:00
jdolecek
089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
pk
70f20a1217 Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
2003-12-30 12:33:13 +00:00
thorpej
08227d36cb No need to include wdvar.h anymore. 2003-12-14 05:15:53 +00:00
thorpej
2f2ca9e66b Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
2003-12-14 01:32:01 +00:00
thorpej
98f7d12017 Split out the Silicon Image SATALink support into its own driver,
"satalink".
2003-12-13 23:13:40 +00:00
jmc
695a2a2f9f Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
2003-12-10 02:04:00 +00:00
atatat
13f8d2ce5f Dynamic sysctl.
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al.  Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded.  Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment.  I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
2003-12-04 19:38:21 +00:00
keihan
29c72c57f0 netbsd.org -> NetBSD.org
All "netbsd.org" is now gone from src/sys/arch.
2003-12-04 13:05:15 +00:00
simonb
633d242cca Add COMPAT_16. 2003-11-27 03:57:57 +00:00
christos
a21fdf3b43 bye, bye _MCONTEXT_TO_SIGCONTEXT and vice versa. 2003-11-25 23:11:52 +00:00
chs
e07f0b9362 eliminate uvm_useracc() in favor of checking the return value of
copyin() or copyout().

uvm_useracc() tells us whether the mapping permissions allow access to
the desired part of an address space, and many callers assume that
this is the same as knowing whether an attempt to access that part of
the address space will succeed.  however, access to user space can
fail for reasons other than insufficient permission, most notably that
paging in any non-resident data can fail due to i/o errors.  most of
the callers of uvm_useracc() make the above incorrect assumption.  the
rest are all misguided optimizations, which optimize for the case
where an operation will fail.  we'd rather optimize for operations
succeeding, in which case we should just attempt the access and handle
failures due to insufficient permissions the same way we handle i/o
errors.  since there appear to be no good uses of uvm_useracc(), we'll
just remove it.
2003-11-13 03:09:28 +00:00
dsl
2ffbd2ab99 Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead.
Remove p_raslock and rename p_lwplock p_lock (one lock is enough).
Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS.
Avoid unpredictable branch in i386 locore.S
(pad fields left in struct proc to avoid kernel bump)
2003-11-04 10:33:15 +00:00
cl
ef56cc40ab Reduce code duplication by adding mi_userret() in sys/userret.h
containing signal posting, kernel-exit handling and sa_upcall processing.

XXX the pc532, sparc, sparc64 and vax ports should have their
XXX userret() code rearranged to use this.
2003-10-31 16:44:34 +00:00
simonb
6d85c5e0d5 Don't pass the (unused) return value args to the
trace_enter()/systrace_enter() functions.
2003-10-31 03:28:12 +00:00
mycroft
ebc4881c70 Simplify a little. 2003-10-29 05:32:18 +00:00
mycroft
c99cc1e89a If we get an unknown fault code, either panic (if DIAGNOSTIC), or fault it with
a 0 access_type (if not).  Remove bogus initializer.
2003-10-29 05:16:26 +00:00
mycroft
01ffeba8a0 Make sure "args" is pointing somewhere sane before calling trace_exit(). 2003-10-29 04:58:26 +00:00
mycroft
bb5625edb8 Remove bogus initializers. 2003-10-29 04:48:40 +00:00
chs
3b6d3c710c uninitialized variables 2003-10-27 07:07:34 +00:00
kleink
a3fabb9e7f Use <sys/ieee754.h> where applicable. 2003-10-26 20:55:30 +00:00
lukem
f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
mycroft
5f4b4ea107 Check the PCI device and function numbers correctly. Fixes boot device
identification on reinoud's PWS 550, and works fine on my AS200.
2003-10-24 15:00:20 +00:00
ragge
7058b828e4 Fix NULL change lossage. 2003-10-23 10:05:53 +00:00
cl
ed9c2d7075 don't uvm_swapout LWPs which are LSONPROC on another cpu.
uvm_swapout_threads will swapout LWPs which are running on another CPU:
- uvm_swapout_threads considers LWPs running on another CPU for swapout
  if their l_swtime is high
- uvm_swapout_threads considers LWPs on the runqueue for swapout if their
  l_swtime is high but these LWPs might be running by the time uvm_swapout
  is called

symptoms of failure: panic in setrunqueue

fixes PR kern/23095
2003-10-19 17:45:35 +00:00
christos
3825627f57 define SIGTRAMP_VALID() 2003-10-18 18:34:10 +00:00
lukem
7d84b90c92 Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use  'atapibus* at atapi?'  instead of  'atapibus* at atabus?'
2003-10-18 08:30:12 +00:00
nathanw
768b79db69 Catch up to ata/ide changes; look for a parent device of wd named "atabus"
instead of "pciide", and check one layer farther up in the device hierarchy
for the scsipidev device.

From Manuel Bouyer, tested by me on a up1500 (identical changes to other
ide-booting code).
2003-10-14 22:01:02 +00:00
nathanw
b5b9ca33d7 Catch up DEBUG printfs to siginfo changes. 2003-10-13 22:19:15 +00:00
jdolecek
ef5bb330f5 reassing majors for crypto and pf to use the newly defined MI major
range
2003-10-10 22:42:39 +00:00
jdolecek
4e915c9ccd update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
2003-10-10 21:21:25 +00:00
thorpej
901da40cf9 Add some accessor macros for the ucontext:
* _UC_MACHINE_PC() - access the program counter
* _UC_MACHINE_INTRV() - access the integer return value register
* _UC_MACHINE_SET_PC() - set the program counter (this requires
  special handling on some platforms).
2003-10-08 22:43:01 +00:00
bouyer
83af294c93 pciide_machdep.c depends on pciide_common, not pciide.
Pointed out and fix tested by Marc Recht.
2003-10-08 17:29:59 +00:00
bouyer
f5a6a0a843 Add new per-chip pciide drivers. 2003-10-08 11:55:43 +00:00
bouyer
20b2eaeddb Add atabus 2003-10-08 11:01:38 +00:00
enami
8c172fb0e0 Adapt to recent ksiginfo change. 2003-10-08 03:10:41 +00:00
simonb
970b12080e Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
2003-10-08 01:40:22 +00:00
thorpej
68723a995b * Shuffle some data structures so, and add a flags word to ksiginfo_t.
Right now the only flag is used to indicate if a ksiginfo_t is a
  result of a trap.  Add a predicate macro to test for this flag.
* Add initialization macros for ksiginfo_t's.
* Add accssor macro for ksi_trap.  Expands to 0 if the ksiginfo_t was
  not the result of a trap.  This matches the sigcontext trapcode semantics.
* In kpsendsig(), use KSI_TRAP_P() to select the lwp that gets the signal.
  Inspired by Matthias Drochner's fix to kpsendsig(), but correctly handles
  the case of non-trap-generated signals that have a > 0 si_code.

This patch fixes a signal delivery problem with threaded programs noted by
Matthias Drochner on tech-kern.

As discussed on tech-kern.  Reviewed and OK's by Christos.
2003-10-08 00:28:40 +00:00
skd
8d474d5a86 Siginfo changes for alpha kernel. Approved by thorpej@netbsd.org. 2003-10-07 17:04:18 +00:00