diff options
Diffstat (limited to 'target-xtensa/cpu.h')
-rw-r--r-- | target-xtensa/cpu.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/target-xtensa/cpu.h b/target-xtensa/cpu.h index cae663706b..7e662f5402 100644 --- a/target-xtensa/cpu.h +++ b/target-xtensa/cpu.h @@ -108,6 +108,8 @@ enum { enum { SAR = 3, SCOMPARE1 = 12, + WINDOW_BASE = 72, + WINDOW_START = 73, EPC1 = 177, DEPC = 192, EXCSAVE1 = 209, @@ -134,6 +136,8 @@ enum { #define PS_WOE 0x40000 +#define MAX_NAREG 64 + enum { /* Static vectors */ EXC_RESET, @@ -185,6 +189,7 @@ enum { typedef struct XtensaConfig { const char *name; uint64_t options; + unsigned nareg; int excm_level; int ndepc; uint32_t exception_vector[EXC_MAX]; @@ -196,6 +201,7 @@ typedef struct CPUXtensaState { uint32_t pc; uint32_t sregs[256]; uint32_t uregs[256]; + uint32_t phys_regs[MAX_NAREG]; int exception_taken; @@ -214,6 +220,8 @@ int cpu_xtensa_exec(CPUXtensaState *s); void do_interrupt(CPUXtensaState *s); int cpu_xtensa_signal_handler(int host_signum, void *pinfo, void *puc); void xtensa_cpu_list(FILE *f, fprintf_function cpu_fprintf); +void xtensa_sync_window_from_phys(CPUState *env); +void xtensa_sync_phys_from_window(CPUState *env); #define XTENSA_OPTION_BIT(opt) (((uint64_t)1) << (opt)) |