Commit Graph

59766 Commits

Author SHA1 Message Date
thorpej 3d93c95dc8 Make register_t == long long for N32, and == long for everthing else.
Use register_t in label_t.
2002-11-02 02:45:22 +00:00
perry c290830eb1 changed asm()s to __asm()s.
XXX Now, could someone please explain to me why in the love of Bob a
file containing inline x86 assembler is in sys/dev/isa/????
This should be moved, fixed, or nuked from space.
2002-11-02 02:10:56 +00:00
thorpej 3517ae5f6a Define N32/N64 register usage. 2002-11-02 02:00:17 +00:00
perry a0839650fe asm -> __asm 2002-11-02 01:58:51 +00:00
perry 58d2be532d asm volatile -> __asm __volatile 2002-11-02 01:57:31 +00:00
perry 73a1e34586 asm -> __asm 2002-11-02 01:56:14 +00:00
thorpej 4b17905e0f Add support for "link sets", which are arrays of pointers to objects
gathered together in named sections by the linker.
2002-11-01 22:58:44 +00:00
kristerw 85b746f61a ISO C requires a statement after a label. 2002-11-01 21:46:51 +00:00
jdolecek 60c092247e pckbc_poll_data1(): make sure the loop variable is always initialized
this potential problem found by Krister Walfridsson
2002-11-01 21:39:31 +00:00
jdolecek 6a40f5edcb pipe_read(): initialize ocnt before pipelock() call; it might have been
used unitialized when the pipelock() call would fail
bug found by Krister Walfridsson
2002-11-01 21:34:30 +00:00
jdolecek 20e698bdc1 set nsysent to 512 (oh well, just three syscalls too many for 256) 2002-11-01 21:24:19 +00:00
kristerw 58efa0630e Removed unused variables doclusterread and doclusterwrite. 2002-11-01 21:11:43 +00:00
jdolecek 3b4db9c39d set nsysent to 256 2002-11-01 21:09:52 +00:00
jdolecek 2cfacee0a0 set nsysent to 256 2002-11-01 20:44:43 +00:00
jdolecek 22ca1fc9f1 set nsysent to 512 2002-11-01 20:32:13 +00:00
jdolecek 8bf8260072 regen: nsysent set to 256 2002-11-01 20:24:23 +00:00
jdolecek 11422af13d nsysent set to 256, and use linux_sys_nosys() 2002-11-01 20:23:23 +00:00
jdolecek d53c88616f add appropriate nsysent, and use linux_sys_nosys as sys_nosys 2002-11-01 20:20:52 +00:00
jdolecek faf637ce78 add appropriate nsysent 2002-11-01 20:20:10 +00:00
jdolecek de9c76a3b0 add appropriate sys_nosys and nsysent (not that it matters here too much) 2002-11-01 20:19:29 +00:00
jdolecek 81d274c850 make compile without DEBUG_MACH 2002-11-01 20:04:40 +00:00
jdolecek e608322a28 regen: bump nsysent to nearest p-o-2 (256) 2002-11-01 19:30:28 +00:00
jdolecek a0d3a3c03f bump nsysent to nearest p-o-2 2002-11-01 19:29:21 +00:00
jdolecek 2a9e0afa92 set emul_netbsd's e_nsysent to SYS_NSYSENT, not SYS_MAXSYSCALL 2002-11-01 19:27:05 +00:00
jdolecek 1524c4bf08 set struct emul's nsysent to compat SYS_NSYSENT, not SYS_MAXSYSCALL 2002-11-01 19:26:21 +00:00
simonb 307ae1b2e5 When calculating the space needed for the data, use the supplied
userland structure size (if passed in).
Use the supplied userland structure size (if passed in) to check if
there is enough room to copyout the next structure.
2002-11-01 15:20:03 +00:00
mrg 514174fe75 disk_unbusy() change -> NetBSD 1.6K. 2002-11-01 12:49:47 +00:00
mrg 603098b9b5 implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
	- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
	when processing hw.diskstats, add the read&write bytes/transfers for
	the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail.  however, the next time this is
change it will not fail again.

this is just the kernel portion.
2002-11-01 11:31:50 +00:00
simonb 6971634c5e Destroy "ioext" as well as "memext" when we're done with it. 2002-11-01 09:16:28 +00:00
enami d1c7d5dcae Cope with intr.h of rev. 1.29 to prevent panic when DEBUG is defined;
since splsched() now raises system priority level just to IPL_SCHED,
we can't assert that current priority level is IPL_HIGH on cpu_switch.
2002-11-01 06:06:17 +00:00
enami 68c7a9fc3f Pass an argument to panic() correctly. 2002-11-01 05:49:01 +00:00
simonb 3338dd4bd0 Fix fallout from gehenna-devsw merge. 2002-11-01 05:47:23 +00:00
enami fc1c4219ef Make this works with QUEUEDEBUG defined; don't use queue pointer after
removing an element from queue.
2002-11-01 03:34:07 +00:00
enami 5eec77bccd Cosmetic changes. 2002-11-01 03:32:21 +00:00
fvdl 4244ef3b22 For INTERLOCK_ACQUIRE, s/splsched/spllock/. 2002-11-01 01:13:32 +00:00
fvdl 5fca9b943c Make splsched == splclock, and splserial > splsched. Unfortunately,
we have to retain the 'pick unlocked interrupt handler' hack for
the MP case for now.
2002-11-01 01:12:43 +00:00
matt 71416f6690 In struct emul, e_nsysent is *not* initialized to *SYS_NSYSENT but
*SYS_MAXSYSCALL.  Adjust to this and simply compare 'code' to it instead
of doing the p-o-2 dance.
2002-11-01 00:02:40 +00:00
jdolecek f7d9e82965 constify trap_type[] 2002-10-31 22:32:40 +00:00
jdolecek b56a7c4e6b update trap_type[] according to include/trap.h contents 2002-10-31 22:24:42 +00:00
matt 8b4993db5d Convert to register prefixes. Use ANSI string concatenation for
multiline asm strings.
2002-10-31 21:31:08 +00:00
itojun ad337ee31a plug a memory leak. from sam leffler. sync w/kame 2002-10-31 17:36:16 +00:00
scw f8647e7e3c Make interrupt routing work for PCI slots 2 and 3. 2002-10-31 14:54:37 +00:00
scw bc159224ed Missing newline. 2002-10-31 14:52:54 +00:00
scw 78aeffb90b Add an explicit ULL suffix to a 64-bit constant to appease gcc-current. 2002-10-31 14:52:30 +00:00
scw 3795c4e6f4 Since we keep a list of all mappings for a given physical page (even
unmanaged mappings) so we can deal with cache aliases, make sure to
skip unmanaged/wired mappings (added via pmap_kenter_pa()) when doing
things like pmap_page_protect().
2002-10-31 14:34:17 +00:00
scw 6a3f09110b Catch NMIs when DDB is defined, instead of DEBUG.
Drop the interrupt level to zero when before handling ASTs in the
exit path of h/w interrupts.
2002-10-31 14:24:16 +00:00
scw 8bf915f645 When setting the SP for a process, copy the same value to the
process' FP for the sake of consistency.
2002-10-31 14:20:39 +00:00
martin 8ab4396fef Rearange struct mach64screen to be derived from struct rasops_info,
move a few bits around and make adding screens after attach time
actually work.

When not booting as console, try to properly set up the hardware to
get a display nevertheless (XXX - does not yet work on my U5).

#if 0 some unused functions planned for future extensions (to make clear
they are unused now)
2002-10-31 14:10:07 +00:00
junyoung c6326ab133 Now VGA_CONSOLE_SCREENTYPE can be specified with VGA_RASTERCONSOLE.
Currently only 80x25 and 80x30 modes are supported.
2002-10-31 13:06:50 +00:00
junyoung 78e97058d5 Simplify vga_raster_setscreentype() and clean up code. 2002-10-31 11:05:25 +00:00
ichiro c0c620567a regen 2002-10-31 10:40:19 +00:00
ichiro 5cbc05430b add WLI-USB-KS11G USB wlan adapter 2002-10-31 10:36:42 +00:00
christos e6535bf628 XXX: be32toh on powerpc does not cast to int32_t so passing u_long to
be32toh produces an unsigned long result, causing a printf argument
mismatch. This is the wrong fix, but I am not going to change the
powerpc macros; fix the powerpc macros and revert my change.
2002-10-31 02:40:41 +00:00
manu 293419f314 int format long arg problems 2002-10-30 23:08:00 +00:00
kleink 0917926472 Revert rev. 1.147, as per PR kern/17411.
While a hard link to a symbolic link is not ruled out by POSIX-2001,
the link(2) interface is to perform normal pathname resolution,
which includes the resolution of symbolic links.
2002-10-30 22:36:46 +00:00
matt 1cec255a41 Move child_return back to syscall.c
Fix syscall to use emulations SYS_syscall/SYS___syscall definitions.
Use the emulation NSYSENT to limit code.
Don't define *syscall_fancy if it will never be used.
2002-10-30 18:34:15 +00:00
matt c9699a165e Add missing file. 2002-10-30 18:31:39 +00:00
christos 74e8fc3424 fix fat binary architecture choosing code. mach binaries now execute as
poorly as before the x86 MP merge.
2002-10-30 15:21:01 +00:00
christos dc5aff13e6 make this compile again. 2002-10-30 15:04:47 +00:00
christos 1e48015df9 more debugging for the overwrite trap. 2002-10-30 15:04:17 +00:00
christos a22639c38a make this link again [mp branch merge lossage] 2002-10-30 15:03:42 +00:00
tsutsui f76d1dd00a Tidy up config files:
- make GENERIC more generic
- add GENERIC_MD, which has MEMORY_DISK stuff and just includes GENERIC
- add a call of dbsym(8) in Makefile.dreamcast.inc

Approved by marcus.
2002-10-30 12:22:55 +00:00
manu 6224b0c0ce Fixed mistakes 2002-10-30 07:39:40 +00:00
manu 28aec4f521 Added COMPAT_MACH and EXEC_MACHO 2002-10-30 06:45:17 +00:00
manu fddf44c0bf Add COMPAT_MACH and EXEC_MACHO support on the PowerPC 2002-10-30 06:41:45 +00:00
manu a3da524774 Prepare syscall.c for COMPAT_MACH support. linux_syscall_intern is
moved to a Linux specific file, child_return is moved to trap.c,
and we introduce a EMULNAME macro co that syscall.c can be included to
define the system call handler for another emulation.
2002-10-30 06:37:37 +00:00
manu fe4e91080d Moved binary compatibility options from arch directory to cpu directory 2002-10-30 06:26:42 +00:00
manu 3d25c32160 Removed m68k OSes binary compatibility (this is a powerpc port, right?) 2002-10-30 06:20:01 +00:00
yamt 3a7bfaf54e change "uoff" to voff_t from vaddr_t as it's offset within uvm object.
fix PR/18855.
2002-10-30 05:24:33 +00:00
simonb a426ccb272 Fix whitespace bogon. 2002-10-30 02:48:28 +00:00
petrov 71614764a4 Compile with an ISO C preprocessor. 2002-10-30 01:46:09 +00:00
manu 9b4f3b0464 Introduce an array of supported CPU types by a given arch for Mach-O 2002-10-29 22:22:30 +00:00
leo 4ffdd69467 Fix typo (isic_isac_recover -> isic_recover). Noticed by Matthias Drochner. 2002-10-29 21:02:45 +00:00
manu b57515f2c4 If the magic number is 0xfeedface instead of 0xcafebabe, this means that
the executable is not fat. The binary starts with an object header instead
of a mach fat header.
2002-10-29 19:28:19 +00:00
junyoung d285dd8c38 Reduce the number of #ifdef __sparc__ from 5 to 3. 2002-10-29 17:54:40 +00:00
tsutsui 561b10d262 Remove no longer needed #ifdef __alpha__ and #ifdef __mips__. 2002-10-29 17:01:16 +00:00
tsutsui 48d369009d Echo dbsym command. 2002-10-29 14:33:32 +00:00
tsutsui 4ece245b0e Initialize statprev in setstatclockrate(). 2002-10-29 14:30:03 +00:00
junyoung 93c1a9d0c7 Rename sparc_screen_is_console() to mach64_is_console() and turn it into
a MI interface.
2002-10-29 13:50:11 +00:00
blymn 29b7b4241f Added support for fingerprinted executables aka verified exec 2002-10-29 12:31:20 +00:00
yamt 059aba1c85 fix panic (assertion failure) on error case.
if uiomove is failed, we should clean up pages past eof.

the problem reported by kay.
ok'ed by Chuck Silvers.
2002-10-29 10:15:16 +00:00
chs fc374b9d4f add Boca Research 4- and 8-port cards. from openbsd. 2002-10-29 08:59:36 +00:00
chs cab484e445 move includes to the top so that this builds in libc context too. 2002-10-29 04:40:55 +00:00
hubertf bf1b684897 Add dates. From src/doc/CHANGES* and CVS, mostly. 2002-10-29 01:13:01 +00:00
manu f9cac3b168 Changed the ifndef guard of this header file from _MACH_EXEC_H_ to
_POWERPC_AOUT_EXEC_H_. The former was conflicting with
<compat/mach/mach_exec.h>.
2002-10-28 18:00:40 +00:00
itojun 02a04fd9fc increase correct stat. KAME pr 445 2002-10-28 16:42:44 +00:00
jdolecek 5ab7d519a3 now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
2002-10-28 13:33:07 +00:00
chs c28a94e9e1 untangle includes a bit:
don't include cpu.h in pmap.h, nor cacheops.h in cpu.h.  instead,
include cpu.h and cacheops.h in just those .c files that need them.
2002-10-28 00:55:13 +00:00
chs 4e15ef25e9 include wscons definitions, dev/sun/kbdvar.h needs it now. 2002-10-27 23:23:48 +00:00
manu e5620d742d KNF 2002-10-27 22:22:04 +00:00
manu 998f955471 Inaccurate comment fixed: This is not about SVR4, it's Mach 2002-10-27 21:41:51 +00:00
augustss 94a55d86a0 Cosmetic changes. 2002-10-27 20:16:41 +00:00
chs c04f87a03e remove setjmp/longjmp from libkern, they're not used. 2002-10-27 18:45:11 +00:00
chs c5a350ef59 use %g5 instead of %g7 (since we want to use %g7 for the cpu_info pointer
in the kernel).  resync libc and libkern versions of this file.
2002-10-27 18:41:27 +00:00
chs f921b6a46c make this compile with DEBUG (name changes missed in rev. 1.172). 2002-10-27 18:39:17 +00:00
tsutsui d0b20addb4 Add fmv and ne at isapnp, which are also working on cats. 2002-10-27 17:57:13 +00:00
chs e60ad901b2 examine the B_ERROR flag instead of the b_error field to determine
whether or not an error has occured.  pointed out by Stephan Uphoff.
2002-10-27 16:53:20 +00:00
martin f22bd286db Oops, forgot to commit this: include files.wscons instead of files.rcons. 2002-10-27 14:42:58 +00:00
tsutsui d0e55f3720 Add fmv* at isapnp? for FMV-183. 2002-10-27 10:28:39 +00:00
isaki a3708094fa Retire it. Maintaining it (= syncing with GENERIC) is worthless
anymore.  OK'ed by nsmrtsk.
2002-10-27 05:25:27 +00:00
martin 6837231089 Allow attaching wskbd at kbd, idea from Valeriy Ushakov.
This allows us to use both the old sun keyboard events (/dev/kbd) as
new wscons events (/dev/wskbd*).

TODO: Not implemented for the kbd at zstty attachment.
Wskbd as console does not yet work.
2002-10-26 19:11:13 +00:00
jdolecek c82ab2eb79 now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
2002-10-26 13:50:17 +00:00
jdolecek 405d32e2db g/c local offsetof(), it's defined in libkern.h 2002-10-26 13:24:55 +00:00
jdolecek 53ab400e78 add <machine/atomic.h> for netwinder (copied from cats, just wrapper
to #include <arm/atomic.h>)
2002-10-25 22:53:57 +00:00
martin a4c5b71389 Fix pasto. 2002-10-25 21:50:10 +00:00
martin 8c2d46f972 Add a few symbols. 2002-10-25 21:49:41 +00:00
leo e70f340199 Fritz!PCI v2.0 ISDN driver from FreeBSD. 2002-10-25 21:03:47 +00:00
thorpej 4b68c83f09 Make these work with GCC 3.x. 2002-10-25 20:46:44 +00:00
martin 325d7cc0df Scan code/keymap table for sun keyboards and wscons.
From OpenBSD, written by Jason L. Wright.
2002-10-25 20:40:34 +00:00
junyoung 9d459e65ae Register aperture is now mapped as a subregion of the framebuffer aperture
using bus_space_subregion(). This makes reg*() look better.
2002-10-25 18:57:06 +00:00
briggs c315d5acf6 Double the amount of stack space for ofwboot. 2002-10-25 18:19:43 +00:00
martin 456f63b54e Sprinkle a few bus_space_read*/bus_space_write* calls and simplify register
offset calculation. Mostly from Bang Jun Young.

Don't call wsdisplay_cnattach unconditionally.

On sparc use OF to decide whether we are console output.

This makes it actually work on my U5 - if only we had a keyboard driver
to produce wskbd events (coming soon).
2002-10-25 18:03:03 +00:00
kent 4669f33e4f regen 2002-10-25 15:58:03 +00:00
kent 9bedd91d95 Correct a typo in the previous change. 2002-10-25 15:56:47 +00:00
kent 7da30dbfb0 Add vender IDs and product IDs:
- ENE CB1410 (http://mail-index.netbsd.org/tech-kern/2002/10/24/0038.html)
 - iCompression iTVC15

Correct ID of AMD PBC8111_AC.
2002-10-25 15:54:33 +00:00
briggs 458f8dc093 Restore .Lpmc_intr_return -- ben only removed one of two references to it. 2002-10-25 14:29:37 +00:00
fvdl fe9d9a8b25 Fix MTRR code which had been broken since the MP merge (but silently
failed due to a missing include of opt_mtrr.h in cpu.c)
2002-10-25 12:01:56 +00:00
fvdl 526dd035ea Add macros for cpuid family/step, etc shifting. Moved here from
machdep.c.
2002-10-25 12:00:11 +00:00
jdolecek 7579e4a9fb do not install footbridge_irqhandler.h 2002-10-25 07:57:39 +00:00
jdolecek a8dbe27136 add a missing opmskqfilter() prototype 2002-10-25 07:47:56 +00:00
yamt ac3a01e67e use B_ASYNC for children of nested buffers in genfs_getpages.
ok'ed by Chuck Silvers.
2002-10-25 05:44:41 +00:00
oster 661b040860 Poolify callback descriptor allocation. While some of the underlying
problems just get shuffled around a bit, we do play more nicely with
LOCKDEBUG now.
2002-10-25 03:14:37 +00:00
mycroft 8131f239bf IBSS mode does in fact work on some earlier Symbol firmware versions, as
witnessed by my home network.
2002-10-25 01:35:12 +00:00
chris 02debbc8ab Add comment explaining what DDB_KEYCODE does. It should probably be renamed
to DDB_BREAK_CHAR to match the com driver at some point, although even that
isn't used everywhere.
2002-10-25 00:08:43 +00:00
petrov 45a2f80742 Remove duplicate code in iommu_dvmamap_sync. 2002-10-24 23:24:01 +00:00
atatat 68277bb301 In the case of a double amap_extend() (during a forward merge after a
back merge), don't abort the allocation if the second extend fails,
just abort the forward merge and finish the allocation.

Code reviewed by thorpej.
2002-10-24 22:22:28 +00:00
christos 3bdf8a1678 fix a couple of lint warnings. 2002-10-24 20:54:41 +00:00
christos 07dca24022 make offsetof lint friendlier. 2002-10-24 20:53:50 +00:00
christos 3d15188e5d use -X to ignore static function unused warnings, and echo the command. 2002-10-24 20:52:38 +00:00
martin 1def10c9a4 A few 64bit nits. 2002-10-24 20:41:59 +00:00
atatat 2d6863ada3 Call amap_extend() a second time in the case of a bimerge (both
backwards and forwards) if the previous entry was backed by an amap.

Fixes pr kern/18789, where netscape 7 + a java applet actually manage
to incur forward and bimerges in userspace.

Code reviewed by fvdl and thorpej.
2002-10-24 20:37:59 +00:00
junyoung 83f535c080 Add commented-out machfb attachment. 2002-10-24 18:22:53 +00:00
junyoung 2c1cfbd9df Add machfb, ATI Mach64/Rage framebuffer display driver.
XXX this version is not fully functional yet. More to come shortly.
2002-10-24 18:15:57 +00:00
chs ea6ddab6a8 the work-around in rev. 1.37 (turn off async) wasn't enough to prevent
hangs under heavy load.  so we now apply the more extreme version:
make MFS mounts "sync".  fixes PRs 17128 and 17321.
2002-10-24 16:41:00 +00:00
scw b67ad48827 Put bit definitions for the FP control/status register in <sh5/fpu.h> and
use them instead of "magic" numbers in the source.
2002-10-24 13:58:48 +00:00
scw 511275734b Format string fixes. 2002-10-24 13:48:44 +00:00
jdolecek 4501e88f21 put back the D_DISK tag for cdevsw mistakely removed in previous
revision
2002-10-24 08:04:00 +00:00
fvdl ab08e70bd1 Make this actually compile. 2002-10-24 07:43:21 +00:00
grant 20aee41979 regen 2002-10-24 06:40:56 +00:00
grant e1efdc58c7 COREGA are OEM NDC products.
add NDC NCP130 rev A2 wireless NIC.

From T. M. Pederson in kern/18609.
2002-10-24 06:40:07 +00:00
augustss 37da939075 Make it compile after the kq changes.
XXX I'm not sure what kqfilter cgd should have, it gets nokqfilter for now.
2002-10-24 01:43:54 +00:00
augustss ec2ec8eeeb g/c IRDA ioctls (was within #if 0 anyway)
Fix kqueue pasto.
2002-10-24 01:36:34 +00:00
mycroft 4b51da752c Enable Transmeta CPUs without the LongRun registers to get through
transmeta_cpu_{info,setup}().
2002-10-23 21:41:34 +00:00
manu f8aec0fd04 Added a cleanup function for the (un)shared region list, so that it does
not grow forever.
2002-10-23 21:30:46 +00:00
manu 13a3d2ed82 In mmap, use the address returned by sys_mmap to keep track of (un)shared
regions
2002-10-23 20:45:38 +00:00
jdolecek f040fc2e24 ext2fs_remove(): use 'else' to eliminate need for goto (and improve
readibility, even)
2002-10-23 19:52:16 +00:00
jdolecek 707bbfecd1 g/c cons_ocount, it's not used by anything 2002-10-23 19:48:59 +00:00
pooka d16eacc3ef avoid namespace collision with IMASK 2002-10-23 14:57:15 +00:00
lukem 5b95beaf5f this is a host prog... 2002-10-23 14:35:28 +00:00
lukem 9e0285bfee this is a HOSTPROG; no need to set LDSTATIC=-static 2002-10-23 14:22:38 +00:00
scw b28965836d Tick off another item. 2002-10-23 13:37:05 +00:00
scw 590d641525 A 64-bit config file for the Cayman. 2002-10-23 13:28:01 +00:00
scw c774ffbae4 MD glue for COMPAT_NETBSD32 on SH-5. 2002-10-23 13:26:35 +00:00
scw 31397fedc3 Make the compile if PMAP_DIAG is not defined. 2002-10-23 13:24:28 +00:00
scw 305ef1efe0 Regen to pick up netbsd32___sigaction_sigtramp addition. 2002-10-23 13:18:17 +00:00
scw cb52115837 In preparation for COMPAT_NETBSD32 on SH-5:
- The MD netbsd32_machdep.h header now defines the 32-bit pointer type
   instead of using u_int32_t everywhere,
 - The MD netbsd32_machdep.h header now defines a macro (at least on
   current implementations) which converts a 32-bit pointer to its 64-bit
   equivalent,
 - Change the MI code to utilise the above two items in all the right places,
 - Implement netbsd32___sigaction_sigtramp().

Tested on Sparc64 by Matt Green.
2002-10-23 13:16:38 +00:00
jdolecek d17511b4ea bump version to 1.6J - kqueue branch merge 2002-10-23 09:22:35 +00:00
jdolecek 07c713d5c2 install kqueue sys/event.h 2002-10-23 09:21:24 +00:00
jdolecek 25f6d9c389 regen: kqueue branch merge, addition of kqueue(2), kevent(2) 2002-10-23 09:18:16 +00:00
jdolecek 25cfe9dabd regen: kqueue branch merge, addition of VOP_KQFILTER() 2002-10-23 09:16:46 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
gmcgarry 3dae1c4857 vclean() isn't part of the interface so make it local.
Sort prototypes by the interface they belong to.
2002-10-23 06:45:49 +00:00
junyoung 06ad574db3 Minor optimization: movl and andl are slightly faster than movb and andb,
respectively.
2002-10-23 03:28:34 +00:00
christos f64a8c827d remove duplicate cpp defs. 2002-10-23 02:32:36 +00:00
perry 0b13788269 remove redundant defines caught by lint 2002-10-23 02:06:11 +00:00
perry 43ed640ca5 fix lint warnings about things being stringified under cpp -traditional 2002-10-23 01:50:11 +00:00
christos ab944659c0 change the macro params to longer names 2002-10-23 01:34:58 +00:00
christos c0c3ab8507 s/{ }/{ 0 }/g 2002-10-23 01:06:54 +00:00
christos 438cf3ed4d we need more/different lintstub includes. 2002-10-23 00:58:28 +00:00
christos 24cbd7bcbd add more lintstub includes. 2002-10-23 00:52:56 +00:00
perry afc2a6e72c fix LINTSTUB for in6_cksum 2002-10-23 00:13:14 +00:00
perry 20c8324fac add Empty LINTSTUB 2002-10-23 00:12:27 +00:00
perry 4235f246f8 Gah. I meant Empty. EMPTY!!! 2002-10-23 00:11:00 +00:00
perry 3f95da0362 add a Ignore directive 2002-10-23 00:10:30 +00:00
thorpej b61c7338b7 Give the ramdisk another 12k of space. 2002-10-22 23:35:16 +00:00
christos ea0cda2cda remove XXX should die comment from the define; otherwise traditional cpp
screws up the elf name formation.
2002-10-22 23:31:24 +00:00
christos 2e8712edaf avoid using gcc ({}) statements that contain goto's. Change into do while
loops.
2002-10-22 23:18:51 +00:00
perry 06374318c8 ARGSUSED 2002-10-22 21:58:33 +00:00
perry 0cbafb99fa change arc4_ctx to use unsigned values -- kills lint warnings 2002-10-22 21:50:08 +00:00
christos 2730dd7756 void functions do not return values. 2002-10-22 21:02:09 +00:00
christos 633f1790bf parenthesize properly. 2002-10-22 20:51:43 +00:00
jdolecek e0c1e1cffb g/c kbdpoll(), it was replaced with nopoll() 2002-10-22 20:20:35 +00:00
chris aa7f00f3de netwinder and cats can share irqhandler.h, so move (and rename) into the
footbridge dir, and share it.
2002-10-22 20:15:25 +00:00
petrov a1d708ab63 Correct typo in comment(pointed by john heasley <heas@shrubbery.net>). 2002-10-22 17:58:45 +00:00
drochner d17faedcd0 -fix script botch from CFATTACH_DECL introduction
-while here, spotted probe error: we shouldn't try other locations if the
 base address is nailed down per locator
2002-10-22 16:18:26 +00:00
thorpej 3e6493c448 Fix typos in media configuration register init. From patch posted
to tech-kern by Erik Anggard <erik.anggard@packetfront.com>.

May address PR 16346.
2002-10-22 16:13:44 +00:00
scw 1ad6189f11 No, really attach sm(4) at sysfpga... 2002-10-22 15:35:25 +00:00
scw b604625664 - sm at sysfpga,
- gsip at pci (and its phy)
2002-10-22 15:21:24 +00:00
scw 8477927799 - Attach sm(4) at sysfpga instead of at superio. The latter was a relic
of when we used to attach sm(4) to the isabus.
- Re-work sysfpga's interrupt naming scheme to reflect that used in the docs.
2002-10-22 15:19:06 +00:00
scw b12d613c40 Enable the NMI only if DDB is defined, instead of DEBUG. 2002-10-22 14:38:26 +00:00
scw bce8874166 Make this compile when DEBUG is not defined. 2002-10-22 14:17:34 +00:00
kent 742633f2d2 Correct codec id of VT1611A.
Add codec id of VT1616.

ALC650 codec specific chagne:
 Add outputs.surround.mixtofront,
 outputs.center.mixtofront, and outputs.lfe.mixtofront.

VT1616 codec specific change:
 Add outputs.surround.mixtofront,
 outputs.center.mixtofront, and outputs.lfe.mixtofront.
 (Not tested)

XXX: We should provide ac97(4) manual page and describe
codec-specific features.
2002-10-22 13:48:30 +00:00
ad 0d6011b266 PR 18760: don't issue I2O_EXEC_IOP_CLEAR to AMI boards, since some
firmware revisions can't handle it.
2002-10-22 13:42:33 +00:00
scw 949919c48e Tick off another item. 2002-10-22 13:11:06 +00:00
scw 2a52019c1e As per TODO item #13, clear the Referenced bit in the PTE after purging
a mapping from the TLB/cache to prevent duplicate purges for pages
which were not touched since the last purge.
2002-10-22 13:10:28 +00:00
scw 03c573236d Replace the SuperH memcpy() with homebrewed code. The former seems to have
a subtle failure mode which can result in corruption of memory outside the
bounds of the destination buffer.
2002-10-22 12:25:18 +00:00
scw 8496cdaeb7 - Fix REDUCE16 to ignore the upper 32-bits of the input operand.
- Shift a leading misaligned quad to compensate for the implicit shift
  in the "ldlo.q" instruction. (And remove the "XXX:" comment which correctly
  hinted that this might be necessary).
- Clean up some comments.
2002-10-22 12:22:43 +00:00
simonb 8465b6a98d Don't call cdevsw_lookup() with an uninitialised variable in
linux_sys_ioctl().
2002-10-22 11:55:10 +00:00
yamt 869f4a9733 fix panic introduced by my previous commit.
for device special files, VOP_UNLOCK is called
by nfs_loadattrcache with v_data == 0.

reported and tested by Matthias Drochner.
2002-10-22 10:10:28 +00:00
scw 6a2132797e - Simplify early initialisation so we do most of it in C.
- Call allocsys() much earlier so we can use uvm_pageboot_alloc() to
  steal KSEG0 pages for system tables.
2002-10-22 09:30:26 +00:00
lukem 3b5f6123fa fix typo in previous: s/tip/top/ 2002-10-22 07:22:19 +00:00
chs cb1254e9a1 in ofnet_read(), interpret returns of either -2 or 0 from OF_read() as
meaning that there is no packet available.  the OF spec reportedly
says that it's supposed to return 0 in this case, but my Firepower box
uses -2, so this is probably another of those FIRMWORKSBUGS things.
we'll accept both values in any case.
2002-10-22 06:28:50 +00:00
chs f17273fd1e add another QUEUEDEBUG check: in TAILQ_REMOVE(), if the element we're
removing has no next element, verify that the queue head agrees that
the current element is the last one.  (this is how I found the recent
ppc pmap bugs).
2002-10-22 04:50:38 +00:00
chs 4017fd1809 fix two bugs in the previous PTE-spill handling changes:
- in pmap_pte_spill(), the victim PTE could be using the secondary hash,
   in which case its pvo entry is actually in the other bucket.  use the
   correct bucket for the victim pvo when moving it to the front of its list.
 - similarly, in pmap_pvo_remove(), if the pteidx is pre-computed for us,
   it might actually point to the other bucket if the entry is using the
   secondary hash.  adjust ptegidx if this is the case.

these should fix PRs 18645 and 18736.
while I'm here, wrap line lines and do some other misc cleanup.
2002-10-22 04:34:13 +00:00
thorpej 163bdfc19e Make sure TF_REQ_TSTMP and TF_REQ_SCALE get set correctly in the new
TCPCB in the passive-open case.

Fixes PR 18677.
2002-10-22 04:24:50 +00:00
simonb 63533e7e48 "tmp" in vfs_vnode_print() is set but not used; remove it. 2002-10-22 03:38:21 +00:00
simonb acc3e26536 We go to a lot of effort to choose a suitable value for "docache" in
relookup() ... then ignore it!  Remove it.
2002-10-22 03:35:10 +00:00
simonb 9c8f3f4a77 "ovcase" is set but not used in lf_getblock(); remove it. 2002-10-22 03:32:17 +00:00
simonb a61a7031e1 Remove set but unused variable "t" in m_aux_delete(). 2002-10-22 03:29:51 +00:00
simonb 0b2999620f Remove some variables that are set but not used. 2002-10-22 03:27:47 +00:00
simonb b460a1801e "oatv" in adjtime1() isn't used after being set; remove it. 2002-10-22 03:23:24 +00:00
oster 08933e5968 Better protect hot-spare adding, and make it LOCKDEBUG friendly. 2002-10-22 03:15:28 +00:00
simonb d79a5f79da Guard use of "ostate" with #ifdef TCP_DEBUG in tcp_usrreq().
Don't put semicolons at the end of "#define token value".
2002-10-22 03:14:16 +00:00
simonb 4dd4549b31 Guard use of "so" in tcp_timer_persist() and tcp_timer_2msl() with
#ifdef TCP_DEBUG.
2002-10-22 03:11:03 +00:00
simonb ce9de06a5d In tcp_input():
Remove the set-but-not-used "proto" variable.
 Guard the "ostate" variable in #ifdef TCP_DEBUG.
Remove the set-but-not-used "parentinpcb" variable in syn_cache_get().
2002-10-22 03:07:06 +00:00
simonb 8b9702b758 Micro-optimisation: don't check if the high bit is set and then mask it
off - just mask it off anyways.  Saves a branch 50% of the time.
2002-10-22 02:53:59 +00:00
simonb ddac8bbac4 Oops, still need the call to va_arg() to advance the args pointer. 2002-10-22 02:44:34 +00:00
simonb da0d919807 "off" in rip_input() is set but not used, remove it.
static global "ripsrc" is never used, remove it.
2002-10-22 02:34:47 +00:00
simonb e6a79d25e7 "error" in in_pcbbind() was only ever set but not used, remove it. 2002-10-22 02:31:16 +00:00
simonb dc50de01ff "newifaddr" in in_control() was set but never used, remove it. 2002-10-22 02:28:47 +00:00
simonb 7a4056e25c "nmp" in nfs_lookup() is set but not used, remove it. 2002-10-22 02:19:57 +00:00
simonb 10a55ec82a In pcic_chip_socket_enable() we need to set "reg" ifdef PCICDEBUG as
well so we can print it out a little further on.
While here, remove an unreachable "return" statement.
2002-10-22 02:12:42 +00:00
simonb 3e8b9bad9e In icp_init(), initialise the "state" variable before incrementing it. 2002-10-22 01:25:28 +00:00
fair 96b8b890ed Change the "dontcare bits" argument to ifmedia_init() to IFM_IMASK
so that it is possible select PHY instances other than the first
one (instance zero), if there is more than one PHY attached.
2002-10-22 00:01:55 +00:00
fair 2104199dc3 Change the "dontcare bits" argument to ifmedia_init() to IFM_IMASK
so that it is possible select PHY instances other than the first
one (instance zero), if there is more than one PHY attached.
2002-10-21 23:38:10 +00:00
bjh21 2a89b96077 Pull down rev 1.7.2.1 [must be careful which branch I commit to!]:
Reinstate .Lextirq_return: it was used in two places, and I only removed one
of them.
2002-10-21 18:09:18 +00:00
christos 0ecf004286 Move pid allocation to the bottom of the process allocation, so that we
don't have to deal with partially initialized proc structs in the scheduler.
Pointed out by: Artur Grabowski and Chuck Silvers.
2002-10-21 17:37:53 +00:00
uch 7e96d57199 make this compile again. 2002-10-21 17:07:36 +00:00
jdc c709dda0d9 Regenerate config. files from GENERIC.in rev. 1.28. 2002-10-21 16:18:34 +00:00
scw b7d8acc608 In switch_exit(), load the SP and FP from proc0's PCB instead of using
a "null" stack.
Also be sure to clear curproc, and update curpcb.
2002-10-21 15:37:20 +00:00
uwe af2a75546d Clean-up kbd driver layers a bit more. Lift common code into the upper layer.
Add some wskbd TODO remarks (hi, martin).
2002-10-21 15:36:35 +00:00
uwe 35ec23469c Correct zstty interface attribute (cf files.sparc64 1.69).
Comment out unused kbd_tty and ms_tty attachments.
2002-10-21 15:25:42 +00:00
uwe c33f6bd531 vuid_event.h is in dev/sun now. 2002-10-21 15:22:03 +00:00
fvdl eb485a7e27 Use B_ASYNC in the !PGO_SYNCIO case. Gets back most, if not all, NFS
read throughput performance lost since the introduction of UBC. Spotted
by YAMAMOTO Takashi, many thanks to him.
2002-10-21 15:21:35 +00:00
soren 1e2dbbd422 Regen. 2002-10-21 14:45:19 +00:00
soren 7fe8894787 Correct name of TI 802.11 chip. 2002-10-21 14:45:00 +00:00
grant 9c7cf018ff regen 2002-10-21 13:41:12 +00:00
grant f6e8b6f584 add D-Link 520+ wireless ethernet. 2002-10-21 13:40:14 +00:00
yamt 005c29fafb fix a page locking deadlock problem for nfs.
add a flag that specify if the file can be truncated safely or not
to nfsm_loadattr and friends.  when it isn't safe, just mark the nfsnode
as "should be truncated later".

ok'ed by Frank van der Linden and Chuck Silvers.
close kern/18036.
2002-10-21 12:52:32 +00:00
soren 75a75e1d7a WI_PCI_CBMA belongs in dev/pci. 2002-10-21 11:57:25 +00:00
enami 7409653fdf When printing filesystem specific parameters, also print the address and
port of server numerically.
2002-10-21 03:58:07 +00:00
martin f19a67c55f Allow hyphen in kernel names. Bump version.
Should fix PR 13429 and PR 18691.
2002-10-20 20:55:38 +00:00
martin fdeb300692 We are not going to get a "upa at mainbus" autoconfig entity, since
UPA is just a physical incarnation of our mainbus0.

Evidence:

 - There can only be one!
 - The firmware node coresponding to it is the root of the OF tree

So: remove the unused (and uncompilable) upa.c, remove upavar.h after
moving the only declaration used from it to autoconf.h.
2002-10-20 15:53:16 +00:00
itojun 6fdbe5f4cb regen 2002-10-20 13:50:36 +00:00
itojun 3a816c9777 PENTAX Optio230 (http://www.digital.pentax.co.jp/ja/optio230/)
From: Yasushi Oshima <oshimaya@sc.starcat.ne.jp>
2002-10-20 13:49:46 +00:00
martin a5e0b21547 Make it compile again (the softc struct is named inconsistently,
so Jasons script did break this, but thats a bigger fish to fry than I'm
willing to handle now.)
2002-10-20 10:50:01 +00:00
kanaoka 848304f890 Fix bugs in the BIOS memory probe.
- If the BIOS reports the same memory cluster multiple times,
  only allocate the extent once.

- If we fail to allocate an extent,
  don't add it to mem_clusters and don't increment mem_cluster_cnt.

- When loading the physical extents,
  make sure we don't try to add an extent with zero length (seg_start == tmp).

port-i386/13399: from maximum entropy <entropy@tappedin.com>.
2002-10-20 10:35:41 +00:00
scw ac76a83a5c Sync with libc/quad:
As discussed (briefly) on tech-userlevel, fix our quad support to work
correctly on LP64 platforms. This is mostly just s/long/int/ in the
appropriate places.
2002-10-20 10:17:14 +00:00
gmcgarry 04a46ed198 Fix flow control in dcmmint() by checking termios control flags for
CCTS_OFLOW rather than tty t_flags.  From Steve Peurifoy in PR-18735.
2002-10-20 06:26:39 +00:00
gmcgarry 55802a56ff - merge if_levar.h into if_le.c
- de-__P(), ansify
- remove unnecessary headers
2002-10-20 05:54:29 +00:00
chs 1c2419d28a merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
 - use m68k/cacheops.*, remove duplicates from cpu.h.
 - centralize a few declarations in (all the copies of) cpu.h.
 - define M68K_VAC on platforms which have a VAC.
 - switch the sun platforms to the (now common) proc_trampoline().
 - do the phys_map thang on the sun platforms too, no reason not to.
2002-10-20 02:37:21 +00:00
isaki 31bae84b32 Remove unbalanced parenthesis in debug message. 2002-10-20 02:33:08 +00:00
isaki 49e7158ab9 x68k needs config_cfdriver_lookup() to initialize its console.
XXX ad-hoc way?
2002-10-20 02:26:59 +00:00
someya 66711e8f5f Bit shifts for interrupt channel exceeded u_int32_t width. 2002-10-20 01:06:10 +00:00
christos 30b2e62985 add ipfilter as 37 2002-10-20 00:32:59 +00:00
soren c542464dd9 CARDBUS was rotting. Make it truly GENERIC+Cardbus by including GENERIC. 2002-10-19 20:32:48 +00:00
bsh 5e33e792f7 Support Intel PXA250 and PXA210 application processors. 2002-10-19 19:31:38 +00:00
provos 5782765e61 When augmenting the nodes in RB_ROTATE_{RIGHT,LEFT} make sure that the
children nodes have reached their final state before augmenting the
parent.  This fixes an obscure inconsistency of the space in the
vm_map tree that gcc 3.2 triggers when compiling isp.o on alpha. (this
only led to some leaked space). from art@openbsd.org
2002-10-19 18:55:00 +00:00
mjacob 3c709b448c Fixes kern/18709 (correcting some typos in comments) 2002-10-19 18:41:34 +00:00
atatat df90f09849 Don't print messages about pccbb_intr_disestablish() unless debugging
is actually enabled.
2002-10-19 18:01:59 +00:00
isaki 55e60d35cf Not used anywhere. 2002-10-19 13:27:56 +00:00
scw 87df298d3e Unroll the zero/copy page loops to do 128 bytes per loop instead of 32,
paying particular attention to cache-lines and sets.
2002-10-19 13:18:55 +00:00
scw 28cf032416 If the incoming buffer is already quad aligned, skip the initial
alignment code. (There was nothing wrong with the original code path
other than it was slightly slower if the buffer was already aligned).

Also, catch another corner case related to alignment/length of the
last 1-7 bytes.
2002-10-19 13:17:33 +00:00
bsh d5fb42a86c non-inline version of atomic_{set,clear}_bit(), defined when
ATOMIC_SET_BIT_NONINLINE_REQUIRED is defined.
(extracted from arm/arm32/locore.S)
2002-10-19 12:46:57 +00:00
bsh 7b6639153c make atomic_{set,clear}_bit() inline for arm32 ports, and
add <machine/atomic.h> for them.
2002-10-19 12:22:33 +00:00
scw 7feac76e17 Tick off a few more items, and add a new one. 2002-10-19 11:13:11 +00:00
scw 873eee59ff Add fast assembler versions of in_cksum() and in4_cksum().
(Well, as fast as can be expected on a cpu with no carry flag)
2002-10-19 09:01:44 +00:00
scw 80b7fbca17 Ditch the crude and slow bytewise copyin()/copyout()/kcopy() code in favour
of the asm memcpy() in libkern.
2002-10-19 08:56:45 +00:00
scw 921743eed1 Fix a sign-extension botch for ILP32. 2002-10-19 08:54:23 +00:00
scw 0e1af8ca62 Doh. Bail out early if we're passed a zero-length buffer. 2002-10-19 08:53:45 +00:00
scw 1e0542ac19 Fix a spurious looping PC/FP message when we stop due to not finding
the caller's stack frame.
2002-10-19 08:50:30 +00:00
scw c01b319dcc There seem to be some stability problems with the scif serial port driver
at the moment, possibly as a side-effect of some yet-to-be-committed SH5
speed-ups.

Work-around it for now by using com0 as the console.
2002-10-19 08:43:32 +00:00
scw 472a1ad6b2 When setting up to probe a com(4) port for use as the console, make sure
the port is powered up and configured correctly.
2002-10-19 08:39:50 +00:00
junyoung abbf53bb9c Add NEW_BUFQ_STRATEGY (disabled by default). 2002-10-19 05:58:25 +00:00
junyoung 7e4d58b1b8 Move NEW_BUFQ_STRATEGY to misc options section. 2002-10-19 05:55:09 +00:00
bjh21 a531a4ae8e Undo recent cpu_switch register usage changes in order to decrease nathanw_sa
merge pain.
2002-10-19 00:10:53 +00:00
mjacob 3e9f96217e Remove ISP_DMA_ADDR_T as a 'type'. Instead, go off of whether
ISP_DAC_SUPPORTED is defined and do a real typedef for the size
of DMA addresses. ISP_DAC_SUPPORTED also decides how much of any
particular DMA address is significant.

Lose STRNCAT over the side.

Add in (sight unseen) 10160 support.
2002-10-18 23:35:25 +00:00
mjacob eaf36bcbb5 Add some A64 related support. 2002-10-18 23:33:39 +00:00
mjacob af03ded9f1 Some lint fixes. 2002-10-18 23:33:14 +00:00
mjacob efd47c5c46 Slight cleanup to use ISP_MUSTPOLL macro in case we can ever fix the
issue about knowing when we're on the interrupt stack or not.
2002-10-18 23:32:53 +00:00
mjacob c4e94625c8 Fix buglet in structure canonicalization of A64 commands. 2002-10-18 23:32:08 +00:00
mjacob c58e841e1e Add in (sight unseen) 10160 support.
Start doing the work necessary to support DAC (Dual Address Cycle)
environments. This allows for direct DMA to > 4GB memory from a PCI
card.

Lose STRNCAT over the side and use SNPRINTF instead.
2002-10-18 23:31:11 +00:00
mjacob ce9eb51cc5 Put in, sight unseen, changes which should enable 10160 support.
Interestingly enough, Sun actually made a product out of the 10160,
which is a single channel variant of the 12160 (Ultra3) card.
2002-10-18 23:26:15 +00:00
mjacob 0d0c2f5911 Update to the latest Fibre Channel f/w from the QLogic intranet site.
Fixes beaucoup bugs.
2002-10-18 23:19:20 +00:00
bjh21 7dd8880e90 The grand cpu_switch register reshuffle!
In particular, use r8 to hold the old process, and r7 for medium-term
scratch, saving r0-r3 for things we don't need saved over function
calls.  This gets rid of five register-to-register MOVs.
2002-10-18 23:06:33 +00:00
bjh21 3d1b6867f0 In cpu_switch(), stack more registers at the start of the function,
and hence save fewer into the PCB.  This should give me enough free
registers in cpu_switch to tidy things up and support MULTIPROCESSOR
properly.  While we're here, make the stacked registers into an
APCS stack frame, so that DDB backtraces through cpu_switch() will
work.

This also affects cpu_fork(), which has to fabricate a switchframe and
PCB for the new process.
2002-10-18 21:32:57 +00:00
wrstuden 0ce4a385a5 Should have done this sooner. Bump to version 1.7 to indicate good
alloc.c.
2002-10-18 21:22:40 +00:00
thorpej c96a6edaf4 Make sure the footbridge device has the interface attribute. 2002-10-18 20:03:02 +00:00
nathanw c1cc872908 Catch up some code inside #ifdef DEBUG to recent pvo_entry changes. 2002-10-18 20:02:23 +00:00
tsutsui 88590b41ed Add (commented out) options NEW_BUFQ_STRATEGY and pseudo-device cgd.
(sync with GENERIC)
2002-10-18 19:30:03 +00:00
thorpej ae19c3c263 nfs_remove(): Don't vput() the vnode twice if vp == dvp, vrele() and
vput() instead.
2002-10-18 19:08:15 +00:00
junyoung e4b7588c28 Add NEW_BUFQ_STRATEGY (disabled by default). 2002-10-18 15:11:08 +00:00
junyoung cc537c2f3a Add option NEW_BUFQ_STRATEGY, a new buffer queue strategy for better
system responsiness under high disk I/O load.

OK'ed by Juergen Hannken-Illjes.
2002-10-18 14:31:10 +00:00
atatat 94ef8e0795 Add an implementation of forward merging of new map entries. Most new
allocations can be merged either forwards or backwards, meaning no new
entries will be added to the list, and some can even be merged in both
directions, resulting in a surplus entry.

This code typically reduces the number of map entries in the
kernel_map by an order of magnitude or more.  It also makes possible
recovery from the pathological case of "5000 processes created and
then killed", which leaves behind a large number of map entries.

The only forward merge case not covered is the instance of an amap
that has to be extended backwards (WIP).  Note that this only affects
processes, not the kernel (the kernel doesn't use amaps), and that
merge opportunities like this come up *very* rarely, if at all.  Eg,
after being up for eight days, I see only three failures in this
regard, and even those are most likely due to programs I'm developing
to exercise this case.

Code reviewed by thorpej, matt, christos, mrg, chuq, chuck, perry,
tls, and probably others.  I'd like to thank my mother, the Hollywood
Foreign Press...
2002-10-18 13:18:42 +00:00
scw a7be530a95 Add code to support tracing back through a stackframe which was created
using a "movi imm, Rn / sub R15, RN, R15" pair. This is how the compiler
creates frames which are too big to fit in the immediate field of "addi";
something which happens a lot with -O0 ...

While I'm here, add a simple heuristic to detect infinite loops caused by
tracing back through some non-leaf asm routines which don't set up frames.
2002-10-18 09:16:14 +00:00
oster 2eecfbf479 Improve and/or re-arrange a number of locks. While much of the locking is
still a mess, and there are a number of unresolved issues here, this
gets us closer to being happier in LOCKDEBUG land.
2002-10-18 02:46:36 +00:00
grant f525c02fbe remove 'UT' from fxp and rtk, as these have been tested and known
to work. some whitespace cleanup.
2002-10-18 01:59:27 +00:00
grant c571e22b48 add comment about pciide and wd flags (from i386 GENERIC). 2002-10-18 01:54:15 +00:00
yamt 8872a5d6af make sure to update the vnode's size even if uiomove failed.
otherwise, softdep states can't be flushed later.

ok'ed by Chuck Silvers. fix PR/16670.
2002-10-18 01:05:52 +00:00
yamt b4890b32a7 regen; fix simple typos 2002-10-18 00:59:11 +00:00