Commit Graph

810 Commits

Author SHA1 Message Date
thorpej
b81d443ef3 Allow a memory disk image to be statically included in the kernel
to be specified in the kernel configuration file, like so:

makeoptions	MEMORY_DISK_IMAGE="/path/to/image.fs"
2003-03-07 01:26:12 +00:00
christos
924acc6389 simplify the script, and add a disabled netbsd note for now. 2003-03-02 22:17:30 +00:00
perseant
eab869e1c0 Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
2003-02-27 19:22:36 +00:00
matt
65e5548a17 Add MBUFTRACE kernel option.
Do a little mbuf rework while here.  Change all uses of MGET*(*, M_WAIT, *)
to m_get*(M_WAIT, *).  These are not performance critical and making them
call m_get saves considerable space.  Add m_clget analogue of MCLGET and
make corresponding change for M_WAIT uses.
Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE.
Begin to change netstat to use sysctl.
2003-02-26 06:31:08 +00:00
atatat
df0a9badc6 Introduce "top down" memory management for mmap()ed allocations. This
means that the dynamic linker gets mapped in at the top of available
user virtual memory (typically just below the stack), shared libraries
get mapped downwards from that point, and calls to mmap() that don't
specify a preferred address will get mapped in below those.

This means that the heap and the mmap()ed allocations will grow
towards each other, allowing one or the other to grow larger than
before.  Previously, the heap was limited to MAXDSIZ by the placement
of the dynamic linker (and the process's rlimits) and the space
available to mmap was hobbled by this reservation.

This is currently only enabled via an *option* for the i386 platform
(though other platforms are expected to follow).  Add "options
USE_TOPDOWN_VM" to your kernel config file, rerun config, and rebuild
your kernel to take advantage of this.

Note that the pmap_prefer() interface has not yet been modified to
play nicely with this, so those platforms require a bit more work
(most notably the sparc) before they can use this new memory
arrangement.

This change also introduces a VM_DEFAULT_ADDRESS() macro that picks
the appropriate default address based on the size of the allocation or
the size of the process's text segment accordingly.  Several drivers
and the SYSV SHM address assignment were changed to use this instead
of each one picking their own "default".
2003-02-20 22:16:05 +00:00
jdolecek
17de86b837 need to include netsmb/files.netsmb 2003-02-18 12:20:19 +00:00
jdolecek
6b01f028b8 move netsmb-specific entries to netsmb/files.netsmb
g/c options SMB and opt_smb.h
rename the pseudo device to nsmb, and use needs-flag instead needs-count,
 adjust nsmbattach() appropriately
replace SMB_CHECKMINOR() with explicit code in smb_dev.c, to improve readability
2003-02-18 12:18:28 +00:00
perseant
b397c875ae Add code to UBCify LFS. This is still behind "#ifdef LFS_UBC" for now
(there are still some details to work out) but expect that to go
away soon.  To support these basic changes (creation of lfs_putpages,
lfs_gop_write, mods to lfs_balloc) several other changes were made, to
wit:

* Create a writer daemon kernel thread whose purpose is to handle page
  writes for the pagedaemon, but which also takes over some of the
  functions of lfs_check().  This thread is started the first time an
  LFS is mounted.

* Add a "flags" parameter to GOP_SIZE.  Current values are
  GOP_SIZE_READ, meaning that the call should return the size of the
  in-core version of the file, and GOP_SIZE_WRITE, meaning that it
  should return the on-disk size.  One of GOP_SIZE_READ or
  GOP_SIZE_WRITE must be specified.

* Instead of using malloc(...M_WAITOK) for everything, reserve enough
  resources to get by and use malloc(...M_NOWAIT), using the reserves if
  necessary.  Use the pool subsystem for structures small enough that
  this is feasible.  This also obsoletes LFS_THROTTLE.

And a few that are not strictly necessary:

* Moves the LFS inode extensions off onto a separately allocated
  structure; getting closer to LFS as an LKM.  "Welcome to 1.6O."

* Unified GOP_ALLOC between FFS and LFS.

* Update LFS copyright headers to correct values.

* Actually cast to unsigned in lfs_shellsort, like the comment says.

* Keep track of which segments were empty before the previous
  checkpoint; any segments that pass two checkpoints both dirty and
  empty can be summarily cleaned.  Do this.  Right now lfs_segclean
  still works, but this should be turned into an effectless
  compatibility syscall.
2003-02-17 23:48:08 +00:00
atatat
d2982a52ac Sorry. That's not for public consumption yet. 2003-02-10 15:20:04 +00:00
atatat
a8481319cb Add a kern.dump_on_panic sysctl variable (and documentation, and a
kernel config option) that controls whether the kernel dumps to the
dump device on panic.  Dumps can still be forced via the ``sync''
command from ddb.  Defaults to ``on''.
2003-02-10 00:35:15 +00:00
matt
62efa61d00 Add ${EXTRA_OBJ} so that pre-compiled .o's can be linked into the kernel. 2003-02-05 18:07:46 +00:00
thorpej
1b84adbe5f New callout implementation. This is based on callwheel implementation
done by Artur Grabowski and Thomas Nordin for OpenBSD, which is more
efficient in several ways than the callwheel implementation that it is
replacing.  It has been adapted to our pre-existing callout API, and
also provides the slightly more efficient (and much more intuitive)
API (adapted to the callout_*() naming scheme) that the OpenBSD version
provides.

Among other things, this shaves a bunch of cycles off rescheduling-in-
the-future a callout which is already scheduled, which the common case
for TCP timers (notably REXMT and KEEP).

The API has been simplified a bit, as well.  The (very confusing to
a good many people) "ACTIVE" state for callouts has gone away.  There
is now only "PENDING" (scheduled to fire in the future) and "EXPIRED"
(has fired, and the function called).

Kernel version bump not done; we'll ride the 1.6N bump that happened
with the malloc(9) change.
2003-02-04 01:21:03 +00:00
matt
a53ed95ee8 Allow "the forcing of root on md0a to single user" to be overriden by using
options MEMORY_RBFLAGS=0    (XXX forcing to single user needs to die).
2003-02-03 23:02:42 +00:00
thorpej
9df2a1b394 Bump version to 1.6N; extensible malloc types. 2003-02-01 06:26:30 +00:00
tsutsui
ef47e3f676 Changes to allow machines which don't use text mode at the boot time
to use generic VGA driver(s):
- Allow VGA drivers to use wsfont instead of builtin font.
- Add vga_reset() function, which will be called from MD consinit(),
  to put VGA into text mode. This function is enabled by options VGA_RESET.
2003-01-31 21:57:23 +00:00
christos
44a7a1c861 add support for p1003.1b semaphores. From FreeBSD. 2003-01-20 20:02:01 +00:00
soren
02ed3dda01 Remove unintentional change from previous. 2003-01-20 02:42:58 +00:00
soren
0a8d7994d1 Attachment for the HD44780 display and keypad on the front of Cobalt machines. 2003-01-20 01:26:12 +00:00
christos
c0b8b6d8c6 add compat_ossaudio 2003-01-18 22:34:23 +00:00
thorpej
6f2d376f48 Bump kernel version to 1.6M -- nathanw_sa branch merge. (M for
multi-lwp processes? :-)
2003-01-18 10:09:03 +00:00
thorpej
b78f59b443 Merge the nathanw_sa branch. 2003-01-18 08:51:40 +00:00
thorpej
42b7b023b2 Bump rev to 1.6L ... new autoconfiguration message printing routines. 2003-01-03 02:47:30 +00:00
jdolecek
98d58548c7 move msdosfs code from sys/msdosfs to sys/fs/msdosfs 2002-12-26 12:31:23 +00:00
jdolecek
3a8872dee7 move cd9660 filesystem code from sys/isofs/cd9660 to sys/fs/cd9660 2002-12-23 17:52:02 +00:00
jdolecek
9accf4df15 move NTFS code from sys/ntfs to sys/fs/ntfs 2002-12-23 17:38:19 +00:00
jdolecek
5356de155a move filecorefs code from sys/filecorefs to sys/fs/filecorefs 2002-12-23 17:30:36 +00:00
jdolecek
8974c3cf90 move adosfs files from sys/adosfs to sys/fs/adosfs 2002-12-23 17:15:20 +00:00
atatat
7fead95d43 Remove an antiquated comment and make .depend depend on config_time.h
so that the depend target can properly complete now that perry has the
time to use the time.
2002-12-10 19:33:11 +00:00
haya
805040f592 New Feature: add pseudo device for IEEE 1394 isochronous stream and
isochronous reception routine for IEEE 1394 OHCI (fwohci).  The
transmission part is under construction.

The minimum configuration options for this feature are:

# IEEE 1394 (i.LINK)
fwohci*	at pci? dev ? function ?
pseudo-device	fwiso		1
2002-12-04 00:28:39 +00:00
thorpej
9337fb430e Add -Wno-sign-compare; that flag was made implicit with -Wall in
GCC 3.3, and our sources aren't really up to the task, yet.
2002-11-25 01:37:11 +00:00
atatat
15d85dcb14 Alter config so that it emits a config_time.src file (the source file
for config_time.h) that contains, for example:

/* Sun Nov 17 05:37:51 2002 GMT */
#define CONFIG_TIME     1037511471
#define CONFIG_YEAR     2002
#define CONFIG_MONTH    11
#define CONFIG_DATE     17
#define CONFIG_HOUR      5
#define CONFIG_MINS     37
#define CONFIG_SECS     51

These values represent the current time as of when config was last
run, so that functions (eg, inittodr()) can use these values instead
of being updated once every year or so with the "current" time.

The associated modification to Makefile.kern.inc makes config_time.h
depend on this depend on this and the kernel Makefile, so that
granularity of kernel builds is not reduced.
2002-11-19 04:29:19 +00:00
simonb
71ca818f3c Add COMPAT_15, mips need this. 2002-11-19 04:11:05 +00:00
manu
530968e795 The kernel now builds with COMPAT_DARWIN. 2002-11-12 23:40:19 +00:00
martin
c4349cac72 Add a driver for the Myson Technology MTD803 3-in-1 Fast Ethernet Controller,
provided by Peter Bex in PR 18675.
2002-11-07 21:56:56 +00:00
mrg
3e8df71794 - do the COMPAT_16 dance in sysctl_diskstats() for the where == NULL case
as well.  pointed out by enami@.
- defflag COMPAT_16.
2002-11-05 13:22:32 +00:00
itohy
94b2e6e61d Dump DDB_* and SYMTAB_SPACE options to opt_ddbparam.h rather than opt_ddb.h.
These options are used in limited files but #include "opt_ddb.h" are
everywhere, and changing them caused almost full recompilation.
2002-11-04 06:24:38 +00:00
chris
230469d2ae Remove an extra } 2002-11-03 21:12:27 +00:00
perry
7152bf6aeb lint infrastructure overhaul to finally lint the kernel libs right.
XXX the dependencies for the kernel .ln files are just plain wrong. We
need some sort of extended make depend hack to do it right. We will
suffer with it for now.
2002-11-02 07:57:05 +00:00
mrg
514174fe75 disk_unbusy() change -> NetBSD 1.6K. 2002-11-01 12:49:47 +00:00
blymn
29b7b4241f Added support for fingerprinted executables aka verified exec 2002-10-29 12:31:20 +00:00
leo
e70f340199 Fritz!PCI v2.0 ISDN driver from FreeBSD. 2002-10-25 21:03:47 +00:00
christos
3d15188e5d use -X to ignore static function unused warnings, and echo the command. 2002-10-24 20:52:38 +00:00
jdolecek
d17511b4ea bump version to 1.6J - kqueue branch merge 2002-10-23 09:22:35 +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
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
junyoung
1ce9af548e Add VGA raster graphics console driver. It is written as an extension
to char-cell based vga(4) driver, and fully compatible with existing
apps like XFree86. Currently it supports 80x25, 80x30, 80x40 and 80x50
text modes using emulation. You can enable it by specifying `options
VGA_RASTERCONSOLE' in your kernel config file.

Note that displaying multilingual text doesn't work yet. Necessary
code is already there, but userland stuff and some functionality isn't
ready for prime time yet. I'm working on them.
2002-10-15 18:14:41 +00:00
junyoung
0f061c7c7a Move vga_common_probe() to vga_common.c. vga_common.c contains common
stuff between existing char-cell VGA driver and raster VGA driver to
come shortly.
2002-10-15 17:30:43 +00:00
thorpej
0ab79d5327 * Move config defns for the crypto algorithms into their own files.
Define an attribute for each crypto algorithm, and use that attribute
  to select the files that implement the algorithm.
* Give the "wlan" attribute a dependency on the "arc4" attribute.
* Give the "cgd" pseudo-device the "des", "blowfish", "cast128", and
  "rijndael" attributes.
* Use the new attribute-as-option-dependencies feature of config(8) to
  give the IPSEC_ESP option dependencies on the "des", "blowfish", "cast128",
  and "rijndael" attributes.
2002-10-11 01:52:04 +00:00
thorpej
25e34a0941 * Don't make IPKDB an option-dependency of IPKDB_DP8390 (IPKDB_DP8390
does not "imply" IPKDB ... it is merely an IPKDB parameter).
* Place IPKDB-related selectors in lower-case.
2002-10-11 01:00:35 +00:00
thorpej
a2a9c5391d Move netns config defns to netns/files.netns. 2002-10-10 23:04:33 +00:00