minix/servers/vm
David van Moolenbroek 6b3f4dc157 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
2014-03-01 09:04:55 +01:00
..
arch arm:refactor move pagetable to the common directory. 2013-12-17 14:41:35 +01:00
acl.c VM: support for shared call mask ACLs 2013-08-08 23:22:58 +02:00
alloc.c vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
break.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
cache.c VM: readd support for forgetting cached FS blocks 2014-03-01 09:04:53 +01:00
cache.h vm: new secondary cache code 2013-04-24 10:18:16 +00:00
cavl_if.h vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
cavl_impl.h vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
exit.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
fdref.c vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
fdref.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
fork.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
glo.h <a.out.h>, MINIX style: remove as obsolete 2013-08-06 11:43:35 +02:00
main.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
Makefile arm:refactor move pagetable to the common directory. 2013-12-17 14:41:35 +01:00
mem_anon.c arm:vm allow per memory type flags. 2013-09-26 12:11:28 +02:00
mem_anon_contig.c arm:vm allow per memory type flags. 2013-09-26 12:11:28 +02:00
mem_cache.c VM: readd support for forgetting cached FS blocks 2014-03-01 09:04:53 +01:00
mem_directphys.c arm:vm allow per memory type flags. 2013-09-26 12:11:28 +02:00
mem_file.c Rename SYSCTL kernel call to DIAGCTL 2014-03-01 09:04:54 +01:00
mem_shared.c arm:vm allow per memory type flags. 2013-09-26 12:11:28 +02:00
memlist.h VM: only single page chunks 2012-09-18 13:17:49 +02:00
memtype.h arm:vm allow per memory type flags. 2013-09-26 12:11:28 +02:00
mmap.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
pagefaults.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
pagetable.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
pb.c vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
phys_region.h VM: memtype fix 2013-04-24 10:18:15 +00:00
proto.h Replacing timer_t by netbsd's timer_t 2014-03-01 09:04:54 +01:00
pt.h vm: merge i386 and arm pagetable code 2012-11-09 18:46:03 +01:00
queryexit.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
region.c VM bugfix & regression test 2014-01-09 18:28:11 +01:00
region.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
regionavl.c vm: optimisation: avl tree for virtual regions 2010-10-04 11:41:10 +00:00
regionavl.h vm: optimisation: avl tree for virtual regions 2010-10-04 11:41:10 +00:00
regionavl_defs.h vm: optimisation: avl tree for virtual regions 2010-10-04 11:41:10 +00:00
rs.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
sanitycheck.h vm: new secondary cache code 2013-04-24 10:18:16 +00:00
slaballoc.c Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
unavl.h secondary cache feature in vm. 2010-05-05 11:35:04 +00:00
util.h vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
utility.c arm:caching introduce _CACHED defines 2013-09-26 11:54:36 +02:00
vfs.c vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
vm.h vm: new secondary cache code 2013-04-24 10:18:16 +00:00
vmproc.h VM: support for shared call mask ACLs 2013-08-08 23:22:58 +02:00