[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86_emulate: Remove the CPL and IOPL check in the I/O handling code.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1205935682 0 # Node ID ba3356c823176e172132141c8594d1ab015e001f # Parent f45aa9a14db425d1f726fb1368a8932263de68da x86_emulate: Remove the CPL and IOPL check in the I/O handling code. The check is already carried out by the processor during VMEXIT, where that is required. Signed-off-by: Xu Dongxiao <dongxiao.xu@xxxxxxxxx> --- xen/arch/x86/x86_emulate.c | 3 --- 1 files changed, 3 deletions(-) diff -r f45aa9a14db4 -r ba3356c82317 xen/arch/x86/x86_emulate.c --- a/xen/arch/x86/x86_emulate.c Wed Mar 19 14:06:18 2008 +0000 +++ b/xen/arch/x86/x86_emulate.c Wed Mar 19 14:08:02 2008 +0000 @@ -2265,7 +2265,6 @@ x86_emulate( case 0x6c ... 0x6d: /* ins %dx,%es:%edi */ { unsigned long nr_reps = get_rep_prefix(); - generate_exception_if(!mode_iopl(), EXC_GP, 0); dst.bytes = !(b & 1) ? 1 : (op_bytes == 8) ? 4 : op_bytes; dst.mem.seg = x86_seg_es; dst.mem.off = truncate_ea(_regs.edi); @@ -2295,7 +2294,6 @@ x86_emulate( case 0x6e ... 0x6f: /* outs %esi,%dx */ { unsigned long nr_reps = get_rep_prefix(); - generate_exception_if(!mode_iopl(), EXC_GP, 0); dst.bytes = !(b & 1) ? 1 : (op_bytes == 8) ? 4 : op_bytes; if ( (nr_reps > 1) && (ops->rep_outs != NULL) && ((rc = ops->rep_outs(ea.mem.seg, truncate_ea(_regs.esi), @@ -2832,7 +2830,6 @@ x86_emulate( unsigned int port = ((b < 0xe8) ? insn_fetch_type(uint8_t) : (uint16_t)_regs.edx); - generate_exception_if(!mode_iopl(), EXC_GP, 0); op_bytes = !(b & 1) ? 1 : (op_bytes == 8) ? 4 : op_bytes; if ( b & 2 ) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |