minix/lib/libsys
Cristiano Giuffrida 48c6bb79f4 Driver refactory for live update and crash recovery.
SYSLIB CHANGES:
- DS calls to publish / retrieve labels consider endpoints instead of u32_t.

VFS CHANGES:
- mapdriver() only adds an entry in the dmap table in VFS.
- dev_up() is only executed upon reception of a driver up event.

INET CHANGES:
- INET no longer searches for existing drivers instances at startup.
- A newtwork driver is (re)initialized upon reception of a driver up event.
- Networking startup is now race-free by design. No need to waste 5 seconds
at startup any more.

DRIVER CHANGES:
- Every driver publishes driver up events when starting for the first time or
in case of restart when recovery actions must be taken in the upper layers.
- Driver up events are published by drivers through DS. 
- For regular drivers, VFS is normally the only subscriber, but not necessarily.
For instance, when the filter driver is in use, it must subscribe to driver
up events to initiate recovery.
- For network drivers, inet is the only subscriber for now.
- Every VFS driver is statically linked with libdriver, every network driver
is statically linked with libnetdriver.

DRIVER LIBRARIES CHANGES:
- Libdriver is extended to provide generic receive() and ds_publish() interfaces
for VFS drivers.
- driver_receive() is a wrapper for sef_receive() also used in driver_task()
to discard spurious messages that were meant to be delivered to a previous
version of the driver.
- driver_receive_mq() is the same as driver_receive() but integrates support
for queued messages.
- driver_announce() publishes a driver up event for VFS drivers and marks
the driver as initialized and expecting a DEV_OPEN message.
- Libnetdriver is introduced to provide similar receive() and ds_publish()
interfaces for network drivers (netdriver_announce() and netdriver_receive()).
- Network drivers all support live update with no state transfer now.

KERNEL CHANGES:
- Added kernel call statectl for state management. Used by driver_announce() to
unblock eventual callers sendrecing to the driver.
2010-04-08 13:41:35 +00:00
..
alloc_util.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
assert.c panic() cleanup. 2010-03-05 15:05:11 +00:00
asynsend.c panic() cleanup. 2010-03-05 15:05:11 +00:00
ds.c Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
env_get_prm.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
env_panic.c panic() cleanup. 2010-03-05 15:05:11 +00:00
env_parse.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
env_prefix.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
fkey_ctl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
get_randomness.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
getidle.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
getuptime.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
getuptime2.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
kernel_call.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
kprintf.c panic() cleanup. 2010-03-05 15:05:11 +00:00
kputc.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
Makefile Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
panic.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
pci.h Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
pci_attr_r8.c panic() cleanup. 2010-03-05 15:05:11 +00:00
pci_attr_r16.c panic() cleanup. 2010-03-05 15:05:11 +00:00
pci_attr_r32.c panic() cleanup. 2010-03-05 15:05:11 +00:00
pci_attr_w8.c Rename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t, 2010-04-07 13:35:56 +00:00
pci_attr_w16.c Rename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t, 2010-04-07 13:35:56 +00:00
pci_attr_w32.c Rename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t, 2010-04-07 13:35:56 +00:00
pci_del_acl.c Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
pci_dev_name.c Rename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t, 2010-04-07 13:35:56 +00:00
pci_find_dev.c Rename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t, 2010-04-07 13:35:56 +00:00
pci_first_dev.c panic() cleanup. 2010-03-05 15:05:11 +00:00
pci_ids.c panic() cleanup. 2010-03-05 15:05:11 +00:00
pci_init.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
pci_init1.c Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
pci_next_dev.c panic() cleanup. 2010-03-05 15:05:11 +00:00
pci_rescan_bus.c Rename all uses of U8_t to u8_t and remove U8_t, remove unused I8_t, 2010-04-07 13:35:56 +00:00
pci_reserve.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
pci_set_acl.c Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
pci_slot_name.c panic() cleanup. 2010-03-05 15:05:11 +00:00
profile.c Add an UNUSED annotation, and use it in libsys. 2010-03-11 14:23:33 +00:00
profile_extern.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
read_tsc.S Convert library asm files to GAS syntax 2010-03-03 14:27:30 +00:00
read_tsc_64.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
safecopies.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
sef.c IPC status code for receive(). 2010-03-23 00:09:11 +00:00
sef_init.c New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
sef_liveupdate.c Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
sef_ping.c New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
sef_signal.c Fixed some incorrect uses of printf-like functions. 2010-04-01 14:30:36 +00:00
ser_putc.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
stacktrace.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_abort.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_clear.c New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
sys_cprof.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_endsig.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_eniop.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_exec.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_exit.c New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
sys_fork.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_getinfo.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
sys_getsig.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_hz.c Add an UNUSED annotation, and use it in libsys. 2010-03-11 14:23:33 +00:00
sys_in.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_int86.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_irqctl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_kill.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_mcontext.c - Add support for the ucontext system calls (getcontext, setcontext, 2010-03-12 15:58:41 +00:00
sys_memset.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_newmap.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_out.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_physcopy.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_privctl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_profbuf.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_readbios.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_runctl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_safecopy.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_safemap.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_schedctl.c Userspace scheduling 2010-03-29 11:07:20 +00:00
sys_schedule.c Userspace scheduling 2010-03-29 11:07:20 +00:00
sys_sdevio.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
sys_segctl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_setalarm.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_setgrant.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_sigreturn.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_sigsend.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_sprof.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_statectl.c Driver refactory for live update and crash recovery. 2010-04-08 13:41:35 +00:00
sys_stime.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_sysctl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_times.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_trace.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_umap.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_update.c New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
sys_vinb.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_vinl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_vinw.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_vircopy.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_vmctl.c atomicity fix when enabling paging 2010-03-22 07:42:52 +00:00
sys_voutb.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_voutl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_voutw.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_vsafecopy.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_vtimer.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
syslib.h Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sysutil.h Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
taskcall.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
tickdelay.c IPC status code for receive(). 2010-03-23 00:09:11 +00:00
timing.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
tsc_util.c panic() cleanup. 2010-03-05 15:05:11 +00:00
vm_brk.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
vm_exec_newmem.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
vm_exit.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
vm_fork.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
vm_info.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
vm_map_phys.c Clean up code in preparation for using gcc warnings. 2010-03-10 13:19:27 +00:00
vm_notify_sig.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
vm_push_sig.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
vm_umap.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
vprintf.c panic() cleanup. 2010-03-05 15:05:11 +00:00