aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-23 13:16:56 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-23 13:16:56 +0000
commit00ea18d19e3ed4acc1b4b92a733d34a04a5fb5af (patch)
treeef83a900d65298d74e2c333bae6328bbec4589ee /target-i386
parentb28b6230b87b08c0c988b1aee3804d54f6edad33 (diff)
downloadqemu-00ea18d19e3ed4acc1b4b92a733d34a04a5fb5af.zip
qemu-00ea18d19e3ed4acc1b4b92a733d34a04a5fb5af.tar.gz
qemu-00ea18d19e3ed4acc1b4b92a733d34a04a5fb5af.tar.bz2
Fix i386-linux-user build (Laurent Desnogues)
This broke due to r7230. Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7233 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/op_helper.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c
index 50de9fe..f4cea08 100644
--- a/target-i386/op_helper.c
+++ b/target-i386/op_helper.c
@@ -1191,6 +1191,7 @@ void do_interrupt_user(int intno, int is_int, int error_code,
EIP = next_eip;
}
+#if !defined(CONFIG_USER_ONLY)
static void handle_even_inj(int intno, int is_int, int error_code,
int is_hw, int rm)
{
@@ -1209,6 +1210,7 @@ static void handle_even_inj(int intno, int is_int, int error_code,
stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj), event_inj);
}
}
+#endif
/*
* Begin execution of an interruption. is_int is TRUE if coming from
@@ -1250,8 +1252,10 @@ void do_interrupt(int intno, int is_int, int error_code,
}
}
if (env->cr[0] & CR0_PE_MASK) {
+#if !defined(CONFIG_USER_ONLY)
if (env->hflags & HF_SVMI_MASK)
handle_even_inj(intno, is_int, error_code, is_hw, 0);
+#endif
#ifdef TARGET_X86_64
if (env->hflags & HF_LMA_MASK) {
do_interrupt64(intno, is_int, error_code, next_eip, is_hw);
@@ -1261,15 +1265,19 @@ void do_interrupt(int intno, int is_int, int error_code,
do_interrupt_protected(intno, is_int, error_code, next_eip, is_hw);
}
} else {
+#if !defined(CONFIG_USER_ONLY)
if (env->hflags & HF_SVMI_MASK)
handle_even_inj(intno, is_int, error_code, is_hw, 1);
+#endif
do_interrupt_real(intno, is_int, error_code, next_eip);
}
+#if !defined(CONFIG_USER_ONLY)
if (env->hflags & HF_SVMI_MASK) {
uint32_t event_inj = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj));
stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj), event_inj & ~SVM_EVTINJ_VALID);
}
+#endif
}
/* This should come from sysemu.h - if we could include it here... */