24ec0d73 | 04-Nov-2013 |
David van Moolenbroek <david@minix3.org> |
Clean up interface to PM and VFS
- introduce new call numbers, names, and field aliases; - initialize request messages to zero for all ABI calls; - format callnr.h in the same way as com.h; - redo c
Clean up interface to PM and VFS
- introduce new call numbers, names, and field aliases; - initialize request messages to zero for all ABI calls; - format callnr.h in the same way as com.h; - redo call tables in both servers; - remove param.h namespace pollution in the servers; - make brk(2) go to VM directly, rather than through PM; - remove obsolete BRK, UTIME, and WAIT calls; - clean up path copying routine in VFS; - move remaining system calls from libminlib to libc; - correct some errno-related mistakes in libc routines.
Change-Id: I2d8ec5d061cd7e0b30c51ffd77aa72ebf84e2565
show more ...
|
d8106f7f | 02-Nov-2013 |
David van Moolenbroek <david@minix3.org> |
Rename VFS_BASE to FS_BASE
The recipients of these requests are file systems, not VFS.
Change-Id: I49211cfe4289df25b0c07171c7f8c321fc3731d6 |
87c599da | 28-Oct-2013 |
David van Moolenbroek <david@minix3.org> |
PM/VFS protocol: prefix with VFS_PM_
These calls are sent to VFS, and thus should be prefixed with VFS_. Clean up the protocol and PM's main function a bit.
Since the protocol is substantially big
PM/VFS protocol: prefix with VFS_PM_
These calls are sent to VFS, and thus should be prefixed with VFS_. Clean up the protocol and PM's main function a bit.
Since the protocol is substantially big and different from normal VFS requests, this protocol retains its own numbering range for now.
Change-Id: Ia62104b5c5c929ed787144816d2e4cc70bed3b0b
show more ...
|
44d3230e | 28-Oct-2013 |
David van Moolenbroek <david@minix3.org> |
For common calls, give servers unique call numbers
The getsysinfo(2), getrusage(2), and svrctl(2) calls used the same call number to different services. Since we want to give each service its own ca
For common calls, give servers unique call numbers
The getsysinfo(2), getrusage(2), and svrctl(2) calls used the same call number to different services. Since we want to give each service its own call number ranges, this is no longer tenable. This patch introduces per-service call numbers for these calls.
Note that the remainder of the COMMON_ range is left intact, as these the remaining requests in it are processed by SEF and thus server- agnostic. The range should really be prefixed with SEF_ now.
Change-Id: I80d728bbeb98227359c525494c433965b40fefc3
show more ...
|
80bd109c | 03-Nov-2013 |
David van Moolenbroek <david@minix3.org> |
libsys: various updates
- move system calls for use by services from libminlib into libsys; - move srv_fork(2) and srv_kill(2) from RS and into libsys; - replace getprocnr(2) with sef_self(3); - ren
libsys: various updates
- move system calls for use by services from libminlib into libsys; - move srv_fork(2) and srv_kill(2) from RS and into libsys; - replace getprocnr(2) with sef_self(3); - rename previous getnprocnr(2) to getprocnr(2); - clean up getepinfo(2); - change all libsys calls that used _syscall to use _taskcall, so as to avoid going through errno to pass errors; this is already how most calls work anyway, and many of the calls previously using _syscall were already assumed to return the actual error; - initialize request messages to zero, for future compatibility (note that this does not include PCI calls, which are in need of a much bigger overhaul, nor kernel calls); - clean up more of dead DS code as a side effect.
Change-Id: I8788f54c68598fcf58e23486e270c2d749780ebb
show more ...
|
4d4e70da | 26-Oct-2013 |
David van Moolenbroek <david@minix3.org> |
PM: remove obsolete ALARM, PAUSE, TIMES calls
NetBSD libc implements these as wrappers around setitimer(2), sigsuspend(2), and getrusage(2), respectively.
Change-Id: I0c5e725b3e1316bddd3a3ff7ef65d5
PM: remove obsolete ALARM, PAUSE, TIMES calls
NetBSD libc implements these as wrappers around setitimer(2), sigsuspend(2), and getrusage(2), respectively.
Change-Id: I0c5e725b3e1316bddd3a3ff7ef65d57d30afd10d
show more ...
|
6c8f7fc3 | 16-Sep-2013 |
Ben Gras <ben@minix3.org> |
netbsd dirent.h, import sys/sys *.h, mfs cleanup
. add all sys/sys headers not already present to help compiling . take netbsd dirent.h and struct dirent; main result is introducing d_type and
netbsd dirent.h, import sys/sys *.h, mfs cleanup
. add all sys/sys headers not already present to help compiling . take netbsd dirent.h and struct dirent; main result is introducing d_type and d_namlen that have to be set by getdents() in all FS code implementing it . d_off is gone . alignment of the struct has become 8 bytes instead of 4 . remove _MAX_BLOCK_SIZE, _MIN_BLOCK_SIZE, _STATIC_BLOCK_SIZE . libminlib: cleanup unused yet duplicate code . mfs: throw out the long-broken v1, v2 support . new test for dirent contents filled by getdents()
Change-Id: I1459755c7ba5e5d1c9396d3a587ce6e63ddc283e
show more ...
|
664b726c | 06-Oct-2013 |
David van Moolenbroek <david@minix3.org> |
VFS: further cleanup of device code
- all TTY-related exceptions have now been merged into the regular code paths, allowing non-TTY drivers to expose TTY-like devices; - as part of this, CTTY_MAJO
VFS: further cleanup of device code
- all TTY-related exceptions have now been merged into the regular code paths, allowing non-TTY drivers to expose TTY-like devices; - as part of this, CTTY_MAJOR is now fully managed by VFS instead of being an ugly stepchild of the TTY driver; - device styles have become completely obsolete, support for them has been removed throughout the system; same for device flags, which had already become useless a while ago; - device map open/close and I/O function pointers have lost their use, thus finally making the VFS device code actually readable; - the device-unrelated pm_setsid has been moved to misc.c; - some other small cleanup-related changes.
Change-Id: If90b10d1818e98a12139da3e94a15d250c9933da
show more ...
|
e5cc85fd | 05-Oct-2013 |
David van Moolenbroek <david@minix3.org> |
Extend dupfrom(2) into copyfd(2)
This single function allows copying file descriptors from and to processes, and closing a previously copied remote file descriptor. This function replaces the five F
Extend dupfrom(2) into copyfd(2)
This single function allows copying file descriptors from and to processes, and closing a previously copied remote file descriptor. This function replaces the five FD-related UDS backcalls. While it limits the total number of in-flight file descriptors to OPEN_MAX, this change greatly improves crash recovery support of UDS, since all in-flight file descriptors will be closed instead of keeping them open indefinitely (causing VFS to crash on system shutdown). With the new copyfd call, UDS becomes simpler, and the concept of filps is no longer exposed outside of VFS.
This patch also moves the checkperms(2) stub into libminlib, thus fully abstracting away message details of VFS communication from UDS.
Change-Id: Idd32ad390a566143c8ef66955e5ae2c221cff966
show more ...
|
b003ed09 | 04-Oct-2013 |
David van Moolenbroek <david@minix3.org> |
UDS: split off from PFS
Change-Id: I769cbd64aa6e5e85a797caf0f8bbb4c20e145263 |
6d466f94 | 02-Oct-2013 |
David van Moolenbroek <david@minix3.org> |
at_wini: PCI-only now; one controller per instance
- remove non-PCI support, since all supported platforms with at_wini devices also have PCI support by now; - correspondingly, stop using informat
at_wini: PCI-only now; one controller per instance
- remove non-PCI support, since all supported platforms with at_wini devices also have PCI support by now; - correspondingly, stop using information from the BIOS altogether; - limit each driver instance to one controller, to be in line with the general MINIX3 one-instance-per-controller driver model; this limits the number of disks per at_wini instance to four; - go through the controllers by the order of their occurrence in the PCI table, thus removing the exception for compatibility devices; - let the second at_wini instance shut down silently if there is only one IDE controller; - clean up some extra code we don't need anymore, and resolve some WARNS=5 level warnings.
Overall, these changes should simplify automatic loading of the right disk drivers at boot time in the future.
Change-Id: Ia64d08cfbeb9916abd68c9c2941baeb87d02a806
show more ...
|
89332ecd | 30-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
system.conf: subsystem VID/DID matching support
- change "vid/did" to "vid:did", old form still supported for now; - allow "vid:did/subvid:subdid" specification in system.conf, in which case a dev
system.conf: subsystem VID/DID matching support
- change "vid/did" to "vid:did", old form still supported for now; - allow "vid:did/subvid:subdid" specification in system.conf, in which case a device will be visible to a driver if the subsystem VID/DID also match.
Change-Id: I7aef54da1b0bc81e24b5d98f1a28416f38f8b266
show more ...
|
6b3f4dc1 | 28-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Input infrastructure, INPUT server, PCKBD driver
This commit separates the low-level keyboard driver from TTY, putting it in a separate driver (PCKBD). The commit also separates management of raw in
Input infrastructure, INPUT server, PCKBD driver
This commit separates the low-level keyboard driver from TTY, putting it in a separate driver (PCKBD). The commit also separates management of raw input devices from TTY, and puts it in a separate server (INPUT). All keyboard and mouse input from hardware is sent by drivers to the INPUT server, which either sends it to a process that has opened a raw input device, or otherwise forwards it to TTY for standard processing.
Design by Dirk Vogt. Prototype by Uli Kastlunger.
Additional changes made to the prototype:
- the event communication is now based on USB HID codes; all input drivers have to use USB codes to describe events; - all TTY keymaps have been converted to USB format, with the effect that a single keymap covers all keys; there is no (static) escaped keymap anymore; - further keymap tweaks now allow remapping of literally all keys; - input device renumbering and protocol rewrite; - INPUT server rewrite, with added support for cancel and select; - PCKBD reimplementation, including PC/AT-to-USB translation; - support for manipulating keyboard LEDs has been added; - keyboard and mouse multiplexer devices have been added to INPUT, primarily so that an X server need only open two devices; - a new "libinputdriver" library abstracts away protocol details from input drivers, and should be used by all future input drivers; - both INPUT and PCKBD can be restarted; - TTY is now scheduled by KERNEL, so that it won't be punished for running a lot; without this, simply running "yes" on the console kills the system; - the KIOCBELL IOCTL has been moved to /dev/console; - support for the SCANCODES termios setting has been removed; - obsolete keymap compression has been removed; - the obsolete Olivetti M24 keymap has been removed.
Change-Id: I3a672fb8c4fd566734e4b46d3994b4b7fc96d578
show more ...
|
f5dbfe78 | 07-Sep-2013 |
Thomas Cort <tcort@minix3.org> |
uname: normalize release and version
Most systems provide the full version number in the 'release' field and the kernel version in 'version'. Minix used to split the full version number between rele
uname: normalize release and version
Most systems provide the full version number in the 'release' field and the kernel version in 'version'. Minix used to split the full version number between release and version which caused problems for pkgsrc and other applications. This patch brings Minix's uname in line with other systems such as NetBSD. It also brings the getty banner in line with NetBSD.
Old Minix uname: sysname->Minix nodename->10.0.2.15 release->3 version->2.1 machine->i686
New Minix uname: sysname->Minix nodename->10.0.2.15 release->3.2.1 version->Minix 3.2.1 (GENERIC) machine->i686
Change-Id: I966633dfdcf2f9485966bb0d0d042afc45bbeb7d
show more ...
|
36ac0dbc | 21-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Take LOG out of the boot image
Change-Id: Id2629776b53aae46629b04a42c15cbbacac9b949 |
8fea5ab8 | 21-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Kernel: make SIGKMESS target process list dynamic
The set of processes to which a SIGKMESS signal is sent whenever new diagnostics messages are added to the kernel's message buffer, is now no longer
Kernel: make SIGKMESS target process list dynamic
The set of processes to which a SIGKMESS signal is sent whenever new diagnostics messages are added to the kernel's message buffer, is now no longer hardcoded. Instead, processes can (un)register themselves to receive such notifications, by means of sys_diagctl().
Change-Id: I9d6ac006a5d9bbfad2757587a068fc1ec3cc083e
show more ...
|
de975579 | 20-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Rename SYSCTL kernel call to DIAGCTL
Change-Id: I1b17373f01808d887dcbeab493838946fbef4ef6 |
9fab85c2 | 19-Sep-2013 |
Lionel Sambuc <lionel@minix3.org> |
Replacing timer_t by netbsd's timer_t
* Renamed struct timer to struct minix_timer * Renamed timer_t to minix_timer_t * Ensured all the code uses the minix_timer_t typedef * Removed ifdef around
Replacing timer_t by netbsd's timer_t
* Renamed struct timer to struct minix_timer * Renamed timer_t to minix_timer_t * Ensured all the code uses the minix_timer_t typedef * Removed ifdef around _BSD_TIMER_T * Removed include/timers.h and merged it into include/minix/timers.h * Resolved prototype conflict by renaming kernel's (re)set_timer to (re)set_kernel_timer.
Change-Id: I56f0f30dfed96e1a0575d92492294cf9a06468a5
show more ...
|
0cea0924 | 18-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Import NetBSD vndconfig(8)
The tool has been changed heavily to match our VND driver model.
NetBSD is in the process of renaming it from vnconfig(8) to vndconfig(8). To keep things in sync, we have
Import NetBSD vndconfig(8)
The tool has been changed heavily to match our VND driver model.
NetBSD is in the process of renaming it from vnconfig(8) to vndconfig(8). To keep things in sync, we have to play along.
Change-Id: Ie86df184f03ab00573ea76b43c9caa0412e8321d
show more ...
|
69893118 | 18-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Add VND driver, providing loopback devices
Change-Id: I40fa695e28c67477a75383e6f1550e451afcab41 |
dba2d1f8 | 18-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
VFS: add dupfrom(2) call
This call copies a file descriptor from a remote process into the calling process. The call is for the VND driver only, and in the future, ACLs will prevent any other proces
VFS: add dupfrom(2) call
This call copies a file descriptor from a remote process into the calling process. The call is for the VND driver only, and in the future, ACLs will prevent any other process from using this call.
Change-Id: Ib16fdd1f1a12cb38a70d7e441dad91bc86898f6d
show more ...
|
d266a94f | 18-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Enable devname(3)
There is no support for a device name database yet, so this call is expected to be fairly slow.
Change-Id: I73aa5f267e2b6921b7d3bbdcc4beac463931132c |
1760f1c7 | 14-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Straighten ioctl.h
- include all ioctl subheaders, properly listing all letters; - change FBD's ioctl calls to use 'B' instead of 'F', in preparation of the VND driver.
Change-Id: Ia718979568cc05
Straighten ioctl.h
- include all ioctl subheaders, properly listing all letters; - change FBD's ioctl calls to use 'B' instead of 'F', in preparation of the VND driver.
Change-Id: Ia718979568cc057f47cf505a89238d5b3b6695d4
show more ...
|
b48542d9 | 15-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
VM: readd support for forgetting cached FS blocks
Not all services involved in block I/O go through VM to access the blocks they need. As a result, the blocks in VM may become stale, possibly causi
VM: readd support for forgetting cached FS blocks
Not all services involved in block I/O go through VM to access the blocks they need. As a result, the blocks in VM may become stale, possibly causing corruption when the stale copy is restored by a service that does go through VM later on. This patch restores support for forgetting cached blocks that belong to a particular device, and makes the relevant file systems use this functionality 1) when requested by VFS through REQ_FLUSH, and 2) upon unmount.
Change-Id: I0758c5ed8fe4b5ba81d432595d2113175776aff8
show more ...
|
665198b4 | 10-Sep-2013 |
David van Moolenbroek <david@minix3.org> |
Rewrite character driver protocol
As a side effect, remove the clone style, as the normal device style supports device cloning now.
Change-Id: Ie82d1ef0385514a04a8faa139129a617895780b5 |