From: balrog Date: Sun, 9 Dec 2007 23:39:22 +0000 (+0000) Subject: Make SVM IOIO intercept check all needed bits, by Bernhard Kauer. X-Git-Tag: TizenStudio_2.0_p2.3~12429 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b26177d7ec3f50157a5f37f804ffcace3b2a3945;p=sdk%2Femulator%2Fqemu.git Make SVM IOIO intercept check all needed bits, by Bernhard Kauer. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3792 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/target-i386/helper.c b/target-i386/helper.c index 07ff356..bad3f7c 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -4262,7 +4262,8 @@ int svm_check_intercept_param(uint32_t type, uint64_t param) uint64_t addr = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, control.iopm_base_pa)); uint16_t port = (uint16_t) (param >> 16); - if(ldub_phys(addr + port / 8) & (1 << (port % 8))) + uint16_t mask = (1 << ((param >> 4) & 7)) - 1; + if(lduw_phys(addr + port / 8) & (mask << (port & 7))) vmexit(type, param); } break;