summaryrefslogtreecommitdiff
path: root/cpu-exec.c
diff options
context:
space:
mode:
authorGuan Xuetao <gxt@mprc.pku.edu.cn>2012-08-10 14:42:23 +0800
committerBlue Swirl <blauwirbel@gmail.com>2012-08-11 09:36:56 +0000
commitd48813dd7639885339e5e7a8cdf2d0e3ca714e1f (patch)
treee5e3f37d5d141c0e5dc1ca29a4adb79cc7098836 /cpu-exec.c
parent527d9979b401fea5588b202fab930d1565f13bb1 (diff)
downloadqemu-d48813dd7639885339e5e7a8cdf2d0e3ca714e1f.tar.gz
unicore32-softmmu: Make UniCore32 cpuid & exceptions correct and runable
This patch initializes the cpuid to exactly correct value because linux kernel will check it. In addition, the exception types are specified in proper situations. Then it could make exceptions generated correctly and timely. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r--cpu-exec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index 4fee0618bd..134b3c4fcf 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -444,6 +444,7 @@ int cpu_exec(CPUArchState *env)
#elif defined(TARGET_UNICORE32)
if (interrupt_request & CPU_INTERRUPT_HARD
&& !(env->uncached_asr & ASR_I)) {
+ env->exception_index = UC32_EXCP_INTR;
do_interrupt(env);
next_tb = 0;
}