minix/kernel
Tomas Hruby ad9ba944d1 Early address space switch
- switch_address_space() implements a switch of the user address space
  for the destination process

- this makes memory of this process easily accessible, e.g. a pointer
  valid in the userspace can be used with a little complexity to
  access the process's memory

- the switch does not happed only just before we return to userspace,
  however, it happens right after we know which process we are going
  to schedule. This happens before we start processing the misc flags
  of this process so its memory is available

- if the process becomes not runnable while processing the mics flags
  we pick a new process and we switch the address space again which
  introduces possibly a little bit more overhead, however, it is
  hopefully hidden by reducing the overheads when we actually access
  the memory
2010-02-09 15:13:52 +00:00
..
arch/i386 Early address space switch 2010-02-09 15:13:52 +00:00
system Kernel: fix sys_irqctl(IRQ_RMPOLICY) 2010-02-09 08:07:47 +00:00
clock.c Removed a number of useless #includes 2010-01-26 10:59:01 +00:00
clock.h Clock task split 2009-11-06 09:04:15 +00:00
config.h Removed unused symbols. 2010-01-25 18:13:48 +00:00
const.h Removed unused symbols. 2010-01-25 18:13:48 +00:00
debug.c All macros defining rts flags are prefixed with RTS_ 2009-11-10 09:11:13 +00:00
debug.h Killing Minix by typing Q on serial console 2010-01-14 09:46:16 +00:00
glo.h Removed useless global variable sys_call_code 2010-02-03 18:17:01 +00:00
interrupt.c Removed a number of useless #includes 2010-01-26 10:59:01 +00:00
ipc.h All macros defining rts flags are prefixed with RTS_ 2009-11-10 09:11:13 +00:00
kernel.h NMI watchdog is an awesome feature for debugging locked up kernels. 2010-01-16 20:53:55 +00:00
main.c System task initialization moved to main() 2010-02-09 15:12:20 +00:00
Makefile NMI watchdog is an awesome feature for debugging locked up kernels. 2010-01-16 20:53:55 +00:00
priv.h Initialization protocol for system services. 2010-01-08 01:20:42 +00:00
proc.c Early address space switch 2010-02-09 15:13:52 +00:00
proc.h Removed unused symbols. 2010-01-25 18:13:48 +00:00
profile.c Removed unused symbols. 2010-01-22 22:01:08 +00:00
profile.h cprofile not conditional 2009-01-09 21:44:52 +00:00
proto.h Early address space switch 2010-02-09 15:13:52 +00:00
start.c Removed a number of useless #includes 2010-01-26 10:59:01 +00:00
system.c System task initialization moved to main() 2010-02-09 15:12:20 +00:00
system.h This patch removes the global variables who_p and who_e from the 2010-02-03 09:04:48 +00:00
table.c - Introduce support for sticky bit. 2009-12-20 20:27:14 +00:00
type.h Rewrite of boot process 2009-12-11 00:08:19 +00:00
utility.c Fixed some type inconsistencies in the kernel. 2010-01-26 12:26:06 +00:00
vm.h Fixed a typing bug. 2010-01-06 08:23:14 +00:00
watchdog.c NMI watchdog is an awesome feature for debugging locked up kernels. 2010-01-16 20:53:55 +00:00
watchdog.h NMI watchdog is an awesome feature for debugging locked up kernels. 2010-01-16 20:53:55 +00:00