Home | History | Annotate | only in /src/sys/arch/usermode/conf
History log of /src/sys/arch/usermode/conf
RevisionDateAuthorComments
 1.25 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.24 15-Dec-2011  jmcneill USERCONF works but it isn't very useful, so remove it
 1.23 15-Dec-2011  jmcneill add ptyfs/pty
 1.22 13-Dec-2011  reinoud Bump KVM size and add inet6 to surpress warnings from say postfix
 1.21 13-Dec-2011  reinoud Diable DEBUG_EXEC to remove the spam :)
 1.20 27-Nov-2011  reinoud branches: 1.20.2;
Add some config settings as default and make a note that DDB is far from
working yet :-/
 1.19 16-Sep-2011  reinoud branches: 1.19.2;
Reduce the size of the memory base of the testmachine even more!
 1.18 16-Sep-2011  reinoud Reduce the amount of memory needed to run by default
 1.17 15-Sep-2011  reinoud Adjust default parameters
 1.16 14-Sep-2011  reinoud Implement in-place execution for binaries! No more MKPIE/MKPIC for userland
anymore!
 1.15 31-Aug-2011  reinoud Completely redo R/M emulation and fault handling taking UVM as authorative
answer and not relying on UVM's pmap directions since UVM has its own schemes
for COW etc.
 1.14 27-Aug-2011  jmcneill add options DEBUG_EXEC and LOCKDEBUG
 1.13 24-Aug-2011  jmcneill add procfs support
 1.12 23-Aug-2011  jmcneill pull in GENERIC.local if it exists
 1.11 22-Aug-2011  reinoud Change standard settings in sys/arch/usermode/conf/GENERIC so to get a better
debugging environment.
 1.10 21-Aug-2011  reinoud Move NKMEMPAGES from GENERIC to std.usermode and clarify the meaning of
MEMSIZE in the GENERIC kernel.
 1.9 12-Aug-2011  jmcneill add a simple disk driver, pass the path to the disk image on the kernel command line:

soundwave$ ./netbsd /tmp/test.fs
NetBSD/usermode startup
[...]
ld0 at mainbus0: /tmp/test.fs (33554432)
ld0: 32768 KB, 8322 cyl, 64 head, 63 sec, 1 bytes/sect x 33554432 sectors
boot device: ld0
root on ld0a dumps on ld0b
 1.8 11-Aug-2011  jmcneill initialize lwp0 l_addr so we can switch back to it
 1.7 11-Aug-2011  jmcneill get this linking and running (sorta) again:

soundwave$ ./netbsd
NetBSD/usermode startup
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.

NetBSD 5.99.55 (GENERIC) #10: Thu Aug 11 14:24:03 EDT 2011
jmcneill@soundwave:/home/jmcneill/branches/HEAD/src/sys/arch/usermode/compile/GENERIC
total memory = 128 MB
avail memory = 124 MB
mainbus0 (root)
cpu0 at mainbus0
clock0 at mainbus0
ttycons0 at mainbus0: console
panic: setcontext failed: 14
rebooting...
Abort (core dumped)
 1.6 10-Aug-2011  jmcneill fix build
 1.5 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.4 06-Feb-2009  jym branches: 1.4.6;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

See also http://mail-index.netbsd.org/tech-kern/2008/12/25/msg003924.html

Reviewed by abs@ in private mail.
 1.3 10-Aug-2008  tls branches: 1.3.2;
Add accept filters to GENERIC kernels where they exist.
 1.2 25-May-2008  agc branches: 1.2.4;
Re-enable INCLUDE_CONFIG_FILE in the GENERIC kernel config files for
i386, amd64 and usermode - it is necessary for retrieving information
on kernel configuration for running kernels - cf config -x.
 1.1 29-Dec-2007  jmcneill branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.16; 1.1.18; 1.1.20;
Import work-in-progress NetBSD/usermode port.
 1.1.20.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.1.20.1 24-Jun-2008  wrstuden Hand-merge files that didn't merge right in recent sync w/ current.
 1.1.18.1 04-May-2009  yamt sync with head.
 1.1.16.1 04-Jun-2008  yamt sync with head
 1.1.14.2 28-Sep-2008  mjf Sync with HEAD.
 1.1.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.8.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.8.1 29-Dec-2007  mjf file GENERIC was added on branch mjf-devfs on 2008-02-18 21:05:11 +0000
 1.1.6.2 21-Jan-2008  yamt sync with head
 1.1.6.1 29-Dec-2007  yamt file GENERIC was added on branch yamt-lazymbuf on 2008-01-21 09:39:43 +0000
 1.1.4.2 09-Jan-2008  matt sync with HEAD
 1.1.4.1 29-Dec-2007  matt file GENERIC was added on branch matt-armv6 on 2008-01-09 01:49:18 +0000
 1.1.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.1.2.1 29-Dec-2007  bouyer file GENERIC was added on branch bouyer-xeni386 on 2008-01-02 21:50:39 +0000
 1.2.4.1 19-Oct-2008  haad Sync with HEAD.
 1.3.2.1 03-Mar-2009  skrll Sync with HEAD.
 1.4.6.1 05-Mar-2011  rmind sync with head
 1.19.2.1 17-Apr-2012  yamt sync with head
 1.20.2.1 18-Feb-2012  mrg merge to -current.
 1.4 30-Jun-2012  reinoud Move i386 and amd64 usermode configurations to their respective directories
and make the usermode kernels buildalbe under build.sh.

The resulting kernels are build and packaged correctly as are the associated
modules.
 1.3 15-Jan-2012  jmcneill branches: 1.3.4; 1.3.6;
Add options INSECURE, as sysinst requires it. Now I can boot an x86 install
CD image.
 1.2 07-Jan-2012  reinoud Move target/${USERMODE_CPU} to target/${MACHINE_CPU} to more clearly
distinguish between CPU specific ones and machine specific ones.
 1.1 06-Jan-2012  reinoud Split machdep.c into a MI part and a MD part.
 1.3.6.3 30-Oct-2012  yamt sync with head
 1.3.6.2 17-Apr-2012  yamt sync with head
 1.3.6.1 15-Jan-2012  yamt file GENERIC.amd64 was added on branch yamt-pagecache on 2012-04-17 00:06:58 +0000
 1.3.4.2 18-Feb-2012  mrg merge to -current.
 1.3.4.1 15-Jan-2012  mrg file GENERIC.amd64 was added on branch jmcneill-usbmp on 2012-02-18 07:33:22 +0000
 1.30 09-Feb-2023  abs Adjust _all_ cinclude of *.local files

- Ensure always at end
- Use tab rather than spaces
- Add consistent comment
"Pull in optional local configuration - always at end"

The only functional change is that a local file which tried to
override an existing setting (eg with "no foo") would have failed
in some cases before, but now will work
 1.29 20-Jan-2021  nia remove compat_ossaudio from kernel modules

this is only useful with compat_linux and gets autoloaded when
compat_linux is loaded, so there's no reason to bake it into kernels
any more.
 1.28 05-Jun-2018  reinoud branches: 1.28.14;
Add ATAPI passtrough support giving the NetBSD/usermode kernel full control of
an ATAPI device. All ATAPI/SCSI commands are passed trough.

Note that ATAPI/SCSI calls are made in the foreground still. Lengthy calls
will still hug the CPU until completion. Making it asynchronous is in the
pipeline
 1.27 13-Jan-2018  reinoud branches: 1.27.2;
Make NetBSD/usermode link again!
 1.26 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.25 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.24 13-Dec-2016  christos branches: 1.24.2;
wildcard speaker attachments, now that we can handle many of them.
 1.23 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.22 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.21 17-Aug-2014  joerg branches: 1.21.2; 1.21.4;
Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
 1.20 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.19 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.18 17-Aug-2012  abs branches: 1.18.2;
Ensure all WSDISPLAY_COMPAT_USL entries have same comment
 1.17 23-Jan-2012  reinoud branches: 1.17.4; 1.17.6;
No need to explicitly use thunkbus at this place. thunkbus == mainbus on
NetBSD/usermode
 1.16 15-Jan-2012  jmcneill add cd9660
 1.15 09-Jan-2012  agc also add union file system
 1.14 08-Jan-2012  agc enable nullfs in usermode configs
 1.13 07-Jan-2012  reinoud Boost symtab space for amd64
 1.12 07-Jan-2012  jmcneill support multiple disk images (pass multiple disk=<path> parameters on the
command-line). while changing command-line params, rename tap= option to
net=
 1.11 04-Jan-2012  jmcneill add options NTP & pseudo-device clockctl
 1.10 02-Jan-2012  reinoud Add UDF, NILFS and NFS to the standard file systems and boost the symbol table
size to accomodate for this.
 1.9 30-Dec-2011  jmcneill add wsmouse support
 1.8 30-Dec-2011  jmcneill add WSDISPLAY_COMPAT_USL to make 'wsconscfg -s' work
 1.7 29-Dec-2011  jmcneill Replace the SDL based genfb driver with a wsdisplay and wskbd driver that
implements the VNC (RFB) protocol.

To enable the VNC server, add 'vnc=640x480,5900' to the kernel command line
(where 640x480 is the desired fb resolution and 5900 is the TCP port).

Screenshot of it here: http://www.netbsd.org/~jmcneill/usermode.tiff
 1.6 27-Dec-2011  jmcneill add ksyms support
 1.5 27-Dec-2011  jmcneill add COMPAT_OSSAUDIO
 1.4 26-Dec-2011  jmcneill add drvctl
 1.3 26-Dec-2011  jmcneill add vaudio(4) audio device driver
 1.2 26-Dec-2011  jmcneill first cut at networking support for usermode, doesn't fully work yet but
enough to get an address with dhcp and answer arps
 1.1 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.17.6.3 30-Oct-2012  yamt sync with head
 1.17.6.2 17-Apr-2012  yamt sync with head
 1.17.6.1 23-Jan-2012  yamt file GENERIC.common was added on branch yamt-pagecache on 2012-04-17 00:06:59 +0000
 1.17.4.2 18-Feb-2012  mrg merge to -current.
 1.17.4.1 23-Jan-2012  mrg file GENERIC.common was added on branch jmcneill-usbmp on 2012-02-18 07:33:22 +0000
 1.18.2.2 03-Dec-2017  jdolecek update from HEAD
 1.18.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.21.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.21.2.2 28-Aug-2017  skrll Sync with HEAD
 1.21.2.1 05-Feb-2017  skrll Sync with HEAD
 1.24.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.27.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.28.14.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6 30-Jun-2012  reinoud Move i386 and amd64 usermode configurations to their respective directories
and make the usermode kernels buildalbe under build.sh.

The resulting kernels are build and packaged correctly as are the associated
modules.
 1.5 15-Jan-2012  jmcneill branches: 1.5.4; 1.5.6;
Add options INSECURE, as sysinst requires it. Now I can boot an x86 install
CD image.
 1.4 07-Jan-2012  reinoud Move target/${USERMODE_CPU} to target/${MACHINE_CPU} to more clearly
distinguish between CPU specific ones and machine specific ones.
 1.3 06-Jan-2012  reinoud Split machdep.c into a MI part and a MD part.
 1.2 03-Jan-2012  reinoud Rework NetBSD/usermode pmap fixing some oddities that were left over from
earlier times when we were forced to run PIE executables and were forced to
use a KVM above the kernel.
 1.1 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.5.6.3 30-Oct-2012  yamt sync with head
 1.5.6.2 17-Apr-2012  yamt sync with head
 1.5.6.1 15-Jan-2012  yamt file GENERIC.i386 was added on branch yamt-pagecache on 2012-04-17 00:06:59 +0000
 1.5.4.2 18-Feb-2012  mrg merge to -current.
 1.5.4.1 15-Jan-2012  mrg file GENERIC.i386 was added on branch jmcneill-usbmp on 2012-02-18 07:33:22 +0000
 1.3 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.2 12-Aug-2011  jmcneill branches: 1.2.2; 1.2.6;
Make GENERIC32 build on amd64
 1.1 29-Dec-2007  reinoud branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add GENERIC32 configuration file for 32 bit architectures. This
configuration includes GENERIC but disables EXEC_ELF64.
 1.1.8.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.8.1 29-Dec-2007  mjf file GENERIC32 was added on branch mjf-devfs on 2008-02-18 21:05:11 +0000
 1.1.6.2 21-Jan-2008  yamt sync with head
 1.1.6.1 29-Dec-2007  yamt file GENERIC32 was added on branch yamt-lazymbuf on 2008-01-21 09:39:43 +0000
 1.1.4.2 09-Jan-2008  matt sync with HEAD
 1.1.4.1 29-Dec-2007  matt file GENERIC32 was added on branch matt-armv6 on 2008-01-09 01:49:18 +0000
 1.1.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.1.2.1 29-Dec-2007  bouyer file GENERIC32 was added on branch bouyer-xeni386 on 2008-01-02 21:50:40 +0000
 1.2.6.1 18-Feb-2012  mrg merge to -current.
 1.2.2.1 17-Apr-2012  yamt sync with head
 1.44 22-Sep-2018  rin - Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos
 1.43 17-Aug-2018  reinoud Start using the kernel ld script.

There are still issues with the .init placement and ./build.sh creating bad
images.
 1.42 01-Jun-2018  reinoud branches: 1.42.2;
Compile NetBSD/userland without CTF for the linker doesn't allow for a single
file compiled without CTF
 1.41 13-Jan-2018  reinoud branches: 1.41.2;
Make NetBSD/usermode link again!
 1.40 10-Dec-2017  christos - Allow multiple .BEGIN targets
- Make their protection consistent
 1.39 27-Aug-2015  uebayasi Tweak previous.
 1.38 27-Aug-2015  uebayasi Echo exact objects (swap*.o etc.) when linking kernel.
 1.37 24-Aug-2015  uebayasi Define ${LINKSCRIPT} in one place.
 1.36 18-Aug-2015  uebayasi ${KERN_LDSCRIPT} -> ${KERNLDSCRIPT}
 1.35 15-Nov-2014  uebayasi branches: 1.35.2;
Use LINKSCRIPT.
 1.34 10-Nov-2013  jmcneill use MACHINE_CPU instead of uname -p; create symlink for arm headers
 1.33 06-Mar-2013  yamt branches: 1.33.6;
fix include dir
add some dependencies
 1.32 30-Jun-2012  reinoud branches: 1.32.2;
Move i386 and amd64 usermode configurations to their respective directories
and make the usermode kernels buildalbe under build.sh.

The resulting kernels are build and packaged correctly as are the associated
modules.
 1.31 07-Jan-2012  reinoud Move target/${USERMODE_CPU} to target/${MACHINE_CPU} to more clearly
distinguish between CPU specific ones and machine specific ones.
 1.30 07-Jan-2012  reinoud Add AMD64 target for NetBSD/usermode next to i386 and reorganize source tree
to have port specific stuff in arch/usermode/target/<port>/
 1.29 06-Jan-2012  reinoud Split machdep.c into a MI part and a MD part.
 1.28 05-Jan-2012  jmcneill Get rid of MAP_NOSYSCALLS usage; now this relies on a separate kmod that
you can get here: http://www.netbsd.org/~jmcneill/syscallemu.tar
 1.27 31-Dec-2011  christos pass ${COPTS} to the build of thunk.c so that it builds on amd64.
 1.26 29-Dec-2011  jmcneill Replace the SDL based genfb driver with a wsdisplay and wskbd driver that
implements the VNC (RFB) protocol.

To enable the VNC server, add 'vnc=640x480,5900' to the kernel command line
(where 640x480 is the desired fb resolution and 5900 is the TCP port).

Screenshot of it here: http://www.netbsd.org/~jmcneill/usermode.tiff
 1.25 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.24 16-Sep-2011  jmcneill branches: 1.24.2; 1.24.6;
push TEXTADDR option into kernel makefile
 1.23 16-Sep-2011  reinoud Reduce the amount of memory needed to run by default
 1.22 15-Sep-2011  reinoud Adjust default parameters
 1.21 14-Sep-2011  reinoud Implement in-place execution for binaries! No more MKPIE/MKPIC for userland
anymore!
 1.20 08-Sep-2011  jmcneill pass debug compiler parameters to modules built with host sdk
 1.19 03-Sep-2011  jmcneill unbreak build on netbsd
 1.18 03-Sep-2011  jmcneill Let NetBSD/usermode build & link on a Linux host:
- Need to add options CPU_HOST=i386 or CPU_HOST=amd64 for membar & atomic_ops
- Don't use MAP_* and PROT_* with thunk API since the kernel and host
might not be the same; add THUNK_MAP_* and THUNK_PROT_* and translate them
- Add thunk_posix_memalign
- allocate mem_uvm with thunk_posix_memalign instead of thunk_malloc
- Fix thunk_mmap callers to always pass either THUNK_MAP_PRIVATE or
THUNK_MAP_SHARED
- mkstemp on Linux requires exactly 6 "X" characters at the end of the
template string, so add an X
 1.17 03-Sep-2011  jmcneill Get this compiling (but not quite linking yet) on Linux
 1.16 03-Sep-2011  jmcneill Add usermode kernel supervisor, can be disabled with 'no options URKELVISOR'
 1.15 28-Aug-2011  jmcneill override thunk.d and thunk_sdl.d targets
 1.14 25-Aug-2011  jmcneill - build thunk code with warnings
- add option SDL which pulls in thunk_sdl code and links the kernel to libSDL
- add an experimental framebuffer driver based on thunk_sdl, enable with:
options SDL
genfb* at mainbus?
wsdisplay* at genfb?
options WS_KERNEL_FG=WSCOL_GREEN
options WSEMUL_VT100
- reserve a major # for wsdisplay
- add thunk_getenv()
 1.13 22-Aug-2011  jmcneill build fixes for netbsd-5 and i386
 1.12 22-Aug-2011  reinoud Don't override -O options... we might want to build with another -O setting in
the config file.
 1.11 21-Aug-2011  reinoud Link the usermode kernel staticly to avoid libc littering the virtual space.
 1.10 13-Aug-2011  jmcneill try to use aio_read/aio_write instead of pread/pwrite
 1.9 12-Aug-2011  jmcneill Make GENERIC32 build on amd64
 1.8 12-Aug-2011  jmcneill Clean up extern mess by adding an API for kernel components to call libc
functions. thunk.c is built with special cflags that makes it compile
against standard system headers instead of kernel ones.
 1.7 11-Aug-2011  jmcneill Instead of trying to override vers.o target, set NVFLAGS=-n
 1.6 11-Aug-2011  jmcneill get this linking and running (sorta) again:

soundwave$ ./netbsd
NetBSD/usermode startup
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.

NetBSD 5.99.55 (GENERIC) #10: Thu Aug 11 14:24:03 EDT 2011
jmcneill@soundwave:/home/jmcneill/branches/HEAD/src/sys/arch/usermode/compile/GENERIC
total memory = 128 MB
avail memory = 124 MB
mainbus0 (root)
cpu0 at mainbus0
clock0 at mainbus0
ttycons0 at mainbus0: console
panic: setcontext failed: 14
rebooting...
Abort (core dumped)
 1.5 10-Aug-2011  jmcneill fix build
 1.4 21-Jan-2011  joerg Switch remaining platforms to modern CPP for assembler.
 1.3 29-Dec-2007  jmcneill branches: 1.3.2; 1.3.4; 1.3.6; 1.3.8; 1.3.40; 1.3.46; 1.3.48;
-Dfree=kernfree, to match -Dmalloc=kernmalloc
 1.2 29-Dec-2007  jmcneill Define init_main's main away to kernmain, and provide our own MD main entry
point. We do this since we don't have a proper bootloader, so we can
instead parse boot arguments here.

$ ./netbsd -h
-h: unknown flag
usage: ./netbsd [-acdqsvx]
(ex. "./netbsd -s")
 1.1 29-Dec-2007  jmcneill Import work-in-progress NetBSD/usermode port.
 1.3.48.1 08-Feb-2011  bouyer Sync with HEAD
 1.3.46.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.40.1 05-Mar-2011  rmind sync with head
 1.3.8.2 18-Feb-2008  mjf Sync with HEAD.
 1.3.8.1 29-Dec-2007  mjf file Makefile.usermode was added on branch mjf-devfs on 2008-02-18 21:05:11 +0000
 1.3.6.2 21-Jan-2008  yamt sync with head
 1.3.6.1 29-Dec-2007  yamt file Makefile.usermode was added on branch yamt-lazymbuf on 2008-01-21 09:39:43 +0000
 1.3.4.2 09-Jan-2008  matt sync with HEAD
 1.3.4.1 29-Dec-2007  matt file Makefile.usermode was added on branch matt-armv6 on 2008-01-09 01:49:18 +0000
 1.3.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.3.2.1 29-Dec-2007  bouyer file Makefile.usermode was added on branch bouyer-xeni386 on 2008-01-02 21:50:40 +0000
 1.24.6.1 18-Feb-2012  mrg merge to -current.
 1.24.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.24.2.2 30-Oct-2012  yamt sync with head
 1.24.2.1 17-Apr-2012  yamt sync with head
 1.32.2.3 03-Dec-2017  jdolecek update from HEAD
 1.32.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.32.2.1 23-Jun-2013  tls resync from head
 1.33.6.1 18-May-2014  rmind sync with head
 1.35.2.1 22-Sep-2015  skrll Sync with HEAD
 1.41.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.41.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.41.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.42.2.1 10-Jun-2019  christos Sync with HEAD
 1.22 24-Apr-2021  thorpej Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.21 21-Oct-2020  christos branches: 1.21.4;
make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.
 1.20 20-Oct-2020  christos harmonize process_machdep.c inclusion.
 1.19 08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.18 01-Aug-2018  reinoud branches: 1.18.2;
Add preliminary KGDB support for NetBSD/usermode, currently only under amd64
 1.17 05-Jun-2018  reinoud branches: 1.17.2;
Add ATAPI passtrough support giving the NetBSD/usermode kernel full control of
an ATAPI device. All ATAPI/SCSI commands are passed trough.

Note that ATAPI/SCSI calls are made in the foreground still. Lengthy calls
will still hug the CPU until completion. Making it asynchronous is in the
pipeline
 1.16 30-Dec-2011  jmcneill branches: 1.16.46;
add wsmouse support
 1.15 29-Dec-2011  jmcneill Replace the SDL based genfb driver with a wsdisplay and wskbd driver that
implements the VNC (RFB) protocol.

To enable the VNC server, add 'vnc=640x480,5900' to the kernel command line
(where 640x480 is the desired fb resolution and 5900 is the TCP port).

Screenshot of it here: http://www.netbsd.org/~jmcneill/usermode.tiff
 1.14 26-Dec-2011  jmcneill add vaudio(4) audio device driver
 1.13 26-Dec-2011  jmcneill first cut at networking support for usermode, doesn't fully work yet but
enough to get an address with dhcp and answer arps
 1.12 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.11 16-Sep-2011  jmcneill branches: 1.11.2; 1.11.6;
push TEXTADDR option into kernel makefile
 1.10 04-Sep-2011  jmcneill implement splraise/spllower
 1.9 03-Sep-2011  jmcneill Let NetBSD/usermode build & link on a Linux host:
- Need to add options CPU_HOST=i386 or CPU_HOST=amd64 for membar & atomic_ops
- Don't use MAP_* and PROT_* with thunk API since the kernel and host
might not be the same; add THUNK_MAP_* and THUNK_PROT_* and translate them
- Add thunk_posix_memalign
- allocate mem_uvm with thunk_posix_memalign instead of thunk_malloc
- Fix thunk_mmap callers to always pass either THUNK_MAP_PRIVATE or
THUNK_MAP_SHARED
- mkstemp on Linux requires exactly 6 "X" characters at the end of the
template string, so add an X
 1.8 03-Sep-2011  jmcneill Add usermode kernel supervisor, can be disabled with 'no options URKELVISOR'
 1.7 27-Aug-2011  jmcneill defflag CPU_DEBUG
 1.6 25-Aug-2011  jmcneill - build thunk code with warnings
- add option SDL which pulls in thunk_sdl code and links the kernel to libSDL
- add an experimental framebuffer driver based on thunk_sdl, enable with:
options SDL
genfb* at mainbus?
wsdisplay* at genfb?
options WS_KERNEL_FG=WSCOL_GREEN
options WSEMUL_VT100
- reserve a major # for wsdisplay
- add thunk_getenv()
 1.5 24-Aug-2011  jmcneill add procfs support
 1.4 12-Aug-2011  jmcneill add a simple disk driver, pass the path to the disk image on the kernel command line:

soundwave$ ./netbsd /tmp/test.fs
NetBSD/usermode startup
[...]
ld0 at mainbus0: /tmp/test.fs (33554432)
ld0: 32768 KB, 8322 cyl, 64 head, 63 sec, 1 bytes/sect x 33554432 sectors
boot device: ld0
root on ld0a dumps on ld0b
 1.3 12-Jun-2011  rmind Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.2 25-Jan-2008  joerg branches: 1.2.2; 1.2.34; 1.2.44;
Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.1 29-Dec-2007  jmcneill branches: 1.1.2; 1.1.4; 1.1.6;
Import work-in-progress NetBSD/usermode port.
 1.1.6.3 04-Feb-2008  yamt sync with head.
 1.1.6.2 21-Jan-2008  yamt sync with head
 1.1.6.1 29-Dec-2007  yamt file files.usermode was added on branch yamt-lazymbuf on 2008-01-21 09:39:43 +0000
 1.1.4.3 23-Mar-2008  matt sync with HEAD
 1.1.4.2 09-Jan-2008  matt sync with HEAD
 1.1.4.1 29-Dec-2007  matt file files.usermode was added on branch matt-armv6 on 2008-01-09 01:49:19 +0000
 1.1.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.1.2.1 29-Dec-2007  bouyer file files.usermode was added on branch bouyer-xeni386 on 2008-01-02 21:50:41 +0000
 1.2.44.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.34.1 18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.2.2.2 18-Feb-2008  mjf Sync with HEAD.
 1.2.2.1 25-Jan-2008  mjf file files.usermode was added on branch mjf-devfs on 2008-02-18 21:05:11 +0000
 1.11.6.1 18-Feb-2012  mrg merge to -current.
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.16.46.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.16.46.1 25-Jun-2018  pgoyette Sync with HEAD
 1.17.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.2.1 05-May-2019  isaki Remove obsoleted au{,rate,vol}conv and mulaw attributes.
audio provides the equivalent of them inseparably.
 1.21.4.1 23-Mar-2021  thorpej Remove unneeded interface attributes from vatapi.
 1.2 17-Aug-2018  reinoud Start using the kernel ld script.

There are still issues with the .init placement and ./build.sh creating bad
images.
 1.1 18-May-2018  reinoud branches: 1.1.2; 1.1.4;
Where did kern.ldscript go?
 1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.2.1 18-May-2018  pgoyette file kern.ldscript was added on branch pgoyette-compat on 2018-05-21 04:36:02 +0000
 1.5 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.4 11-Dec-2011  jmcneill make ttycons a proper tty device, now it can be the console
 1.3 25-Aug-2011  jmcneill branches: 1.3.2; 1.3.6;
- build thunk code with warnings
- add option SDL which pulls in thunk_sdl code and links the kernel to libSDL
- add an experimental framebuffer driver based on thunk_sdl, enable with:
options SDL
genfb* at mainbus?
wsdisplay* at genfb?
options WS_KERNEL_FG=WSCOL_GREEN
options WSEMUL_VT100
- reserve a major # for wsdisplay
- add thunk_getenv()
 1.2 12-Aug-2011  jmcneill add a simple disk driver, pass the path to the disk image on the kernel command line:

soundwave$ ./netbsd /tmp/test.fs
NetBSD/usermode startup
[...]
ld0 at mainbus0: /tmp/test.fs (33554432)
ld0: 32768 KB, 8322 cyl, 64 head, 63 sec, 1 bytes/sect x 33554432 sectors
boot device: ld0
root on ld0a dumps on ld0b
 1.1 29-Dec-2007  jmcneill branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Import work-in-progress NetBSD/usermode port.
 1.1.8.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.8.1 29-Dec-2007  mjf file majors.usermode was added on branch mjf-devfs on 2008-02-18 21:05:11 +0000
 1.1.6.2 21-Jan-2008  yamt sync with head
 1.1.6.1 29-Dec-2007  yamt file majors.usermode was added on branch yamt-lazymbuf on 2008-01-21 09:39:44 +0000
 1.1.4.2 09-Jan-2008  matt sync with HEAD
 1.1.4.1 29-Dec-2007  matt file majors.usermode was added on branch matt-armv6 on 2008-01-09 01:49:19 +0000
 1.1.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.1.2.1 29-Dec-2007  bouyer file majors.usermode was added on branch bouyer-xeni386 on 2008-01-02 21:50:41 +0000
 1.3.6.1 18-Feb-2012  mrg merge to -current.
 1.3.2.1 17-Apr-2012  yamt sync with head
 1.11 04-Jan-2012  reinoud Revert HZ to 100 what it was
 1.10 03-Jan-2012  reinoud Rework NetBSD/usermode pmap fixing some oddities that were left over from
earlier times when we were forced to run PIE executables and were forced to
use a KVM above the kernel.
 1.9 20-Dec-2011  jmcneill get rid of urkelvisor, and use same MD majors as the host
 1.8 13-Dec-2011  reinoud Update kmempages; how does this relate to kvmspace though?
 1.7 27-Nov-2011  reinoud branches: 1.7.2;
Compile in syscall name table so urkel debugging code can print out the names
of the system calls so its more clear where it strands.`
 1.6 03-Sep-2011  jmcneill branches: 1.6.2;
Add usermode kernel supervisor, can be disabled with 'no options URKELVISOR'
 1.5 22-Aug-2011  reinoud Bump NKMEMPAGES from 512 to 2048 for NetBSD/usermode. This will be sufficient
for a 128 MB amd64 machine. Might better be parameterized one day.
 1.4 21-Aug-2011  reinoud Move NKMEMPAGES from GENERIC to std.usermode and clarify the meaning of
MEMSIZE in the GENERIC kernel.
 1.3 29-Dec-2007  reinoud branches: 1.3.2; 1.3.4; 1.3.6; 1.3.8;
define opt constants away for i386
 1.2 29-Dec-2007  reinoud *** empty log message ***
 1.1 29-Dec-2007  jmcneill Import work-in-progress NetBSD/usermode port.
 1.3.8.2 18-Feb-2008  mjf Sync with HEAD.
 1.3.8.1 29-Dec-2007  mjf file std.usermode was added on branch mjf-devfs on 2008-02-18 21:05:11 +0000
 1.3.6.2 21-Jan-2008  yamt sync with head
 1.3.6.1 29-Dec-2007  yamt file std.usermode was added on branch yamt-lazymbuf on 2008-01-21 09:39:44 +0000
 1.3.4.2 09-Jan-2008  matt sync with HEAD
 1.3.4.1 29-Dec-2007  matt file std.usermode was added on branch matt-armv6 on 2008-01-09 01:49:19 +0000
 1.3.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.3.2.1 29-Dec-2007  bouyer file std.usermode was added on branch bouyer-xeni386 on 2008-01-02 21:50:42 +0000
 1.6.2.1 17-Apr-2012  yamt sync with head
 1.7.2.1 18-Feb-2012  mrg merge to -current.

RSS XML Feed