mirror of
https://github.com/golang/go
synced 2024-10-04 20:11:22 -06:00
c74f3c4576
This change also resolves some issues with note handling: we now make sure that there is enough room at the bottom of every goroutine to execute the note handler, and the `exitstatus' is no longer a global entity, which resolves some race conditions. R=rminnich, npe, rsc, ality CC=golang-dev https://golang.org/cl/6569068
30 lines
595 B
C
30 lines
595 B
C
#define PAGESIZE 0x1000
|
|
|
|
typedef struct Ureg Ureg;
|
|
|
|
struct Ureg
|
|
{
|
|
uint32 di; /* general registers */
|
|
uint32 si; /* ... */
|
|
uint32 bp; /* ... */
|
|
uint32 nsp;
|
|
uint32 bx; /* ... */
|
|
uint32 dx; /* ... */
|
|
uint32 cx; /* ... */
|
|
uint32 ax; /* ... */
|
|
uint32 gs; /* data segments */
|
|
uint32 fs; /* ... */
|
|
uint32 es; /* ... */
|
|
uint32 ds; /* ... */
|
|
uint32 trap; /* trap type */
|
|
uint32 ecode; /* error code (or zero) */
|
|
uint32 pc; /* pc */
|
|
uint32 cs; /* old context */
|
|
uint32 flags; /* old flags */
|
|
union {
|
|
uint32 usp;
|
|
uint32 sp;
|
|
};
|
|
uint32 ss; /* old stack segment */
|
|
};
|