Commit Graph

121075 Commits

Author SHA1 Message Date
uwe f9cb911365 Add necessary symbols. 2003-11-18 03:07:29 +00:00
manu e04d06c9bb More work on exceptions. Once a task has raised an exception, it remains
blocked in the kernel. The task that catched the exception may unblock
it by sending a reply to the exception message (Of course it will have
to change something so that the exception is not immediatly raised again).

Handling of this reply is a bit complicated, as the kernel acts as the
client instead of the server. In this situation, we receive a message
but we will not send any reply (the message we receive is already a reply).
I have not found anything better than a special case in
mach_msg_overwrite_trap() to handle this.

A surprise: exceptions ports are preserved accross forks.

While we are there, use appropriate 64 bit types for make_memory_entry_64.
2003-11-18 01:40:18 +00:00
thorpej 88ed237274 Bump libc to 12.107 and libpthread to 0.3 for fsync_range(2). 2003-11-18 01:00:19 +00:00
thorpej 137c808bb8 Userland portion of fsync_range(2), written by Bill Studenmund, and
contributed by Wasabi Systems, Inc.
2003-11-18 00:56:56 +00:00
cl 196dbdcd2b - delay processing unblocked threads until after locks are resolved:
without the blocked/unblocked upcall ordering, an interrupted blocked
  upcall might put the blocked thread on the intqueue because it needs
  to be continued.  With the delayed processing, we avoid putting such a
  thread twice on the runqueue.
- fix putting a thread on the intqueue when it needs to be continued
  after it blocked.

Also check return value when returning a single stack.
2003-11-17 22:59:00 +00:00
cl ac4fd64ba5 - remove blocked/unblocked upcall ordering.
- always wait for unblocked upcall if we have to continue a blocked
  thread.

=> removes wakeup from sys_sa_stacks when a stack is returned.
=> avoids extra sa_unblockyield syscall when unblocked upcall is
   delivered before blocked upcall is processed.
=> avoids double pagefault if we continued a thread before the
   pagefault was resolved.
=> avoids losing unblocked state if we continued a thread after
   skipping the unblocked upcall.
2003-11-17 22:57:52 +00:00
cl 2e11d201c2 - use list to keep track of free stacks.
- use splay tree for the pagefault check if the thread was running on
  an upcall stack.

=> removes the limitation that all upcall stacks need to be
   adjoining and that all upcall stacks have to be loaded with the
   1st sys_sa_stacks call.
=> enables keeping information associated with a stack in the kernel
   which makes it simpler to find out which LWP is using a stack.
=> allows increasing the SA_MAXNUMSTACKS without having to
   allocate an array of that size.
2003-11-17 22:52:09 +00:00
uwe 764c596c3f Cause SIGTRAP if NOTREACHED code is reached. 2003-11-17 22:38:11 +00:00
jonathan de80d1419e Diff to netinet/ip_input.c (restore ip_id, initialize) for ip_id fix:
Revert the (default) ip_id algorithm to the pre-randomid algorithm,
due to demonstrated low-period repeated IDs from the randomized IP_id
code.  Consensus is that the low-period repetition (much less than
2^15) is not suitable for general-purpose use.

Allocators of new IPv4 IDs should now call the function ip_newid().
Randomized IP_ids is now a config-time option, "options RANDOM_IP_ID".
ip_newid() can use ip_random-id()_IP_ID if and only if configured
with RANDOM_IP_ID. A sysctl knob should be  provided.

This API may be reworked in the near future to support linear ip_id
counters per (src,dst) IP-address pair.
2003-11-17 22:34:16 +00:00
fvdl 4c59345a6c Set the bridge tag correctly when adding an extra PCI bus. 2003-11-17 22:20:00 +00:00
jonathan 995c532c33 Revert the (default) ip_id algorithm to the pre-randomid algorithm,
due to demonstrated low-period repeated IDs from the randomized IP_id
code.  Consensus is that the low-period repetition (much less than
2^15) is not suitable for general-purpose use.

Allocators of new IPv4 IDs should now call the function ip_newid().
Randomized IP_ids is now a config-time option, "options RANDOM_IP_ID".
ip_newid() can use ip_random-id()_IP_ID if and only if configured
with RANDOM_IP_ID. A sysctl knob should be  provided.

This API may be reworked in the near future to support linear ip_id
counters per (src,dst) IP-address pair.
2003-11-17 21:34:27 +00:00
wiz 3f5a4c00b1 Bump date for previous; new sentence, new line. 2003-11-17 21:29:37 +00:00
bouyer 6f4c1c24ee Apply patch proposted to tech-userlevel on Sun, 12 Oct 2003:
Remove dom_server_port from struct _dom_binding. It's never initialised
and used in only one place, where dom_server_addr.sin_port was probably
intended.
2003-11-17 21:29:21 +00:00
christos 895d7dee51 zero out nl, from Todd Miller. thanks! 2003-11-17 20:41:54 +00:00
drochner c357df8891 Update for the fact that the ':' is now required to specify an alternative
protocol:kernel to boot, explain the interpretation of boot file names
better, and add an example for setups where dhcpd's conditional
bahaviour is not deployed.
2003-11-17 20:27:45 +00:00
bouyer c941eecbd0 Clear DRIVE_ATA|DRIVE_ATAPI for both drives only when we're sure this is
an old drive. Should fix kern/23468.
When we know there's no drive here, abort the probe and try next drive.
2003-11-17 20:01:35 +00:00
christos d0d2881501 expose proc_stop; needed by mach/darwin emulation 2003-11-17 19:21:56 +00:00
christos 6265548ad9 expose proc_stop. needed by mach/darwin emulation. 2003-11-17 19:21:24 +00:00
sketch 36890c9fa3 Add myself. 2003-11-17 17:47:42 +00:00
tsutsui b6c031f59c TAB/space cleanup. 2003-11-17 14:37:59 +00:00
manu d4b49d8b97 Illegal instruction exceptions
Warning on non-supported exception in task_set_exception_ports
Implementation of task_get_exception_ports
2003-11-17 13:20:06 +00:00
tsutsui e428736842 Remove commented out lines for quite obsolete dev/isa/if_ed.c. 2003-11-17 12:53:47 +00:00
wiz 4bbfee09ca Various typo fixes from Jonathon Gray via jmc@openbsd. 2003-11-17 11:16:10 +00:00
cube d3730f1c68 o Fix a bug in ksyms that changed the real meaning of st_name entries for
symbols, and made it impossible for the kernel to use that value, and
  correctly find symbols from LKMs.
o Allow LKM users to use DDB to debug the entry function of a LKM by
  loading the symbol table with the temporary name /lkmtemp/ before calling
  it, and then renaming it once we know the module name.

Approved by ragge@.
2003-11-17 10:16:18 +00:00
keihan 0714799990 www.netbsd.org -> www.NetBSD.org 2003-11-17 10:07:58 +00:00
lukem 9009139507 Deprecate <sourcefile>_G now that conf/Makefile.kern.inc modifies
COPTS.<sourcefile> instead
2003-11-17 09:41:19 +00:00
lukem 8ec8bba0a9 Add support for MAKEVERBOSE (a first pass, at least).
Use COPTS.<sourcefile> instead of <sourcefile>_G.
Use HOST_SH (which defaults to `sh' if not set).
2003-11-17 09:39:29 +00:00
sekiya 014a2cd0f4 Rationalize the machine-links creation mechanism. 2003-11-17 09:32:58 +00:00
dbj 8547b2b628 note successful build on Mac OS 10.3 with xcode 1.0 developer tools 2003-11-17 05:42:58 +00:00
lukem 26be73f2a5 use X11FLAGS.OS_DEFINES 2003-11-17 05:18:20 +00:00
lukem 2f6833c22a Provide X11FLAGS.OS_DEFINES.
Add some comments
2003-11-17 05:14:21 +00:00
jonathan 30cbe1194d Fix hanging-paren typo. 2003-11-17 02:02:31 +00:00
manu 144bfac97b First work on Mach exceptions. Things that can turn into signals on UNIX
may turn into exceptions on Mach: a small message sent by the kernel to
the task that requested the exception.
On Darwin, when an exception is sent, no signal can be delivered.

TODO: more exceptions: arithmetic, bad instructions, emulation, s
software, and syscalls (plain and Mach). There is also RPC alert, but
I have no idea about what it is.

While we are there, remove some user ktrace in notification code, and add
a NODEF qualifier in mach_services.master: it will be used for notifications
and exceptions, where the kernel is always client and never server: we
don't want the message to be displayed as "unimplemented xxx" in kdump (thus
UNIMPL is not good), but we don't want to generate the server prototype
(therefore, STD is not good either). NODEF will declare it normally in the
name tables without creating the prototype.
2003-11-17 01:52:14 +00:00
jonathan cc1346b1a2 Change previous patch to have same effect as patch posted to
tech-kern. Suggested reformatting inadvertently changed the meaning of
the code, as noted by YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>.
2003-11-17 01:44:49 +00:00
jonathan 6ddd119256 Commit fix for NFS write deadlock, on filesystems mounted via
local-loopback (lo0). As posted for review on tech-kern 2003-18-09,
with a long  comment explaining (one of) the deadlock scenarios.

I've used this since shortly after 2002-09-12-, without noticing
performance degradataion or instability for non-loopback mounts.
2003-11-17 00:28:32 +00:00
dbj 982688a7fd #include <util.h>
this is needed by fparseln on macos/darwin and is harmless on netbsd
2003-11-17 00:02:33 +00:00
wiz 690130c2ef New sentence, new line; add comma in enumeration. 2003-11-16 23:10:00 +00:00
lukem b7b564a26d add fini.lo to CLEANFILES 2003-11-16 22:49:48 +00:00
jmc e167e82b65 Don't use L_SET as it's not portable and this is a host tool 2003-11-16 22:47:07 +00:00
manu e59cd6c2b4 Following mycroft's comment, restore -x to its original behavior: without
an argument. Introduce -Xsize to do the job. -x is equivalent to -X1
Of course -x and -Xsize are mutually exclusive.
2003-11-16 21:52:33 +00:00
oster 3c778e952c infoFunc doesn't exist any more. Nuke commented out bits refering
to infoFunc.
2003-11-16 20:32:05 +00:00
tsutsui da9776152f Misc cleanup:
- tweak some attach messages
- establish interrupt after all dma resouces are successfully allocated
- wrap an assertion with #ifdef DIAGNOSTIC
- assume NCRCFG2_FE bit is always enabled
- call bus_dmamap_sync for mdldmap at POSTWRITE for consistency
- pass proper dmamapsize for mdldmap
2003-11-16 18:31:45 +00:00
tsutsui 1dad999926 Fix address calculation for split segment address when the buffer is
crossing boundary in iommu_dvmamap_load().
Fixes E2BIG error on dmamap with smaller boundary size than maxxfersize
(which is used by recent changed pcscp(4)).

While here, some KNF around debug printf etc.
2003-11-16 18:18:59 +00:00
dsl 37b127cb76 Correct .PHONY rules that force tools to be installed to use
'.if ${MKUPDATE} == "no"' instead of '.if !defined(UPDATE)'.
2003-11-16 18:06:01 +00:00
lukem 263786182a support MAKEVERBOSE 2003-11-16 16:29:04 +00:00
lukem 59c9b264d0 Use .lo for host tool objects.
Use CPPFLAGS.file correctly (CPPFLAGS.foo.c _not_ CPPFLAGS.foo.o !)
Support MAKEVERBOSE.
Be consistent about make(1) variable use.
2003-11-16 16:24:48 +00:00
wiz 535a27811f Remove superfluous double quotes; restrict to 80 chars/line;
add some commas.
2003-11-16 16:17:13 +00:00
lukem ec71eec11f .c.lo: support per-target COPTS, CPPFLAGS, CPUFLAGS 2003-11-16 16:10:50 +00:00
yamt 270c5642ae a manpage of selrecord and selwakeup. 2003-11-16 15:10:46 +00:00
yamt 52b3eb5bb0 a manpage of selrecord and selwakeup. from FreeBSD. 2003-11-16 15:07:25 +00:00