No description
Find a file
Tomas Hruby ebbce7507b Complete ovehaul of mode switching code
- after a trap to kernel, the code automatically switches to kernel
  stack, in the future local to the CPU

- k_reenter variable replaced by a test whether the CS is kernel cs or
  not. The information is passed further if needed. Removes a global
  variable which would need to be cpu local

- no need for global variables describing the exception or trap
  context. This information is kept on stack and a pointer to this
  structure is passed to the C code as a single structure

- removed loadedcr3 variable and its use replaced by reading the %cr3
  register

- no need to redisable interrupts in restart() as they are already
  disabled.

- unified handling of traps that push and don't push errorcode

- removed save() function as the process context is not saved directly
  to process table but saved as required by the trap code. Essentially
  it means that save() code is inlined everywhere not only in the
  exception handling routine

- returning from syscall is more arch independent - it sets the retger
  in C

- top of the x86 stack contains the current CPU id and pointer to the
  currently scheduled process (the one right interrupted) so the mode
  switch code can find where to save the context without need to use
  proc_ptr which will be cpu local in the future and therefore
  difficult to access in assembler and expensive to access in general

- some more clean up of level0 code. No need to read-back the argument
  passed in
  %eax from the proc structure. The mode switch code does not clobber
  %the general registers and hence we can just call what is in %eax

- many assebly macros in sconst.h as they will be reused by the apic
  assembly
2009-11-06 09:08:26 +00:00
boot - remove unused bootdelay feauture 2009-09-21 14:23:47 +00:00
commands ash: only execute regular files 2009-11-01 22:25:54 +00:00
docs Report make issue in UPDATING (approved by Ben) 2009-10-06 14:17:13 +00:00
drivers Fix for broken parsing of memory environment string in pci driver 2009-11-06 08:58:05 +00:00
etc Add more identifiers to drivers.conf for orinoco and rtl8137. 2009-10-14 07:20:13 +00:00
include Changes to the include files in order to make cross-compilation possible. 2009-11-06 08:46:22 +00:00
kernel Complete ovehaul of mode switching code 2009-11-06 09:08:26 +00:00
lib - enable remembering of device memory ranges set by PCI and 2009-11-03 11:12:23 +00:00
man Create man pages for bigsh and dev2name 2009-10-27 15:34:22 +00:00
servers inodes - using types with known size 2009-11-06 08:55:07 +00:00
test Merge of David's ptrace branch. Summary: 2009-09-30 09:57:22 +00:00
tools if from branch, include branch name in in-image tag and .iso filename. 2009-10-19 15:46:27 +00:00
LICENSE *** empty log message *** 2006-03-08 16:34:36 +00:00
Makefile include libraries. 2008-11-19 13:15:35 +00:00