Giacomo Tesio
fc42b02a28
PRO MEMORIA: in arch/amd64/include/ureg.h the commented registers are preserved.
They were removed at 6ab2e16c9f
but apparently the es register is used by vesavga (386 version) in both Plan9, 9front and 9atom.
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/*
|
|
* This file is part of the UCB release of Plan 9. It is subject to the license
|
|
* terms in the LICENSE file found in the top-level directory of this
|
|
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
|
|
* part of the UCB release of Plan 9, including this file, may be copied,
|
|
* modified, propagated, or distributed except according to the terms contained
|
|
* in the LICENSE file.
|
|
*/
|
|
|
|
struct Ureg {
|
|
uint64_t ax;
|
|
uint64_t bx;
|
|
uint64_t cx;
|
|
uint64_t dx;
|
|
uint64_t si;
|
|
uint64_t di;
|
|
uint64_t bp;
|
|
uint64_t r8;
|
|
uint64_t r9;
|
|
uint64_t r10;
|
|
uint64_t r11;
|
|
uint64_t r12;
|
|
uint64_t r13;
|
|
uint64_t r14;
|
|
uint64_t r15;
|
|
|
|
// these are pointless and I don't want to waste a second on them.
|
|
// I'm sure it will break something but let's see.
|
|
// Not pushing them simplifies the interrupt handler a lot.
|
|
// uint16_t ds;
|
|
// uint16_t es;
|
|
// uint16_t fs;
|
|
// uint16_t gs;
|
|
|
|
uint64_t type;
|
|
uint64_t error; /* error code (or zero) */
|
|
uint64_t ip; /* pc */
|
|
uint64_t cs; /* old context */
|
|
uint64_t flags; /* old flags */
|
|
uint64_t sp; /* sp */
|
|
uint64_t ss; /* old stack segment */
|
|
};
|