summaryrefslogtreecommitdiff
path: root/target-alpha/helper.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2011-05-20 14:04:57 -0700
committerRichard Henderson <rth@anchor.twiddle.net>2011-05-31 10:18:05 -0700
commit07b6c13b09d2e00a95e83fa76630d7c0d16c10b3 (patch)
tree06ad245067f6dcf104d0b59a7f1ceb2b8695123b /target-alpha/helper.c
parentb758aca1f6cdb175634812b79f5560c36c902d00 (diff)
downloadqemu-07b6c13b09d2e00a95e83fa76630d7c0d16c10b3.tar.gz
target-alpha: Tidy exception constants.
There's no need to attempt to match EXCP_* values with PALcode entry point offsets. Instead, compress all the values to make for more efficient switch statements within QEMU. We will be doing TLB fill within QEMU proper, not within the PALcode, so all of the ITB/DTB miss, double fault, and access exceptions can be compressed to EXCP_MMFAULT. Compress all of the EXCP_CALL_PAL exceptions into one. Use env->error_code to store the specific entry point. Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-alpha/helper.c')
-rw-r--r--target-alpha/helper.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/target-alpha/helper.c b/target-alpha/helper.c
index 5c3263bd7d..c5479fd06f 100644
--- a/target-alpha/helper.c
+++ b/target-alpha/helper.c
@@ -164,10 +164,7 @@ void cpu_alpha_store_fpcr (CPUState *env, uint64_t val)
int cpu_alpha_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
int mmu_idx, int is_softmmu)
{
- if (rw == 2)
- env->exception_index = EXCP_ITB_MISS;
- else
- env->exception_index = EXCP_DFAULT;
+ env->exception_index = EXCP_MMFAULT;
env->trap_arg0 = address;
return 1;
}