Commit Graph

68323 Commits

Author SHA1 Message Date
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
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
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
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
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
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
pk
dbaf4e4ad1 Drop the old cpu_switch() code. 2003-11-16 14:56:05 +00:00
scw
5801c73162 - Remove ixpsip_bs_tag (ixp425_sip_io.c). It just duplicated some of
the functionality of ixp425_bs_tag.
 - Add missing stream_{read,write}_1 ops to ixp425_bs_tag.
 - Re-work the delay() implementation to use the free-running Time-
   Stamp counter. This removes the need to bootstrap TMR0 early on.
2003-11-16 12:41:03 +00:00
tls
ad6779479c Oops. I missed this file in my previous commit. Add inclusion of
"files.skipjack" now that Skipjack has been moved from
sys/opencrypto to crypto/skipjack.
2003-11-16 12:10:41 +00:00
tls
1f93975cf8 Move the Skipjack algorithm from sys/opencrypto to sys/crypto/skipjack.
There are now no cryptographic algorithms in sys/opencrypto, which,
according to the comment formerly in files.opencrypto, was the original
intent.
2003-11-16 12:07:50 +00:00
tls
2a94b617f1 We can't use bf_cbc.S if I386_CPU is defined; the 80386 doesn't have
bswapl, and bf_cbc.S uses it.  Unfortunately, this means that GENERIC
will no longer use the asm code -- though it will still use the asm
for the basic Blowfish transform.  This won't slow down the KAME IPsec
(since it rolls its own CBC) but may slow down fast-ipsec in kernels
that have I386_CPU defined.
2003-11-16 12:02:15 +00:00
pk
95ad31d40c __cpu_simple_unlock: use __insn_barrier() instead of a "memory" clobber. 2003-11-16 11:22:30 +00:00
pk
fdd5b03782 Use __insn_barrier() in all bus_space read/write operations. 2003-11-16 11:09:07 +00:00
pk
97bb6a9d59 Introduce __insn_barrier(), designed to prevent instruction re-ordering
with minimal side-effects across its location in the source code.
2003-11-16 11:07:57 +00:00
dyoung
18652e3785 From Steve Woodford (scw@): fix wi(4) and wiconfig(8) on big-endian
machines.
2003-11-16 09:41:01 +00:00
dyoung
0c32f8693f So that the internal bridge works in AP mode, call ath_start after
processing Rx packets.
2003-11-16 09:32:01 +00:00
dyoung
fe919dfeb0 Fix spelling/grammar in a comment. 2003-11-16 09:05:53 +00:00
dyoung
23d8f48692 Add data-link type DLT_IEEE802_11_RADIO to wi and atw. DLT_IEEE802_11_RADIO
lets you monitor radio stats like received signal strength, which
diversity antenna was used, channel/frequency, modulation, and data
rate.
2003-11-16 09:02:42 +00:00
manu
5d86e6465f Typos in make_memory_entry_64 name definitions 2003-11-16 01:14:07 +00:00
manu
ce84f3934f Implement swtch_pri() and swtch() 2003-11-16 01:12:30 +00:00
jonathan
3638f1686a Support symmetric crypto ops, including AES, on hifn 7955 and 7956.
Not tested on 795[56],  but compiles and matches FreeBSD-tested diffs.

Suggested by Sam Leffler <sam@errno.com>, as imported into FreeBSD by Sam.
Submitted to FreeBSD by Rajesh Vaidyanath <RVaidyanath@hifn.com>.
2003-11-16 00:22:09 +00:00
jonathan
2862355ab1 Remove '#ifdef notdef' around userspace ioctl() requests for
pure (non-HMAC) MD5 and SHA1.
2003-11-16 00:16:06 +00:00
uwe
66008dfef1 Fix cpu_switchto() to correctly prepare new lwp before switching to it.
Fixes PR port-sh3/19956.

Big thanks to Christian Limpach <cl@> for pointing this out and
explaning what the fix is.
2003-11-16 00:07:13 +00:00
uwe
60f0942660 Tweak KDASSERT to avoid double negation. 2003-11-15 23:47:58 +00:00
manu
4513f19345 iTry to gather as much Mach services names as possible, this way we
will have unimplemented services showing their names in ktrace

Add a new generated file with only service id and name, which will
be included by kdump to display services names.

This removes the need for using the user ktrace facility for services names.
2003-11-15 22:55:35 +00:00
thorpej
052ba0ec50 We have CVS; there is no reason to make .bak files when generating the
syscall tables.
2003-11-15 20:30:59 +00:00
thorpej
48afa79adc We have CVS; there is no reason to make .bak files when generating the
syscall table and vnode interface tables.
2003-11-15 20:26:02 +00:00
scw
07acf64710 Re-instate the behaviour of sending SIGKILL to a process if uvm_fault()
returns ENOMEM. SIGSEGV just doesn't cut it. The original code looks to
have been lost in revision 1.34.
2003-11-15 20:18:34 +00:00
bouyer
6fb817f5dd Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
  groveling code to find a NetBSD disklabel in the first sector (so that it
  can find a label at the old sun3 LABELOFFSET) as a fallback is not
  label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
  128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
  a DIOCWDINFO after writing the disklabel to the raw partition in the
  -r/-I case (so that the kernel can convert the label if needed).
2003-11-15 17:52:30 +00:00
manu
527b59366e regen 2003-11-15 17:45:34 +00:00
manu
26853377eb Try to add all mach servers defined in Darwin in the server list. Most of
them will never be implemented, of course.
2003-11-15 17:44:38 +00:00
bouyer
5741c101e5 Clear interrupts at end of attach, in case there is one pending.
Avoid "bogus intr" messages when interrupts are enabled later.
Patch tested by myself and Chuck Silvers.
2003-11-15 16:40:46 +00:00
isaki
ae90c838ab make it compilable even if FDDEBUG was defined. 2003-11-15 15:02:08 +00:00
scw
a7533e4cdc - Add LOCKDEBUG-protected calls to sched_lock_idle() to cpu_switchto and
the idle loop. They seem to have gone AWOL sometime in the past.
   Fixes port-arm/23390.
 - While here, tidy up the idle loop.
 - Add a cheap DIAGNOSTIC check for run queue sanity.
2003-11-15 08:44:18 +00:00
petrov
5af3af05f4 Compile GENERIC.MP. 2003-11-15 05:24:51 +00:00
petrov
b1f1e5e073 Add stub for cpu_boot_secondary_processors. 2003-11-15 05:24:03 +00:00
petrov
e6b350b339 Generic SMP configuration. 2003-11-15 04:03:00 +00:00
thorpej
001102c808 Regen: fsync_range(2) system call. 2003-11-15 01:20:48 +00:00
thorpej
857f24339f Kernel portion of the fsync_range(2) system call. Written by Bill
Studenmund, and contributed by Wasabi Systems, Inc.
2003-11-15 01:19:38 +00:00
jmcneill
1708376e44 Don't set VR_EECSR_LOAD before reading the MAC address on the VT6102 either. 2003-11-14 22:33:29 +00:00
briggs
dfa839f16b Make sure that L_SA_PAGEFAULT gets cleared from l_flag if pmap_fault_fixup
returns non-zero and we want to shortcut out.  This avoids a bogus pagefault
condition being detected in sa_switch().
Many thanks to Christian Limpach for finding this, obviating my band-aid
patch to kern_sa.c (posted on tech-kern).
2003-11-14 21:22:08 +00:00
scw
4eeb1be7e4 Check alignment of the fault PC before de-referencing it.
Give the process a Illegal Instruction fault if the PC is misaligned.
2003-11-14 19:03:17 +00:00
scw
a590a31135 - In data_abort_handler(), move the fault pc alignment check to before
the call to data_abort_fixup() as the fixup routines also try to
   de-reference the fault pc.

 - If a fault came from kernel mode, and the fault address looks to be in
   the kernel's address space, and pcb_onfault is *set*, check the
   instruction which caused the fault. If it's LDR{B,}T or STR{B,}T
   then one of the copy in/out routines is trying to read/write a
   kernel address with the wrong privilege. If that address is actually
   mapped, we could end up in an infinite loop because we failed to
   notice that it's really a 'user mode' access. Yay for "crashme".
   I suspect this also fixes PR port-arm/23052.

   Note: This *could* be fixed by adding sanity checks to copyin et al,
   but that would add extra overhead to the non-error path...

 - Fix a couple of __predict_false cases.
2003-11-14 19:00:03 +00:00
christos
b7fd779233 We really don't want frame.h... 2003-11-14 17:44:05 +00:00
scw
571f89c4ad Slight re-org of the alignment/ast exit macro to better mimic the
original behaviour WRT cpsr/I32_bit handling.
2003-11-14 16:57:28 +00:00
tsutsui
b2fe3a3641 - define LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET
- set WARNS?=1
2003-11-14 16:53:37 +00:00
tsutsui
212f884f43 Misc cleanup:
- KNF
- WARNSfy
- remove __P()
- remove register declarations
- const'ify some variables
- make some local functions/variables static
- bcopy -> memcpy
- bcmp -> memcmp
- bzero -> memset
- space/TAB fix
etc.
2003-11-14 16:52:40 +00:00
itojun
4b26585bd4 s/in_ifaddr/in_ifaddrhead/. not really tested 2003-11-14 15:04:48 +00:00
tsutsui
306f405de0 Use "" rather than '\0' for null string. 2003-11-14 13:08:45 +00:00
lukem
91441af9b4 Revert previous; it is not the correct solution to the problem of
the host tool build in usr.sbin/installboot.
2003-11-14 12:07:42 +00:00
tsutsui
6a20c93bb1 Revert part of previous NULL -> '\0' changes, where actually NULL is required. 2003-11-14 11:39:49 +00:00
dsl
438ae29810 Remove the .if !target(dependall) so that 'make dependall' works (again)
for the kernel.
2003-11-14 08:33:36 +00:00
dsl
ea669558c6 Only include machine/disklabel.h if MAXPARTITIONS is undefined.
With care should allow sys/disklabel.h to be used in MI/host code.
2003-11-14 08:03:16 +00:00
jonathan
ae4accd0de Use ip_randomid(), dependent on either __NetBSD__ preprocessor
token or FreeBSD RANDOM_IP_ID config option.
2003-11-14 07:15:28 +00:00
jonathan
a03a5696d5 include <sys/mbuf.h> before FAST_IPSEC-dependent headers. 2003-11-14 07:13:25 +00:00
uwe
b12f3576c6 Use assembler version of bswap64. 2003-11-14 00:39:17 +00:00
uwe
be72e49c47 bswap64 written in assembler. 2003-11-14 00:38:17 +00:00
scw
bb0221494d Since data_abort_handler() may have to decode the instruction at tf->tf_pc
to determine if a fault is read or write, make sure tf->tf_pc is 32-bit
aligned before dereferencing it.

Otherwise, deliver an illegal instruction signal to the process. We don't
support execution of Thumb code at this time.
2003-11-14 00:21:30 +00:00
uwe
8fdd163272 Eliminate bzero. 2003-11-13 23:55:20 +00:00
fvdl
6cdccae32c Remove leftover debugging printf. 2003-11-13 23:00:54 +00:00
scw
c86e508708 On Rhine III, don't set VR_EECSR_LOAD before reading the MAC address.
This reloads the entire EEPROM, not just the MAC address, which can
cause problems for the host PCI bus under certain circumstances. The
chip already loads the EEPROM at powerup/reset anyway.

XXX: This probably applies to the other Rhine variants too, but I don't
have a data sheet to confirm this behaviour.
2003-11-13 22:29:09 +00:00
bouyer
9494bbf9c9 If we detected an old drive on a channel, clear (ATA|ATAPI) for both
drives on the channel.
2003-11-13 22:18:10 +00:00
simonb
d707aa947b Be consistent with "#define<tab>" in previous change. 2003-11-13 20:14:27 +00:00
tsutsui
302df7965a Backout part of rev 1.4 which caused uninitialized pointer dereference.
(How does it works!?)
2003-11-13 15:53:31 +00:00
tsutsui
d859f28a2d Use 32bit daddr_t for now so that uboot.lif works again.
XXX The real fix is adding prototype declarations for all functions.
2003-11-13 15:50:46 +00:00
christos
6dfe125b9c we could have lpt at puc. 2003-11-13 14:39:38 +00:00
sekiya
466d2c1848 libsa's iso9660 routines don't handle rockridge. Alter installation kernel
fixup routines accordingly -- we'll use "ip2x" and "ip3x" for install kernel
names rather than "netbsd-INSTALL32_IPxy".
2003-11-13 14:31:54 +00:00
tsutsui
9b10e90d9a Don't use htobe32() for int16_t values. 2003-11-13 14:07:01 +00:00
tsutsui
a0795dd18e Use int16_t and int32_t rather than short and int. 2003-11-13 14:06:22 +00:00
manu
b5139de154 Enforce good santity checks with Mach messages sizes:
1) make sure Mach servers will not work on data beyond the end of the
   request message buffer.
2) make sure that on copying out the reply message buffer, we will not
   leak kernel data located after the buffer.
3) make sure that the server will not overwrite memory beyond the end
   of the reply message buffer. That check is the responsability of the
   server, there is just a DIAGNOSTIC test to check everything is in
   good shape. All currently implemented servers in NetBSD have been
   modified to check for this condition

While we are here, build the mach services table (formerly in mach_namemap.c)
and the services prototypes automatically from mach_services.master, just
as this is done for system calls.

The next step would be to fold the message formats in the mach_services.master
file, but this tends to be difficult, as some messages are quite long and
complex.
2003-11-13 13:40:39 +00:00
sekiya
c93054ffbf typo in include directive. 2003-11-13 12:53:05 +00:00
sekiya
959569cd0c bootloader targets have changed, which confused the install rules. 2003-11-13 12:42:18 +00:00
yamt
5ee0718f8f plug memory leak on error. 2003-11-13 11:59:46 +00:00
dsl
55302b835d Add hp300 LIF definitions 2003-11-13 08:17:12 +00:00
sekiya
40c0a4c30b loadfile truth check should be >=0, not >= 1. 2003-11-13 08:06:25 +00:00
sekiya
1ba2b99e3e More bootloader changes:
* if loading from cdrom, assume we're performing an install and
	  fix up bootpath/kernel to load the proper install kernel.
	* maximum filename length in volume header is eight characters.
	  Change boot.elf to ip2xboot, boot.ip32 to ip3xboot, and boot
	  to aoutboot (which matches kernel naming scheme as well).
2003-11-13 08:01:17 +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
sekiya
2818624aab Include proper GENERIC32 templates (mechanical edit). 2003-11-13 02:59:37 +00:00
chs
709a3b4e52 two changes in improve scalability:
(1) split the single list of pages allocated to a pool into three lists:
     completely full, partially full, and completely empty.
     there is no longer any need to traverse any list looking for a
     certain type of page.

 (2) replace the 8-element hash table for out-of-page page headers
     with a splay tree.

these two changes (together with the recent enhancements to the wait code)
give us linear scaling for a fork+exit microbenchmark.
2003-11-13 02:44:01 +00:00
sekiya
28bee58d65 Rationalize config file scheme. Discussed at length with rafal@, pooka@, soren@. 2003-11-13 02:31:46 +00:00
jonathan
fa24e6f3f8 Add m_tag_delete_nonpesrsistent(), for deleting all packet tags on
mbuf chains which are recycled (e.g., ICMP reflection, loopback
interface).  A consensus was reached that such recycled packets should
behave (more-or-less) the same way if a new chain had been allocated
and the contents copied to that chain.

Some packet tags may in future be marked as "persistent" (e.g., for
mandatory access controls) and should persist across such deletion.
NetBSD as yet hos no persistent tags, so m_tag_delete_nonpersistent()
just deletes all tags. This should not be relied upon.
2003-11-13 01:48:12 +00:00
christos
a0e314dfe4 add noop wrapper functions for i386 2003-11-13 01:44:36 +00:00
cl
e2c29624f5 Prevent sa_newcachelwp() from creating new LWPs when the process is exiting.
This should fix PR 23418 which was also reported by Thomas Klausner and
Ian Fry (who also provided core dumps for analysis - thanks!).

Also g/c sa_yieldcall since it's now safe to put LWPs back into the cache.
Also return stacks in failure case.
2003-11-12 21:27:46 +00:00
dsl
0342c9586a - Count number of zombies and stopped children and requeue them at the top
of the sibling list so that find_stopped_child can be optimised to avoid
  traversing the entire sibling list - helps when a process has a lot of
  children.
- Modify locking in pfind() and pgfind() to that the caller can rely on the
  result being valid, allow caller to request that zombies be findable.
- Rename pfind() to p_find() to ensure we break binary compatibility.
- Remove svr4_pfind since p_find willnow do the job.
- Modify some of the SMP locking of the proc lists - signals are still stuffed.

Welcome to 1.6ZF
2003-11-12 21:07:37 +00:00
dbj
d3bad238a2 XXX an impossible malloc failure check in set_statfs_info 2003-11-12 20:38:24 +00:00
drochner
038b8b6573 Uhm - the last change broke everything but very simple setups.
(it only allowed to boot an nfs /netbsd automatically)
To make it work for people who can't tell the DHCP server to pass
the right kernel file to pxeboot, without losing flexibility for
people who can, do the following:
Use the filename given by the DHCP server if it contains a ":". A ":"
was already used to seperate filesystem and filename, so we don't
lose anything. Otoh, a path to pxeboot usually doesn't contain a ":",
so it should still work if we got the old pxeboot filename again.
2003-11-12 18:44:08 +00:00
jandberg
79eacc067d amidisplaycc.c:
Add screen types suitable for PAL displays, and fix typos
	in older screen type names; reported by Gunther Nikl.
amidisplay.4:
	Document the new screen types and add some misc information.
2003-11-12 17:42:40 +00:00
jandberg
3f581624a0 Fix bug/typo and rewrite some funnily structured code.
Pointed out by compiler warnings.
2003-11-12 17:26:36 +00:00
itojun
3107b5dcc0 implement net.inet6.ifq 2003-11-12 15:25:19 +00:00
itojun
d46ad3421a KNF 2003-11-12 15:00:05 +00:00
yamt
9a34eb3d5a - fix deadlocks due to using lock_status() from interrupt context.
- process pending queries in EcUnlock() to close a race window.
  now there's no need to do polling for EcQuery().
- reorder inline functions and other prototypes so that
  the formers can get needed prototypes.
- add missing prototypes.
2003-11-12 13:59:23 +00:00
cl
e6bcfbd5e0 catch up with in_ifaddr -> in_ifaddrhead rename 2003-11-12 13:40:16 +00:00
yamt
5980449814 use snprintf("%X") instead of "%x" + strupr(). 2003-11-12 13:18:24 +00:00
dsl
ec098b8a13 Double space for memory disk to 5MB, this costs (almost) nothing on the
install media and the kernels (and sysinst) will still run on a 16MB system.
(They haven't run on an 8MB system for a while - might affect 12MB though.)
The additional space in the root filesystem lets sysinst core dump properly!
2003-11-12 11:47:34 +00:00
augustss
2fecfb383c Don't free non-malloced memory. From mlang@delysid.org 2003-11-12 11:29:12 +00:00
ragge
4a9b211e76 Remove the FAST_MBSEARCH ifdef, send packet prediction is now default. 2003-11-12 10:48:04 +00:00
simonb
bb845a9d67 Use just "type" and not "sc->sc_type" in cominit().
Pointed out by Shoichi Miyake in private mail.
2003-11-12 06:27:59 +00:00
manu
40a3558468 mach_msg_ool_ports_descriptor_t describe a memory region containing
an array of mach_port_name_t, not mach_msg_port_descriptor_t.
2003-11-12 00:00:28 +00:00
fvdl
9d4e217e09 From FreeBSD:
* erratum: disable the nocrc RX bit, as it may cause problems on the 570{1-4}.
  adjust the length of the incoming packet accordingly to trim it.
* the 5704 has a smaller MBUF_POOL, so set a smaller value

Local change:
* Pass the autoneg force flag to mii_attach. Some PHYs need to be kicked
  out of their falsely autoneged 10baseT state with this.
2003-11-11 22:28:58 +00:00
drochner
ca3116d2f1 in_ifaddr -> in_ifaddrhead
use TAILQ_FOREACH macro
2003-11-11 21:41:11 +00:00
enami
67b61c37a8 Prevent mkdep from parsing compiler flags like -pipe. 2003-11-11 21:26:53 +00:00
drochner
14332cf998 fix interface address list traversal in if_detach():
The code was assuming that interface addresses are removed one-by-one.
With IPv6 and multicasts, removal of one address can remove other
addresses as side effect, which caused accesses of free()d memory.
2003-11-11 20:33:46 +00:00
jonathan
79bf8521a5 Change global head-of-local-IP-address list from in_ifaddr to
in_ifaddrhead. Recent changes in struct names caused a namespace
collision in fast-ipsec, which are most cleanly fixed by using
"in_ifaddrhead" as the listhead name.
2003-11-11 20:25:26 +00:00
manu
b6b7d129a1 Added mach_thread_set_state 2003-11-11 18:12:40 +00:00
manu
a2bed85761 Implement mach_thread_get_state.
While we are here, try to tag machine dependent functions in header files.
also transformed darwin_ppc_*_state into mach_ppc_*_state, as this is
what they really are (COMPAT_DARWIN is on the top of COMPAT_MACH, not the
other way around)
2003-11-11 17:31:59 +00:00
manu
95cc30edca Correctly implement task_suspend and task_resume: the struct proc is
taked from mp->mp_data.
2003-11-11 17:26:32 +00:00
pk
bb69a241e8 Remove ancient DDB-dependent `hide/integrate'.
Simplify lewrcsr/lerdcsr; read-back after write doesn't hurt on sun4 so
skip the cpu type test in generic kernels.
2003-11-11 15:01:05 +00:00
manu
6961fe8c08 Fix an unitialized variable bug that caused a crash in mach_task_suspend().
While we are there, resolved another mystery: the unallocated port described
in the comment removed by this commit was in fact allocated by mach_task_pid().
2003-11-11 15:00:09 +00:00
augustss
b87f6623d3 Regen. 2003-11-11 10:55:32 +00:00
augustss
7e013f13c6 Add a Cypress USB2 hub. 2003-11-11 10:54:56 +00:00
scw
f99d0398fb The previous commit had a #endif in the wrong place. 2003-11-11 08:27:16 +00:00
sekiya
b3023f06a5 Rework the boot loader:
* remove dead code,
	* streamline kernel selection logic,
	* various small bugfixes.
2003-11-11 06:47:00 +00:00
sekiya
fdf5374e91 Remove unused variables. 2003-11-11 06:42:15 +00:00
sekiya
f87a5a5324 Add getopt.c 2003-11-11 06:28:15 +00:00
christos
6dc8df292b KASSERT was not the right thing here. Instead only set the type if f_type
has been inititialized. Reported by pooka
2003-11-11 00:44:16 +00:00
jonathan
b86d07f435 Allocate sysctl oid for ipv4 sysctl node "ifq", define symbolic name, and
bump IPCTL_MAXID. (Should have been committed with other ifq sysctl changes).
2003-11-10 20:50:29 +00:00
jonathan
88ba77e705 Make per-protocol network input queue stats visible to userland via
sysctl. Add a protocol-independent sysctl handler to show the per-protocol
"struct ifq' statistics. Add IP(v4) specific call to the handler.
Other protocols can show their per-protocol input statistics by
allocating a sysclt node and calling sysctl_ifq() with their own struct ifq *.

As posted to tech-kern plus improvements/cleanup suggested by Andrew Brown.
2003-11-10 20:03:29 +00:00
rearnsha
31a79ddeb0 In vm_phsyseg_find, use u_int for start, len and try when doing a
binary search.  Avoids the need for signed division by 2.  Approved
by thorpej.
2003-11-10 16:13:05 +00:00
thorpej
9a0c12a504 Correct the size passed to a malloc() call when performing command
passthrough for userland management tools.
2003-11-10 15:35:39 +00:00
drochner
bc80d3e635 Reading the (non-MII) media status if the card is not running yields
"0xffff" (eg on i386) or a machine check (on alpha).
So don't read the status if !(UP&RUNNING).
2003-11-10 12:30:27 +00:00
itojun
f5c2aa04b0 splsoftnet() on spd/sad-dump-via-sysctl to ensure no 2 threads to go into
the function, or entries being removed during the dump operation.
suenaga@iij
2003-11-10 10:52:13 +00:00
wiz
c2f9db9c64 Update URLs; from Jared Yanovich via jmc@openbsd. 2003-11-10 09:02:08 +00:00
wiz
864bb22441 Update URL; from Jared Yanovich via jmc@openbsd. 2003-11-10 08:58:39 +00:00
wiz
34eb26eec2 Update URL; s/Linix/Linux/. From Jared Yanovich, forwarded by jmc@openbsd. 2003-11-10 08:55:41 +00:00
wiz
ee1b406595 Spell address with two d's. Inspired by similar changes in OpenBSD,
originating from Jonathon Gray and forwarded by jmc@openbsd.
2003-11-10 08:51:51 +00:00
fvdl
0a3fa4cdb1 Trim ramdisk and remove some unneeded options. 2003-11-10 00:52:28 +00:00
scw
62816f9d48 Ditch some obsolete toolchain definitions and flags. 2003-11-09 23:30:39 +00:00
manu
7c1e8e9716 There is some padding on the reply packet of vm_make_memory_entry too. 2003-11-09 23:17:15 +00:00
manu
ffe118644c Added missing padding fields in vm_make_memory_entry request packet. 2003-11-09 23:07:05 +00:00
manu
d7d1474c7a Typo 2003-11-09 23:05:29 +00:00
uwe
79ddf479da Add adc, j6x0pwr, j6x0tp. 2003-11-09 22:36:17 +00:00
christos
2cd9243922 - kill bzero/bcopy
- defopt stats and settings, removing their definitions from the files
- make code compile by eliminating multicharacter constants!?! and rearranging
  variable declarations so they are defined before used!?!
- help gcc with uninitialized variables
2003-11-09 22:11:12 +00:00
uwe
19d60bc09e Compile identity ntoh*/hton* only for big endian case. 2003-11-09 22:04:00 +00:00
petrov
8ab0c67f4e Lower PIL_AUD so /dev/audio will not interrupt and interfere with
scheduler. Fixes kern/23382.
2003-11-09 21:52:31 +00:00
scw
f64ae6c776 s/NULL/0/ 2003-11-09 21:39:48 +00:00
scw
4c4ac42348 More format string fallout. 2003-11-09 21:37:08 +00:00
scw
eb042dabb2 Fix format string lossage. 2003-11-09 21:12:08 +00:00
pk
72c519a615 __cpu_simple_unlock: avoid instruction re-ordering by the compiler. 2003-11-09 21:04:44 +00:00
scw
c55851c88b Fix format string warnings for platforms where
sizeof(db_addr_t) > sizeof(long). e.g. ILP32 on sh5.
2003-11-09 20:52:18 +00:00
martin
146396081b bzero/bcopy -> memset/memcpy 2003-11-09 16:41:52 +00:00
scw
6bf28caf3e bzero is no longer used in the kernel. 2003-11-09 16:12:57 +00:00
martin
76bfd5ab17 Nuke bcopy/bzero. 2003-11-09 14:28:56 +00:00
he
b158245614 Fix another instance where `offset' might have been used uninitialized,
by adding a non-DEBUG default: and a panic().
2003-11-09 14:26:15 +00:00
scw
cd75387049 Clear r3 to zero after dealing with the pseudo-header. 2003-11-09 12:24:48 +00:00
scw
2f54b52eac Print a trap/intr frame's SPC value. 2003-11-09 12:22:15 +00:00
scw
89a3825de9 In scif_rxsoft, bail early if the input buffers have not been initialised yet.
This can happen if we drop into ddb on the serial console before
scif_attach() has been called.
2003-11-09 12:19:54 +00:00
kochi
ca17019a08 * Preserve original $Revision$
* add __KERNEL_RCSID
2003-11-09 11:50:59 +00:00
martin
c9f72038da bzero is gone from the kernel 2003-11-09 11:25:18 +00:00
martin
ef4ac967a7 Fix a comment (there is no bzero/bcopy any more) 2003-11-09 11:24:38 +00:00
martin
59c6900880 Get rid of bcopy/bzero. 2003-11-09 11:23:54 +00:00
manu
70a91d4b66 Better warnings on not fully implemented mach traps. 2003-11-09 11:10:11 +00:00
scw
a02e49b067 Fix a genuine uninitialised variable. 2003-11-09 11:09:11 +00:00
scw
41d2057ea7 Pick the right value for {,_}MACHINE_ARCH according to endianness.
Spotted by mrg@.
2003-11-09 08:27:19 +00:00
yamt
c337d7540c fix typos in comments. 2003-11-09 07:57:15 +00:00
yamt
29352ed442 - fix an use-after-free bug in /dev/fd/* handling.
specifically, don't keep a stale pointer in fd_ofiles.
  it isn't needed anymore as fd allocation is now done using bitmaps.
- clean up dupfdopen() a little.
- don't call fd_used() unnecessarily.
2003-11-09 07:55:38 +00:00
yamt
1fc953c5e2 in the non-overwritten case of sys_dup2(),
call fd_used() by itsself rather than leaving it to finishdup().
2003-11-09 07:52:26 +00:00
tsutsui
112c91d583 Use #if defined(_KERNEL_OPT) to protect #include "opt_xxx.h"
from building LKM etc. Suggested by mrg.
2003-11-09 05:29:59 +00:00
uwe
9df7e01734 Implement trivial WSDISPLAYIO_SVIDEO that flips DON bit in LCDLDR1.
This only turns off the display in the LCD controller.

TODO: Need to add a platform specific way to turn the screen on and
off as well (e.g. on Jornada 680 this is bit 0 in hd64461 GPIO port B).
2003-11-09 02:05:42 +00:00
uwe
680e83de11 Get rid of bcopy relics. Minimize diffs against the libc version. 2003-11-09 01:03:56 +00:00
uwe
f28afa6ac5 Nuke bcopy. Move the code to memmove.S (which it is) make memmove the
primary entry point and comment out the bcopy entry point.

Kernels before and after the change are identical.
2003-11-08 23:59:12 +00:00
uwe
aa4c79f23b For the rasops-drawn cursor the fg/bg indices are bit inverted, so
provide complimentary colors in the upper 16 entries.
2003-11-08 22:49:28 +00:00
manu
43a6b5539b Make ngetdents working again, after the strcpy -> strlcpy move broke it
(because of an incorrect len argument)
2003-11-08 22:36:01 +00:00
fvdl
f601ca945b Add POSIX 1003.1b semaphores. 2003-11-08 21:38:18 +00:00
manu
6d58f326f1 Build again with SIGINFO, patches from Christopher Sekiya. 2003-11-08 21:35:26 +00:00
manu
352595e88d Warkaround warning for uninitalized variables 2003-11-08 21:33:34 +00:00
manu
ee7a6d2747 Restore COMPAT_IRIX signal delivery to an usable state. We provide a
fake sigcode so that trampoline vers checks in sigaction1() will not
return EINVAL. Another fix would be to duplicate code from svr4_sys_sigaction()
to irix_sys_sigaction() and call sigaction1() with vers != 0. We do not
do that because it would duplicate some code.
2003-11-08 21:28:45 +00:00
tsutsui
1fafd3e354 Define all members in TX/RX DMA descriptors as u_int32_t and use proper shift
and mask ops since smc83c170 chips access them in 32bit width with proper
byteswap mechanism, so that all #if BYTE_ORDER in descriptors can be removed.
While here, do some slight optimizations in epic_start() and epic_intr().
2003-11-08 16:08:13 +00:00
tsutsui
addcf5d254 #if defined(_KERNEL_OPT) is enough, #if !defined(_LKM) isn't needed
in that case. Pointed out by mrg.
2003-11-08 15:19:20 +00:00
lukem
7ce35daccc Add '.SUFFIXES: .m4' here, now that <sys.mk> doesn't provide it anymore.
It appears that .PATH.m4:  needs it.
Should fix problem noted in private mail by Markus W Kilbinger.
2003-11-08 14:45:02 +00:00
pk
582c396832 Construct arguments properly and update comment in previous bzero -> memset
changes.
2003-11-08 14:04:26 +00:00
martin
6e204ff9bc Fix previous (bzero -> memset), it overlooked the delay slot.
Use set and clr pseudo instructions to simplify the code a bit.
2003-11-08 13:21:36 +00:00
tsutsui
ecd13dfa39 Add pseudo-device ksyms 2003-11-08 12:17:53 +00:00
tsutsui
81d609b1f5 Remove obsolete comments about curproc. 2003-11-08 12:17:25 +00:00
tsutsui
3dc4924359 In trap(), curlwp could be NULL so don't refer it implicitly. 2003-11-08 12:08:12 +00:00
tsutsui
7a6d021fe2 Include "opt_lockdebug.h" only #if !defined(_LKM) && defined(_KERNEL_OPT). 2003-11-08 12:06:20 +00:00
tsutsui
dc9a6c03b4 Adapt to replacement of apcireg.h and dcareg.h. 2003-11-08 12:02:33 +00:00
tsutsui
f009006333 Remove obsolete files by MI com(4) driver support. 2003-11-08 11:22:11 +00:00
tsutsui
30f361a050 Move apcireg.h and dcareg.h to stand/common since they are no longer used
by kernel.
2003-11-08 11:19:30 +00:00
tsutsui
63b14eb5b6 Switch DCA and APCI serial devices to use MI com(4) driver.
DCA is tested on HP362 and HP382 with serial console,
but APCI on HP4xx is not tested yet.
2003-11-08 11:18:33 +00:00
jdolecek
117242ea83 use "mov 0, %o1" instead of kinda strange "sethi 0, %o1" in previous
pointed out by Matthew Green
2003-11-08 08:09:38 +00:00
jdolecek
3050a50d90 don't need bcmp() and bzero() 2003-11-08 07:40:37 +00:00
jdolecek
587e0e3497 use memset() instead of bzero() 2003-11-08 07:39:18 +00:00
jdolecek
7cc19c4f27 no need for bcmp.c 2003-11-08 07:24:46 +00:00
jdolecek
ac5e658022 fix uninitialized variable use in previous change (!) 2003-11-08 07:13:57 +00:00
dbj
fe70f4f25f only let i_ffs_effnlink diverge from i_nlink if DOINGSOFTDEP 2003-11-08 06:38:10 +00:00
dbj
54309cb4b4 comment out unnecessary IN_CHANGE|IN_UPDATE in lookup
move softdep specific lock release/regrab inside if DOINGSOFTDEP
2003-11-08 06:36:13 +00:00
dbj
7bfaadbc7a always do a full fsync if vp->v_type != VREG
in partial fsync, only use PGO_SYNCIO if FSYNC_WAIT is specified
2003-11-08 06:00:39 +00:00
simonb
4ebec9cd61 Add a define for the size of the UART register block. 2003-11-08 05:49:08 +00:00
dbj
2f1fc21f9c fix minor memory leaks in error paths of ffs_mountfs 2003-11-08 05:35:11 +00:00
simonb
edaec67118 Use the COM_AU1x00 option for Au1x00 feature support. 2003-11-08 05:12:51 +00:00
simonb
52f438d9a8 Sync with com.c, rev 1.222. 2003-11-08 05:10:11 +00:00
simonb
8899101173 Add a "COM_AU1x00" option, similar to COM_PXA2X0, for enabling Au1x00
features in the "com" driver.
2003-11-08 05:05:14 +00:00
sekiya
0a6f939a3d Avoid namespace collision when sgivol is compiled as a native application. 2003-11-08 04:59:00 +00:00
ross
0df0fcb2d2 Simplify (the long) Shark line 2003-11-08 04:49:17 +00:00
dbj
5040c1296f protect use of buf's b_flags with b_interlock 2003-11-08 04:39:00 +00:00
dbj
84865d5d4f protect a few uses of buf's b_flags with b_interlock 2003-11-08 04:22:35 +00:00
simonb
47299229f4 Make comsoft_callout static; it's not referenced outside this file. 2003-11-08 02:54:47 +00:00
simonb
d60244d401 Add (as yet unused) COM_TYPE_AU1x00. 2003-11-08 01:59:38 +00:00
simonb
b10e159af2 Add "XXX" to the gcc -Wuninitialised warning fix. 2003-11-08 01:58:26 +00:00
dsl
fcb78a6640 Remove depencency of vers.c on ${LIBLIST} - it messes up the depends and
I'm not sure why I added it now!
Default NWEVERSWHAT back to "BIOS Boot" - look better on boot banner page.
2003-11-08 00:02:02 +00:00
dsl
a7e45c127a stand/lib/crt/rom is no more, no need for it in .PATH 2003-11-07 23:44:56 +00:00
dsl
80e537250b Make 'dependall' generate the dependencies 2003-11-07 23:39:27 +00:00
dsl
7dbd0e094b Make 'dependall' generate dependencies in these libraries. 2003-11-07 23:34:28 +00:00
he
4918cc9279 Set `reg' before using it to print the unrecognized value. 2003-11-07 23:04:15 +00:00
briggs
9082432644 Go ahead and define xor function names up to xor16. 2003-11-07 22:04:59 +00:00
briggs
cad1dd99c8 Fix another used-before-initialized bug that gcc uncovered. 2003-11-07 22:04:13 +00:00
carrel
f830588016 enable support for the TREO 600
tested and works...
2003-11-07 21:27:56 +00:00
dsl
0c8ed6072c default: to 1024x768 landscape if unknown geometry (avoids uninitialised vars) 2003-11-07 19:21:39 +00:00
dsl
f4d417c4a9 Add default: and panic() when DEBUG undefined so that 'offset' is
not used uninitialised.
2003-11-07 19:16:01 +00:00
dsl
7e50916a6e Initialise spdreg, gcc doesn't stand a chance of tracking its use. 2003-11-07 18:56:39 +00:00
martin
2ceba4344c Fix KERN_DEBUG format string <-> parameter mismatch. 2003-11-07 18:49:29 +00:00
cl
4d3b1ee6dc always set L_SA_UPCALL if the LWP on the VP is asleep 2003-11-07 18:37:41 +00:00
he
c45fa09365 Suppress apparently-bogus -Wunitialized warnings, the compiler does
not detect that set / use occur under equal conditions in following
if() statements.
2003-11-07 18:29:30 +00:00
yamt
cc716087b0 - tweak lfs_update_single()'s prototype so that it can be used by
roll-forward code.
- reduce code duplication using the above in update_meta()
  this also fixes fragment accounting.
2003-11-07 17:55:29 +00:00
augustss
f9f08345e4 Less symbol table space. 2003-11-07 17:36:49 +00:00
christos
e348b1067c Catch up with struct proc lock changes. 2003-11-07 17:17:00 +00:00
christos
69ae0c6ad2 Fix unitialized variable use. mmm gcc. 2003-11-07 17:16:39 +00:00
augustss
c553c48410 An ugly hack for the interrupt mapping. 2003-11-07 17:12:56 +00:00
augustss
5f5dbfd073 Program some bridge options. 2003-11-07 17:06:42 +00:00
augustss
1950107e53 Add some more defines. 2003-11-07 17:03:42 +00:00
wiz
6a2ed83373 URL updates, from Jared Yanovich and jmc@openbsd, forwarded by the latter. 2003-11-07 17:03:25 +00:00
augustss
ef7949407f Fix various fallout from the big PPC changes early this year.
This pmppc port runs again now.
2003-11-07 17:00:19 +00:00
wiz
afc14a7c01 regen, so "generated from" line is correct. 2003-11-07 16:00:49 +00:00
hamajima
0086268dc3 support Corega Ether PCC-TL -- from Yasushi Oshima 2003-11-07 15:58:57 +00:00
uwe
586aada22a Supress bogus -Wuninitialized warnings. 2003-11-07 15:02:28 +00:00
pk
d6565c303c cpu_switch: values in global registers are not preserved across function calls. 2003-11-07 14:54:29 +00:00
yamt
71602f6ec9 fix spec vnode aliasing. 2003-11-07 14:52:27 +00:00
pk
0bd2c4a2ea swift_cache_enable: set cache enable bits after resetting the cache tags. 2003-11-07 14:50:21 +00:00
yamt
b43ed49269 - tell filesize changes to vm when roll-forwarding data blocks.
- handle fragment extension better during roll-forward.
- related assertions.
2003-11-07 14:50:18 +00:00
yamt
cd2445d8d3 more assertion about file truncation to zero. 2003-11-07 14:48:28 +00:00
he
435506f677 Reshuffle this code so that we avoid an uninitialized warning from the
compiler.

Reviewed by bjh21.
2003-11-07 12:24:10 +00:00
cl
716d179db5 make lwp running again if we don't switch away in sa_switch(), return is
not enough.  (noticed by yamt@)
2003-11-07 11:59:48 +00:00