Commit Graph

2395 Commits

Author SHA1 Message Date
christos
7cdea212c0 No 0x in front of %p... 2005-05-22 15:54:45 +00:00
jdolecek
4d515665c5 assign major for nsmb(4) 2005-05-10 00:02:35 +00:00
abs
5dabfd3095 Add ADB Portuguese (pt_PT) keyboard map, from Rui Paulo in PR/30126 2005-05-05 22:29:41 +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
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
chs
a6d3ad34e1 use attach args instead of dv_unit, just like cf_unit. 2005-03-05 17:40:56 +00:00
chs
805f942254 remove some more __P that I missed before. 2005-03-05 17:34:06 +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
thorpej
df9803ce96 Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name
everything "scsi_*", since we really are talking about the SCSI command
set, ATAPI transport not withstanding.  Improve the names of many structures,
and prepend "SCSI_" onto all SCSI command opcodes.  Place items described
by the SCSI Primary Commands document into scsi_spc.h.
2005-02-21 00:29:06 +00:00
dsl
4822cbaae2 Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT 2005-02-18 21:05:50 +00:00
yamt
18acc63fc4 remove uvm_map_protect from cpu_startup of several ports.
- they shouldn't be needed with the current fault handler.
- they causes assertion failure with the recent vm_map implementation.

discussed on tech-kern@.  reviewed by Chuck Silvers.
PR/29179 from Julio M. Merino Vidal.
2005-02-11 15:03:55 +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
chs
86688c638a always map kernel text read-only. 2005-02-05 23:50:05 +00:00
chs
42c10f81be remove some leftover references to a.out symbol names. 2005-02-05 23:48:49 +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
thorpej
53eac4d6eb Eliminate use of M_HASFCS. 2005-01-30 19:15:41 +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
chs
d42decb9db mac68k no longer abuses cf_unit. 2005-01-19 02:05:04 +00:00
chs
e576d75b00 only one of the obio locators was actually used, so get rid of the others
and collapse the two variations of obio into one.  use the remaining locator
("addr") to differentiate the two possible esp and sbc devices (instead of
using the unit number).
2005-01-19 02:04:49 +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
chs
584edb5b1a simplify by not pretending that mac68k can have more than 1 zsc. 2005-01-16 00:33:43 +00:00
chs
12fcee381e only match one instance (instead of an unlimited number).
simplify by not pretending that mac68k can have more than 1 zsc.
2005-01-16 00:32:59 +00:00
chs
7caab7b80d don't require that the aed unit number be zero. 2005-01-16 00:32:16 +00:00
chs
630333b875 handle lack of locators in LKM context differently. 2005-01-16 00:32:03 +00:00
chs
8a9023bfc6 really ansify. 2005-01-15 22:39:09 +00:00
chs
7acd68b14a de-__P, remove register, ansify, b* -> mem*. 2005-01-15 16:00:59 +00:00
jmc
051513394b Use correct locator name 2004-12-15 04:09:29 +00:00
jmc
60c10a987e If LKM deal w. locators different 2004-12-15 04:09:16 +00:00
christos
2294df2c80 Move the definition of sccA from zc.c to machdep.c and always initialize it.
This way we save a mess of #ifdefs. XXX: This code is disgusting. Drivers
should not communicate with the rest of the kernel by means of global variables.
2004-12-14 16:28:00 +00:00
chs
267af995b7 use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array.  reviewed by allen briggs.
2004-12-14 02:32:02 +00:00
thorpej
a974bfe8ce - Use the cmdlen specified in the scsipi_xfer structure. Keying off
the command group ID won't necessarily work for vendor-specific commands.
- Expand the storage in the SC_REQ structure to account for 16-byte commands.
2004-12-07 21:12:42 +00:00
christos
f9258cf2bd Eliminate copies of functions that do nothing. 2004-11-14 19:01:22 +00:00
christos
6e77b72448 use the common procfs_machdep.c 2004-11-14 18:59:50 +00:00
christos
30fc143afa Add COMPAT_BSDPTY to the rest of the config files. 2004-11-10 17:54:02 +00:00
christos
eec07087aa Add COMPAT_BSDPTY on all the kernels that have COMPAT options. 2004-11-10 17:25:21 +00:00
mbw
7c1ffafac2 Change to fix PR 25689 for Swedish ADB keyboards
-    KC(52),    KS_Mode_switch,KS_Multi_key,
+    KC(58),    KS_Mode_switch,KS_Multi_key,
2004-10-30 20:13:15 +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
yamt
05f25dcc2a move buffer queue related stuffs from buf.h to their own header, bufq.h. 2004-10-28 07:07:35 +00:00
thorpej
dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
yamt
a47bee9f77 don't expose cpu_info to userland. 2004-09-26 21:44:26 +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
yamt
96d1da145d fix printf formats to match with sys/buf.h 1.75. 2004-09-22 09:56:18 +00:00
drochner
103deb3575 use config_found() instead of config_found_sm() if no submatch
function is used
2004-09-13 15:14:12 +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
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
thorpej
9cc521a148 Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
2004-08-20 06:39:37 +00:00
thorpej
4b51cecfc2 - Split the register handles out of struct wdc_channel into a separate
wdc_regs structure, and array of which (indexed per channel) is pointed
  to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
  ata_channel.  Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
  maximum number of drives that can be present on the channel.  For now,
  this is always 2.  Add an ATA_MAXDRIVES constant that places an upper
  limit on this value, also currently 2.
2004-08-14 15:08:04 +00:00
scottr
a5f6117c56 We can't generate an FPU idle frame until we know which one
####we have, so defer this until we've probed the FPU type.
####Fixes PRs 25081 and 26250.
2004-08-02 03:44:40 +00:00
scottr
9803d05af3 We can't generate an FPU idle frame until we know which one
##we have, so defer this until we've probed the FPU type.
##Fixes PRs 25081 and 26250.
2004-08-02 03:44:39 +00:00
scottr
92a2a37f74 Bus and address error handlers are set up long before we get
to initcpu(); no need to do it again.
2004-08-02 03:06:17 +00:00
jmmv
aee8313407 Add the Spanish keymap.
While here, add support for the Num Lock key (with all needed changes in the
numeric keypad), Print Screen, Hold Screen, Pause, Insert, and Delete.

Ok'ed by silence in port-mac68k@.
2004-07-19 13:31:08 +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
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
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
briggs
016f80557d Make sure kernels with KGDB enabled will compile properly.
Apply patch from Hauke Fath in PR port-mac68k/25678.
2004-06-16 05:33:23 +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
thorpej
2ecdd552dc Add the notion of "shadow registers" to the wdc driver. These shadow
registers are registers that overlap with others on many controllers, but
which may actually be distinct on some controllers.  Right now, the two
shadows are:

- wd_status (usually overlaps wd_command)
- wd_features (usually overlaps wd_error)

Add a new helper function, wdc_init_shadow_regs(), used to initialize
the shadow register handles on controllers where they do actually overlap.

Partially from Jordan Rhody @ Wasabi Systems, Inc.
2004-05-25 20:42:40 +00:00
kleink
7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
fredb
befd757743 Protect against multiple inclusion. Lets "kdump" and "ktrace" build again
on mac68k.
2004-04-29 04:18:27 +00:00
rjs
0ce713d5b6 Add the TI microExplorer card. 2004-04-25 14:22:32 +00:00
wiz
2837bf7e95 Update David Huang's email address in the license
per his request in PR 24907.
2004-03-26 12:15:46 +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
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
nathanw
797c90374e Centralize identical copies of proc_trampoline code.
(lots more opportunites here for the bored hacker, such as rei and trap0...)
2004-03-04 19:53:44 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
fredb
d5fb378200 Back out CVS fallout from last commit. Really make this build again. 2004-01-09 17:00:02 +00:00
he
38d0807d97 Make these compile again after the latest adjustments. 2004-01-06 18:46:07 +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
thorpej
a963286f8d More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
2004-01-03 22:56:52 +00:00
thorpej
5bd80d8373 Rename "struct channel_softc" to "struct wdc_channel". 2004-01-03 01:50:52 +00:00
thorpej
527c829fa0 Rename:
- wdc_xfer to ata_xfer
- channel_queue to ata_queue
and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA
controllers.  Clean up the member names of these structures while at it.
2004-01-01 17:18:53 +00:00
thorpej
4391735587 Simplify allocation of the channel queue. 2003-12-31 02:47:44 +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
fredb
d19528e4e0 Adapt to MI ATA/wdc changes. Especially, now that the address of
each individual ATA register is in the attachment structure, we
can dispense with the custom bus_space mapping hack which set the
stride, then unset it for particular bus_space functions. (There
is really no stride; the data register is read and written to
consecutive bytes. The control register mappings just happen to
be separated by four bytes.) While we're here, de-__P(), and lose
a confusing shift.

This has been tested on Quadra 630. Reviewed by bouyer.
2003-12-14 15:31:23 +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
tsutsui
81d609b1f5 Remove obsolete comments about curproc. 2003-11-08 12:17:25 +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
afee7aa4d7 Extend the #ifdef M68040 so that the `sig' variable declaration is moved
in as well, as it's otherwise not used. (from atari/atari/trap.c and
x68k/x68k/trap.c)
2003-11-02 16:49:38 +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
matt
fbcc3c4d38 Fix real uninitialized variable bug. 2003-10-30 22:35:38 +00:00
matt
b569a45229 Fix indentation/whitespace. 2003-10-30 22:25:42 +00:00
fredb
137eabcb90 Fix that last warning in a prettier (and less befuddling) way, as
suggested by Dave Huang.
2003-10-28 04:56:23 +00:00
fredb
3fef8c6042 Fix a befuddling error from gcc. 2003-10-27 23:11:23 +00:00
fredb
2ba4302402 Initialize some "might (not) be used uninitialized" variables. 2003-10-27 22:16:04 +00:00
jdolecek
694c204404 add major for 'ses' for archs which have the other scsi devices 2003-10-24 08:09:53 +00:00
jdolecek
ee510816af add wsfont major to archs which have the other wscons devices 2003-10-22 16:53:22 +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
jdolecek
ef5bb330f5 reassing majors for crypto and pf to use the newly defined MI major
range
2003-10-10 22:42:39 +00:00
jdolecek
4e915c9ccd update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
2003-10-10 21:21:25 +00:00
bouyer
b758d4deb3 Adapt for wdcattach() prototype change. 2003-10-08 11:11:06 +00:00
bouyer
88809a6534 Add atabus. 2003-10-08 11:10:54 +00:00
lukem
1c33b4e6a4 Overhaul MBR handling (part 1):
<sys/bootblock.h>:
    *	Added definitions for the Master Boot Record (MBR) used by
	a variety of systems (primarily i386), including the format
	of the BIOS Parameter Block (BPB).
	This information was cribbed from a variety of sources
	including <sys/disklabel_mbr.h> which this is a superset of.

	As part of this, some data structure elements and #defines
	were renamed to be more "namespace friendly" and consistent
	with other bootblocks and MBR documentation.
	Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
    *	Deprecated in favor of <sys/bootblock.h> (the latter is more
	"host tool" friendly).

amd64 & i386:
    *	Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
	be consistent with the naming convention of the msdosfs tools.

    *	Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
	and it's confusing to have two functionally equivalent bootblocks,
	especially given that "ufs" has multiple meanings (it could be
	a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

    *	Rework pbr.S (the first sector of bootxx_*):
	    +	Ensure that BPB (bytes 11..89) and the partition table
		(bytes 446..509) do not contain code.
	    +	Add support for booting from FAT partitions if BOOT_FROM_FAT
		is defined.  (Only set for bootxx_msdos).
	    +	Remove "dummy" partition 3; if people want to installboot(8)
		these to the start of the disk they can use fdisk(8) to
		create a real MBR partition table...
	    +	Compile with TERSE_ERROR so it fits because of the above.
		Whilst this is less user friendly, I feel it's important
		to have a valid partition table and BPB in the MBR/PBR.

    *	Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
	with other platforms.

    *	Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
    	we can boot off FAT partitions.

    *	Crank version of /usr/mdec/boot to 3.1, and fix some of the other
	entries in the version file.

installboot(8) (i386):
    *	Read the existing MBR of the filesystem and retain the BIOS
    	Parameter Block (BPB) in bytes 11..89 and the MBR partition
	table in bytes 446..509.  (Previously installboot(8) would
	trash those two sections of the MBR.)

mbrlabel(8):
    *	Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
	to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
2003-10-08 04:25:43 +00:00
thorpej
68723a995b * Shuffle some data structures so, and add a flags word to ksiginfo_t.
Right now the only flag is used to indicate if a ksiginfo_t is a
  result of a trap.  Add a predicate macro to test for this flag.
* Add initialization macros for ksiginfo_t's.
* Add accssor macro for ksi_trap.  Expands to 0 if the ksiginfo_t was
  not the result of a trap.  This matches the sigcontext trapcode semantics.
* In kpsendsig(), use KSI_TRAP_P() to select the lwp that gets the signal.
  Inspired by Matthias Drochner's fix to kpsendsig(), but correctly handles
  the case of non-trap-generated signals that have a > 0 si_code.

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

As discussed on tech-kern.  Reviewed and OK's by Christos.
2003-10-08 00:28:40 +00:00
jdolecek
e6286b949a Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
2003-10-05 08:04:24 +00:00
cl
ce3867fe3b Cast through (void *) to appease gcc3. 2003-09-28 22:56:58 +00:00