diff options
| author | kolya <kolya> | 2008-09-24 01:48:31 +0000 | 
|---|---|---|
| committer | kolya <kolya> | 2008-09-24 01:48:31 +0000 | 
| commit | c7317d4dc74bcb1d0e939c6b06a724fce1510a4e (patch) | |
| tree | db061a7ee7430ee83da28632822bb93773dd0553 /x86.h | |
| parent | adcd16c3f7588b4a28d37495f05e94278c9e3a1e (diff) | |
| download | xv6-labs-c7317d4dc74bcb1d0e939c6b06a724fce1510a4e.tar.gz xv6-labs-c7317d4dc74bcb1d0e939c6b06a724fce1510a4e.tar.bz2 xv6-labs-c7317d4dc74bcb1d0e939c6b06a724fce1510a4e.zip | |
always save and restore %fs, %gs to ensure old segment entries are never
accessible to user from the hidden CPU segment registers.
Diffstat (limited to 'x86.h')
| -rw-r--r-- | x86.h | 12 | 
1 files changed, 8 insertions, 4 deletions
| @@ -135,21 +135,25 @@ struct trapframe {    uint eax;    // rest of trap frame -  ushort es; +  ushort gs;    ushort padding1; -  ushort ds; +  ushort fs;    ushort padding2; +  ushort es; +  ushort padding3; +  ushort ds; +  ushort padding4;    uint trapno;    // below here defined by x86 hardware    uint err;    uint eip;    ushort cs; -  ushort padding3; +  ushort padding5;    uint eflags;    // below here only when crossing rings, such as from user to kernel    uint esp;    ushort ss; -  ushort padding4; +  ushort padding6;  }; | 
