Commit Graph

3452 Commits

Author SHA1 Message Date
thorpej
a1050c527b Use device_is_a(). 2006-02-25 17:32:43 +00:00
thorpej
458b3e43f7 Use device_parent(). 2006-02-23 05:37:46 +00:00
drochner
9c6a0cdbbd don't bother to figure out whether a page was not mapped at all or mapped
with too little permission (physically) on a fault -- uvm knows better
2006-02-22 22:11:44 +00:00
perry
fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
mhitch
dca4768842 Bad Jason! Fix interrupt event counter attach typo. Only the last interrupt
was getting an event counter, and none of the dec_6600 interrupts were
getting counted.
2006-02-16 04:48:50 +00:00
cube
6ff13154dd Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
2006-02-05 05:01:48 +00:00
rpaulo
21c1d240bc bpfilter doesn't accept count anymore. 2006-02-04 02:31:12 +00:00
reinoud
a92fdbbc53 Add commented out UDF file-system entry in all GENERIC configurations. 2006-02-02 21:32:08 +00:00
christos
606bb2caed free -> dealloc
unsigned -> size_t for alloc/dealloc
2006-01-25 18:28:25 +00:00
christos
3ffa241fcd Add a STRONG_ALIAS macro 2006-01-20 22:02:40 +00:00
christos
a26b31d72e PR/32502: Anders Hjalmarsson: profiling (ticks) is broken on alpha 2006-01-12 00:30:59 +00:00
perry
2d542ba1f8 inline -> __inline 2005-12-28 19:09:29 +00:00
perry
2d65de2479 bare asm -> __asm 2005-12-24 22:45:33 +00:00
perry
f2bc845517 __inline__ -> inline 2005-12-24 21:44:28 +00:00
perry
5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
elad
4591e5acfd Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
2005-12-09 23:34:01 +00:00
tsutsui
2a32b6081e Remove obsolete options VNODE_OP_NOINLINE. 2005-12-07 12:40:46 +00:00
tsutsui
ff9b47d69e Adjust comments for options FFS_NO_SNAPSHOT.
XXX: This option should be mentioned in options(4).
2005-12-07 09:10:11 +00:00
thorpej
cfc81086d9 swcr -> swcrypto 2005-11-25 16:41:31 +00:00
thorpej
7385cdd346 "pseudo-device crypto" really refers to the /dev/crypto API to the
opencrypto framework, not the framework itself.  Update the comment
accordingly.
2005-11-25 16:35:11 +00:00
thorpej
751f32db24 Add "pseudo-device swcr" (commented out if "pseudo-device crypto" is also
commented out).
2005-11-25 16:30:23 +00:00
yamt
bc21da4cfb bus_dmamem_map: honour BUS_DMA_NOWAIT. noted by Manuel Bouyer.
bus_space_map: always do NOWAIT allocation as it used to be before yamt-km.

we have too many copies!
2005-11-24 13:08:32 +00:00
chs
59fddeceaa turn off DEBUG and DIAGNOSTIC in GENERIC kernels so that they
are compatible with the LKMs that are part of the release.
2005-11-03 16:48:29 +00:00
yamt
06085e8f52 - use sys/spl.h.
- add some IPL_ definitions.
2005-11-03 13:06:06 +00:00
yamt
fd96f3e9ea pull splraiseipl() from newlock branch. 2005-10-29 14:38:51 +00:00
heas
bfceed8072 Add major for twe(4), so that management applications have a /dev entry to use. 2005-10-14 22:02:42 +00:00
abs
97f580372a If we're enabling ipfilter then we should really have IPFILTER_LOG 2005-09-29 17:21:24 +00:00
yamt
d597202302 make VMSWAP optional again. 2005-09-17 14:38:38 +00:00
yamt
7e71f567e4 include "conf/std". 2005-09-17 09:44:05 +00:00
he
2f1d097559 The compat signal / signalvar headers are only needed under COMPAT_13
and COMPAT_OSF1, so make the header inclusion conditional as well.
2005-09-14 21:48:14 +00:00
martin
b00f137222 Add missing <compat/...> includes 2005-09-14 17:52:24 +00:00
jmmv
ec93365612 Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program.  This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*.  Therefore, it is disabled by
default in all kernels.  However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
2005-09-10 19:20:48 +00:00
kleink
aece7a90fd Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges.  Noted by David Holland in PR kern/31126.
2005-09-06 21:40:37 +00:00
kleink
1020316c01 Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges.  Noted by David Holland in PR kern/31126.

Also, dispose of a redundant instance of that check.
2005-09-06 20:24:01 +00:00
yamt
2cebed8c78 don't include uvm_extern.h twice. 2005-09-01 02:19:40 +00:00
yamt
c6b465a33e revert rev.1.99 as it is no longer necessary. 2005-09-01 02:18:19 +00:00
he
0bd65b04de Now that uvm_extern.h no longer includes uvm_fault.h, we need to include
the latter explicitly.
2005-08-31 07:07:29 +00:00
drochner
096c3e1d2c kill some more simple submatch() functions, use config_stdsubmatch() 2005-08-26 10:13:05 +00:00
drochner
fa3cb84d62 replace the "locdesc_t" structure carrying the number of locators
explicitely by a plain integer array
the length in now known to all relevant parties, so this avoids
duplication of information, and we can allocate that thing in
drivers without hacks
2005-08-25 18:35:38 +00:00
abs
2ea92d2f7a Support booting from ffsv2 filesystems - thanks Simon Burge 2005-08-20 20:15:57 +00:00
abs
60d651f649 Include the ffsv2 filesystem ops. Necessary but not sufficient for booting
from an FFSv2 filesystem. Similar change tested on NetBSD-3
2005-08-20 20:09:25 +00:00
christos
93c362d7ef Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels 2005-08-19 05:19:49 +00:00
christos
758a209d23 64 bit inode changes. 2005-08-19 02:03:49 +00:00
skrll
1293f7a748 Add (commented out) ucycom to various kernel configs. 2005-08-05 09:23:16 +00:00
yamt
38ca5312d2 revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
2005-07-31 04:04:30 +00:00
mhitch
2e8c0b59d2 Check for stale flags in the DMA map. This was causing crashes on an ES40
with more than 1GB of memory due to a bug in one of the drivers.  From
Jason Thorpe.
2005-07-30 17:25:51 +00:00
yamt
558fded29a add "options VMSWAP" to non INSTALL kernels. 2005-07-30 06:35:34 +00:00
yamt
1d0891101c defflag VMSWAP. 2005-07-30 06:33:33 +00:00
thorpej
8919f50566 - Change FPCPU_LOCK() such that the caller is responsible for blocking
IPIs in the MULTIPROCESSOR case.  Adjust all callers.
- In fpusave_cpu(), block IPIs for the entire duration (while we have
  CPUF_FPUSAVE set in ci_flags) to fix the deadlock that leads to
  "panic: fpsave ipi didn't", as described in PR port-alpha/26383.
  Many thanks to Michael Hitch for the analysis and initial patch which
  this one is derived from.
2005-07-28 13:57:06 +00:00
thorpej
fd526cad44 load_mbuf: Don't increase the segment index if we skipped a zero-length
mbuf.  From Michael Hitch.
2005-07-28 04:58:03 +00:00
rpaulo
1c06ff56a9 Added a new AMASK bit (ALPHA_AMASK_PMI) and a new IMPLVER family ID:
ALPHA_IMPLVER_EV7.

ok christos@
2005-07-28 00:24:34 +00:00
thorpej
bdfafa03cd 1. Disable the lazy allocation of lev1map in pmap_enter(), instead doing
it in pmap_create(), and freeing the lev1map in pmap_destroy().  This
   means that pm_lev1map is consistent for the life of the pmap.
2. pmap_extract() now uses vtophys() for the kernel pmap.  This avoids
   having to lock the kernel pmap, since kernel PT pages are never freed.
3. Because of (1), pmap_asn_alloc() no longer needs to operate on a locked
   pmap; pm_lev1map will never change over the life of the pmap, and all
   other access to the pmap is done in per-CPU fields or with atomic
   operations.
4. Because of (3), pmap_activate() no longer needs to lock the pmap
   to do its work, thus eliminating the deadlock with sched_lock described
   in PR port-alpha/25599.  This is safe because we are guaranteed that
   the pmap is still alive, since by definition an LWP that uses that it
   is about to run.

Thanks to Michael Hitch for the analysis, and Michael and Ragge for testing.
2005-07-26 04:11:53 +00:00
hubertf
673730506c Add support for reading cloop2 compressed filesystem image,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
2005-07-17 00:08:27 +00:00
kiyohara
c1a84a4d12 ieee1394 import from FreeBSD. 2005-07-11 15:29:05 +00:00
christos
f1461c7e8a No point in declaring syscall_intern and syscall in a zillion places. 2005-07-10 00:45:52 +00:00
tron
04b9c3437f Add (commented out) IPSEC_NAT_T option. 2005-07-07 17:05:46 +00:00
christos
6d30dcee75 PR/29607: Christian Biere systrace doesn't handle interrupted syscalls properly
Instead of jumping to the default "bad" case, jump to the error handling
switch, so that we can deal with ERESTART/EJUSTRETURN properly.
2005-07-01 18:01:44 +00:00
rpaulo
64fd052c74 Add file-system PTYFS (commented out) so that people know its existence.
Ok'ed by Christos Zoulas and Hubert Feyrer.
2005-06-25 12:05:15 +00:00
junyoung
17670568fe Use FS_OPS() macro. 2005-06-23 19:44:00 +00:00
junyoung
07350a5981 Drop trailing spaces. 2005-06-23 19:14:23 +00:00
dyoung
a37289db57 Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/.  That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such.  I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
2005-06-12 19:46:15 +00:00
matt
e1245a3c46 Rework the coredump code to have no explicit knownledge of how coredump
i/o is done.  Instead, pass an opaque cookie which is then passed to a
new routine, coredump_write, which does the actual i/o.  This allows the
method of doing i/o to change without affecting any future MD code.
Also, make netbsd32_core.c [re]use core_netbsd.c (in a similar manner that
core_elf64.c uses core_elf32.c) and eliminate that code duplication.
cpu_coredump{,32} is now called twice, first with a NULL iocookie to fill
the core structure and a second to actually write md parts of the coredump.
All i/o is nolonger random access and is suitable for shipping over a stream.
2005-06-10 05:10:12 +00:00
tsutsui
4e54a2cc7c - Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
2005-06-09 14:43:29 +00:00
he
10d9cac89f Adapt to compiling with -Wcast-qual by adding const to a function
parameter of db_mach_cpu().
2005-06-09 06:27:18 +00:00
he
ac898acfa7 Rename an inner variable shadowing the 'v' parameter to appease -Wshadow. 2005-06-08 22:38:16 +00:00
jdc
a3f78b1e6c Add a const where we cast a const variable. 2005-06-03 15:06:40 +00:00
drochner
94a3347a6f add more "const" 2005-06-02 13:17:45 +00:00
drochner
2edb650a91 typo in comment 2005-06-01 16:13:45 +00:00
drochner
8120b42b0e fix constification fallout 2005-06-01 16:13:04 +00:00
drochner
e2897481fa add "const", and spellcheck a comment 2005-06-01 16:11:15 +00:00
drochner
ad96a23ba7 fix typos in comments 2005-06-01 16:09:45 +00:00
drochner
e4b57c0c19 avoid a shadow warning, and fix a pseudo-comment 2005-06-01 16:09:01 +00:00
scw
8f4aee207b Declare the second arg of process_write_{fp,}regs() to be const.
This permits sh5 to continue to re-use those functions in cpu_setmcontext()
with the recent change to Makefile.kern.inc (revision 1.62).
2005-06-01 13:01:35 +00:00
tron
a97eb895f6 Remove attachment for the piixide(4) driver from all non-x86 kernel
configurations because Intel IDE disk controllers only exist as part
of Intel chipsets for x86 systems.
2005-05-31 22:23:52 +00:00
christos
f6b4c20f18 s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name. 2005-05-31 04:03:08 +00:00
chs
b0a8a83e7b remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them. 2005-05-31 00:45:02 +00:00
chs
6cefe93bda adapt to const changes. 2005-05-31 00:40:17 +00:00
kleink
4a6a03b162 Include <sys/cdefs.h> for __signed; related to lib/30072. 2005-05-25 20:58:00 +00:00
christos
7cdea212c0 No 0x in front of %p... 2005-05-22 15:54:45 +00:00
christos
362a4a0bd5 Yes, it was a cool trick >20 years ago to use "0123456789abcdef"[a] to
implement, xtoa(), but I think defining the samestring 50 times is a bit
too much. Defined HEXDIGITS and hexdigits in subr_prf.c and use it...
2005-05-17 04:14:57 +00:00
lukem
3fd1802e62 Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
2005-04-25 15:02:02 +00:00
kleink
b2cb7fcd8a Push back the descriptions of NaN formats, and descriptions of the
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.

IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
2005-04-15 22:39:10 +00:00
itohy
d665949330 Add ukyopon(4). 2005-04-15 17:27:20 +00:00
yamt
6b2d8b66a4 merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00
thorpej
95cc3e3c00 - Add a alpha_shared_intr_reset_strays() function that resets the stray
interrupt counter for a given shared interrupt descriptor.
- When an interrupt is successfully handled, reset the strays counter,
  thus preventing a "slow leak" from eventually shutting off the interrupt
  vector.  Idea taken from pci_kn300.c (which was changed to use the new
  alpha_shared_intr_reset_strays() function).
2005-03-29 04:06:20 +00:00
cube
78f44cbe4f Add attimer(4) configurations everywhere pcppi(4) exists, with the
following rule:
  If a pcppi device is enabled for an attachment, enable an attimer for the
  same attachement, otherwise comment it.
2005-03-25 23:28:43 +00:00
matt
a6db24a485 Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create).  dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
2005-03-09 19:04:43 +00:00
simonb
3792275475 Add an extra `i' to notifes/notifed. 2005-03-09 04:23:33 +00:00
simonb
ff8f0b23c9 Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
2005-02-25 13:46:48 +00:00
dsl
4822cbaae2 Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT 2005-02-18 21:05:50 +00:00
dsl
05e2f6ebdb Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
2005-02-11 08:25:53 +00:00
hannken
d5fbb6936f Add file system snapshots to kernel configs.
- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
  have a disk.  Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
2005-01-31 16:54:32 +00:00
rumble
de81c2c878 Sprinkle options UFS_DIRHASH on GENERIC kernels. It's presently
commented out and labeled experimental pending further review and
testing.
2005-01-28 03:19:49 +00:00
drochner
f270039c2c don't need signal trampolin version 1 if we just do COMPAT_OSF1 2005-01-21 15:50:42 +00:00
drochner
207c761e82 expose struct sigcontext* just as much as necessary 2005-01-20 21:03:26 +00:00
drochner
0baafe8595 separate the requirements for OSF1 compat from NetBSD's 2005-01-17 20:13:25 +00:00
cube
ec53a61e98 Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also.  With the exception of i386's
GENERIC_TINY.

XXX:  we _need_ some way of making this more simple.
2005-01-17 15:28:51 +00:00
he
d305062a73 In the __lint__ version of va_arg(), apply the cast the user specified.
Fixes build problem; vfprintf.c from libc fails to lint otherwise.
2005-01-11 11:36:27 +00:00
simonb
a773da1261 Revert previous method of stripping out the .eh_frame sections from
objects as they're built now that we strip them all out at final link
time.
2005-01-05 12:18:18 +00:00
simonb
888d4fa34c Discard any .eh_frame sections at link time by asking ${LD} to dump the
current linker script, change references for any .eh_frame sections so
that they go in to the special "DISCARD" section so that they are not
included in the final object, and use the resultant linker script when
actually linking the bootblocks.

Idea (and most of the sed expression) from Jakub Jelinek.
2005-01-05 12:16:49 +00:00
christos
c15f6c31fd Try one more time to pacify lint. 2005-01-02 22:00:14 +00:00
christos
b68cb5ea41 Simplify the lint case by providing simple versions of the va_ macros,
instead of defining the buildin macros used to construct them.
2005-01-02 21:55:59 +00:00
christos
faeb57b2dd Define builtin va start differently for lint, so that it does not produce
a warning.
2004-12-31 17:28:38 +00:00
jmc
a6be320e8b Make sure all objects strip out the .eh_frame section and force libsa/etc to
also do this for their objects. Otherwise this creates bootblocks that
are too large w. binutils 2.15
2004-12-28 07:50:00 +00:00
yamt
3954031773 enable debug code in pmap_emulate_reference. ok'ed by Jason Thorpe. 2004-12-25 06:35:30 +00:00
thorpej
7a60e77293 bus_dmamap_load_mbuf(): Skip zero-length mbufs.
kern/24811
2004-11-28 17:34:45 +00:00
bouyer
fe4d81db48 pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
2004-11-24 20:49:17 +00:00
christos
30fc143afa Add COMPAT_BSDPTY to the rest of the config files. 2004-11-10 17:54:02 +00:00
ragge
d26e77c79f Make match() fail if this is not a DWLPX (i.e a DWLMA).
XXX - DWL* type should be checked in kftxx.c.
This avoids a panic if the device is not a DWLPX.
2004-11-04 19:22:28 +00:00
thorpej
e9818f5b5e When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 18:08:34 +00:00
thorpej
dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
augustss
0c21c79cc5 s/uax/axe/ 2004-10-23 14:00:50 +00:00
reinoud
a64c647b71 Cleanup of main config file:
1) Fix small indenting issues

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

audio* at audiobus?
midi*  at minibus?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

symptoms of failure: panic in setrunqueue

fixes PR kern/23095
2003-10-19 17:45:35 +00:00
christos
3825627f57 define SIGTRAMP_VALID() 2003-10-18 18:34:10 +00:00
lukem
7d84b90c92 Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use  'atapibus* at atapi?'  instead of  'atapibus* at atabus?'
2003-10-18 08:30:12 +00:00