Home | History | Annotate | Download | only in conf
History log of /src/sys/arch/usermode/conf/files.usermode
RevisionDateAuthorComments
 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.

RSS XML Feed