Mercurial > ecos
diff packages/hal/mn10300/am31/current/include/var_arch.h @ 76:435cced73e2f ecos-v1_3_1-release
eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
| author | jlarmour |
|---|---|
| date | Tue, 28 Mar 2000 14:10:45 +0000 |
| parents | bf00f99aec69 |
| children | e0c0827131d1 |
line wrap: on
line diff
--- a/packages/hal/mn10300/am31/current/include/var_arch.h +++ b/packages/hal/mn10300/am31/current/include/var_arch.h @@ -50,5 +50,35 @@ #include <cyg/infra/cyg_type.h> //-------------------------------------------------------------------------- +// Processor saved states: + +typedef struct HAL_SavedRegisters +{ + // These are common to all saved states and are in the order + // stored and loaded by the movm instruction. + CYG_ADDRWORD vector; /* Vector number/dummy */ + CYG_ADDRWORD lar; /* Loop address register */ + CYG_ADDRWORD lir; /* Loop instruction register */ + CYG_ADDRWORD mdr; /* Multiply/Divide register */ + CYG_ADDRWORD a1; + CYG_ADDRWORD a0; + CYG_ADDRWORD d1; + CYG_ADDRWORD d0; + CYG_ADDRWORD a3; + CYG_ADDRWORD a2; + CYG_ADDRWORD d3; + CYG_ADDRWORD d2; + + /* On interrupts the PC and PSW are pushed automatically by the */ + /* CPU and SP is pushed for debugging reasons. On a thread switch */ + /* the saved context is made to look the same. */ + + CYG_ADDRWORD sp; /* Saved copy of SP in some states */ + CYG_ADDRWORD psw; /* Status word */ + CYG_ADDRWORD pc; /* Program Counter */ + +} HAL_SavedRegisters; + +//-------------------------------------------------------------------------- #endif // CYGONCE_HAL_VAR_ARCH_H // End of var_arch.h
