diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2016-12-13 18:52:08 -0800 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2017-01-15 13:01:55 -0800 |
commit | bd527a83232ce8b48dac4b8c86607ad8a7e28d98 (patch) | |
tree | 6650120264bc9b01d6034e5ae017de2809d8ee99 /target/xtensa/cpu.h | |
parent | 17ab14acd488289d2f85ad6212b212c21f050b3d (diff) |
target/xtensa: implement RUNSTALL
RUNSTALL signal stalls core execution while it's applied. It is widely
used in multicore configurations to control activity of additional
cores.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'target/xtensa/cpu.h')
-rw-r--r-- | target/xtensa/cpu.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/target/xtensa/cpu.h b/target/xtensa/cpu.h index 6b044d32f6..77bd9d2a7f 100644 --- a/target/xtensa/cpu.h +++ b/target/xtensa/cpu.h @@ -366,7 +366,7 @@ typedef struct CPUXtensaState { xtensa_tlb_entry itlb[7][MAX_TLB_WAY_SIZE]; xtensa_tlb_entry dtlb[10][MAX_TLB_WAY_SIZE]; unsigned autorefill_idx; - + bool runstall; int pending_irq_level; /* level of last raised IRQ */ void **irq_inputs; QEMUTimer *ccompare_timer; @@ -469,6 +469,7 @@ static inline void xtensa_select_static_vectors(CPUXtensaState *env, assert(n < 2); env->static_vectors = n; } +void xtensa_runstall(CPUXtensaState *env, bool runstall); #define XTENSA_OPTION_BIT(opt) (((uint64_t)1) << (opt)) #define XTENSA_OPTION_ALL (~(uint64_t)0) |