diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2011-09-06 03:55:41 +0400 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-09-10 16:57:38 +0000 |
commit | 40643d7c0fe4dc967ebc2f75e6758a4649776949 (patch) | |
tree | 6fae13c6f2190389f1c0c78288f3037dc0d65d26 /cpu-exec.c | |
parent | f0a548b93da07b6546e4f8178a93c47284a27d05 (diff) |
target-xtensa: implement exceptions
- mark privileged opcodes with ring check;
- make debug exception on exception handler entry.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r-- | cpu-exec.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index d9278f350c..aef66f290c 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -489,6 +489,12 @@ int cpu_exec(CPUState *env) do_interrupt(env); next_tb = 0; } +#elif defined(TARGET_XTENSA) + if (interrupt_request & CPU_INTERRUPT_HARD) { + env->exception_index = EXC_IRQ; + do_interrupt(env); + next_tb = 0; + } #endif /* Don't use the cached interrupt_request value, do_interrupt may have updated the EXITTB flag. */ |