Re: [PATCH] test: Add emulator test for iret instruction
On 07/28/2010 02:22 AM, Mohammed Gamal wrote: This adds a unit test for real mode emulation of the iret instruction Signed-off-by: Mohammed Gamal --- kvm/test/x86/realmode.c | 23 +++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c index bd79348..16716cc 100644 --- a/kvm/test/x86/realmode.c +++ b/kvm/test/x86/realmode.c @@ -865,6 +865,28 @@ void test_pusha_popa() print_serial("Pusha/Popa Test2: PASS\n"); } +void test_iret() +{ + struct regs inregs = { 0 }, outregs; + + MK_INSN(iret, "pushf\n\t" + "pushl %cs\n\t" + "call 1f\n\t" /* a near call will push eip onto the stack */ + "jmp 2f\n\t" + "1:iret\n\t" + "2:\n\t" +); + + exec_in_big_real_mode(&inregs,&outregs, + insn_iret, + insn_iret_end - insn_iret); + + if (!regs_equal(&inregs,&outregs, 0)) + print_serial("iret Test 1: FAIL\n"); + else + print_serial("iret Test 1: PASS\n"); +} + This tests 32-bit iret, please test 16-bit iret as well (pushfw, pushw cs, callw, iretw). -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test: Add emulator test for iret instruction
On 07/28/2010 07:21 AM, Avi Kivity wrote: On 07/28/2010 02:22 AM, Mohammed Gamal wrote: This adds a unit test for real mode emulation of the iret instruction Signed-off-by: Mohammed Gamal --- kvm/test/x86/realmode.c | 23 +++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c index bd79348..16716cc 100644 --- a/kvm/test/x86/realmode.c +++ b/kvm/test/x86/realmode.c @@ -865,6 +865,28 @@ void test_pusha_popa() print_serial("Pusha/Popa Test2: PASS\n"); } +void test_iret() +{ +struct regs inregs = { 0 }, outregs; + +MK_INSN(iret, "pushf\n\t" + "pushl %cs\n\t" + "call 1f\n\t" /* a near call will push eip onto the stack */ + "jmp 2f\n\t" + "1:iret\n\t" + "2:\n\t" + ); + +exec_in_big_real_mode(&inregs,&outregs, + insn_iret, + insn_iret_end - insn_iret); + +if (!regs_equal(&inregs,&outregs, 0)) +print_serial("iret Test 1: FAIL\n"); +else +print_serial("iret Test 1: PASS\n"); +} + This tests 32-bit iret, please test 16-bit iret as well (pushfw, pushw cs, callw, iretw). Also add tests that set bits that must be zero (and checks that IRET clears them in eflags) or clears bit 1 and sees that IRET sets it. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test: Add emulator test for iret instruction
On Wed, Jul 28, 2010 at 12:39:01PM +0300, Mohammed Gamal wrote: > This adds a unit test for real mode emulation of the iret instruction > > Signed-off-by: Mohammed Gamal > > --- > Changes from v1: > - Added test for 16-bit iret > - Added tests for returned eflags > --- > kvm/test/x86/realmode.c | 79 > +++ > 1 files changed, 79 insertions(+), 0 deletions(-) > > diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c > index bd79348..74456c3 100644 > --- a/kvm/test/x86/realmode.c > +++ b/kvm/test/x86/realmode.c > @@ -865,6 +865,84 @@ void test_pusha_popa() > print_serial("Pusha/Popa Test2: PASS\n"); > } > > +void test_iret() > +{ > + struct regs inregs = { 0 }, outregs; > + > + MK_INSN(iret32, "pushf\n\t" > + "pushl %cs\n\t" > + "call 1f\n\t" /* a near call will push eip onto the > stack */ > + "jmp 2f\n\t" > + "1: iret\n\t" > + "2:\n\t" > + ); > + > + MK_INSN(iret16, "pushfw\n\t" > + "pushw %cs\n\t" > + "callw 1f\n\t" > + "jmp 2f\n\t" > + "1: iretw\n\t" > + "2:\n\t"); Unless iret causes a task switch, it will not cause an exit. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test: Add emulator test for iret instruction
On Wed, Jul 28, 2010 at 10:55 PM, Marcelo Tosatti wrote: > On Wed, Jul 28, 2010 at 12:39:01PM +0300, Mohammed Gamal wrote: >> This adds a unit test for real mode emulation of the iret instruction >> >> Signed-off-by: Mohammed Gamal >> >> --- >> Changes from v1: >> - Added test for 16-bit iret >> - Added tests for returned eflags >> --- >> kvm/test/x86/realmode.c | 79 >> +++ >> 1 files changed, 79 insertions(+), 0 deletions(-) >> >> diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c >> index bd79348..74456c3 100644 >> --- a/kvm/test/x86/realmode.c >> +++ b/kvm/test/x86/realmode.c >> @@ -865,6 +865,84 @@ void test_pusha_popa() >> print_serial("Pusha/Popa Test2: PASS\n"); >> } >> >> +void test_iret() >> +{ >> + struct regs inregs = { 0 }, outregs; >> + >> + MK_INSN(iret32, "pushf\n\t" >> + "pushl %cs\n\t" >> + "call 1f\n\t" /* a near call will push eip onto the >> stack */ >> + "jmp 2f\n\t" >> + "1: iret\n\t" >> + "2:\n\t" >> + ); >> + >> + MK_INSN(iret16, "pushfw\n\t" >> + "pushw %cs\n\t" >> + "callw 1f\n\t" >> + "jmp 2f\n\t" >> + "1: iretw\n\t" >> + "2:\n\t"); > > Unless iret causes a task switch, it will not cause an exit. > > The test covers only the real mode case, we won't have a task switch there, no? -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test: Add emulator test for iret instruction
On Wed, Jul 28, 2010 at 11:28:05PM +0300, Mohammed Gamal wrote: > On Wed, Jul 28, 2010 at 10:55 PM, Marcelo Tosatti wrote: > > On Wed, Jul 28, 2010 at 12:39:01PM +0300, Mohammed Gamal wrote: > >> This adds a unit test for real mode emulation of the iret instruction > >> > >> Signed-off-by: Mohammed Gamal > >> > >> --- > >> Changes from v1: > >> - Added test for 16-bit iret > >> - Added tests for returned eflags > >> --- > >> kvm/test/x86/realmode.c | 79 > >> +++ > >> 1 files changed, 79 insertions(+), 0 deletions(-) > >> > >> diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c > >> index bd79348..74456c3 100644 > >> --- a/kvm/test/x86/realmode.c > >> +++ b/kvm/test/x86/realmode.c > >> @@ -865,6 +865,84 @@ void test_pusha_popa() > >> print_serial("Pusha/Popa Test2: PASS\n"); > >> } > >> > >> +void test_iret() > >> +{ > >> + struct regs inregs = { 0 }, outregs; > >> + > >> + MK_INSN(iret32, "pushf\n\t" > >> + "pushl %cs\n\t" > >> + "call 1f\n\t" /* a near call will push eip onto the > >> stack */ > >> + "jmp 2f\n\t" > >> + "1: iret\n\t" > >> + "2:\n\t" > >> + ); > >> + > >> + MK_INSN(iret16, "pushfw\n\t" > >> + "pushw %cs\n\t" > >> + "callw 1f\n\t" > >> + "jmp 2f\n\t" > >> + "1: iretw\n\t" > >> + "2:\n\t"); > > > > Unless iret causes a task switch, it will not cause an exit. > > > > > The test covers only the real mode case, we won't have a task switch there, > no? No. And there is no vmexit for iret, so it does not go through the emulator. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test: Add emulator test for iret instruction
On Wed, Jul 28, 2010 at 11:32 PM, Marcelo Tosatti wrote: > On Wed, Jul 28, 2010 at 11:28:05PM +0300, Mohammed Gamal wrote: >> On Wed, Jul 28, 2010 at 10:55 PM, Marcelo Tosatti >> wrote: >> > On Wed, Jul 28, 2010 at 12:39:01PM +0300, Mohammed Gamal wrote: >> >> This adds a unit test for real mode emulation of the iret instruction >> >> >> >> Signed-off-by: Mohammed Gamal >> >> >> >> --- >> >> Changes from v1: >> >> - Added test for 16-bit iret >> >> - Added tests for returned eflags >> >> --- >> >> kvm/test/x86/realmode.c | 79 >> >> +++ >> >> 1 files changed, 79 insertions(+), 0 deletions(-) >> >> >> >> diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c >> >> index bd79348..74456c3 100644 >> >> --- a/kvm/test/x86/realmode.c >> >> +++ b/kvm/test/x86/realmode.c >> >> @@ -865,6 +865,84 @@ void test_pusha_popa() >> >> print_serial("Pusha/Popa Test2: PASS\n"); >> >> } >> >> >> >> +void test_iret() >> >> +{ >> >> + struct regs inregs = { 0 }, outregs; >> >> + >> >> + MK_INSN(iret32, "pushf\n\t" >> >> + "pushl %cs\n\t" >> >> + "call 1f\n\t" /* a near call will push eip onto the >> >> stack */ >> >> + "jmp 2f\n\t" >> >> + "1: iret\n\t" >> >> + "2:\n\t" >> >> + ); >> >> + >> >> + MK_INSN(iret16, "pushfw\n\t" >> >> + "pushw %cs\n\t" >> >> + "callw 1f\n\t" >> >> + "jmp 2f\n\t" >> >> + "1: iretw\n\t" >> >> + "2:\n\t"); >> > >> > Unless iret causes a task switch, it will not cause an exit. >> > >> > >> The test covers only the real mode case, we won't have a task switch there, >> no? > > No. And there is no vmexit for iret, so it does not go through the > emulator. > I'm pretty sure the iret instruction went through the emulator. I saw the instruction opcode (0xcf) being in ftrace. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test: Add emulator test for iret instruction
On Thu, Jul 29, 2010 at 2:13 AM, Mohammed Gamal wrote: > On Wed, Jul 28, 2010 at 11:56 PM, Marcelo Tosatti wrote: >> On Wed, Jul 28, 2010 at 11:36:16PM +0300, Mohammed Gamal wrote: >>> On Wed, Jul 28, 2010 at 11:32 PM, Marcelo Tosatti >>> wrote: >>> > On Wed, Jul 28, 2010 at 11:28:05PM +0300, Mohammed Gamal wrote: >>> >> On Wed, Jul 28, 2010 at 10:55 PM, Marcelo Tosatti >>> >> wrote: >>> >> > On Wed, Jul 28, 2010 at 12:39:01PM +0300, Mohammed Gamal wrote: >>> >> >> This adds a unit test for real mode emulation of the iret instruction >>> >> >> >>> >> >> Signed-off-by: Mohammed Gamal >>> >> >> >>> >> >> --- >>> >> >> Changes from v1: >>> >> >> - Added test for 16-bit iret >>> >> >> - Added tests for returned eflags >>> >> >> --- >>> >> >> kvm/test/x86/realmode.c | 79 >>> >> >> +++ >>> >> >> 1 files changed, 79 insertions(+), 0 deletions(-) >>> >> >> >>> >> >> diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c >>> >> >> index bd79348..74456c3 100644 >>> >> >> --- a/kvm/test/x86/realmode.c >>> >> >> +++ b/kvm/test/x86/realmode.c >>> >> >> @@ -865,6 +865,84 @@ void test_pusha_popa() >>> >> >> print_serial("Pusha/Popa Test2: PASS\n"); >>> >> >> } >>> >> >> >>> >> >> +void test_iret() >>> >> >> +{ >>> >> >> + struct regs inregs = { 0 }, outregs; >>> >> >> + >>> >> >> + MK_INSN(iret32, "pushf\n\t" >>> >> >> + "pushl %cs\n\t" >>> >> >> + "call 1f\n\t" /* a near call will push eip onto >>> >> >> the stack */ >>> >> >> + "jmp 2f\n\t" >>> >> >> + "1: iret\n\t" >>> >> >> + "2:\n\t" >>> >> >> + ); >>> >> >> + >>> >> >> + MK_INSN(iret16, "pushfw\n\t" >>> >> >> + "pushw %cs\n\t" >>> >> >> + "callw 1f\n\t" >>> >> >> + "jmp 2f\n\t" >>> >> >> + "1: iretw\n\t" >>> >> >> + "2:\n\t"); >>> >> > >>> >> > Unless iret causes a task switch, it will not cause an exit. >>> >> > >>> >> > >>> >> The test covers only the real mode case, we won't have a task switch >>> >> there, no? >>> > >>> > No. And there is no vmexit for iret, so it does not go through the >>> > emulator. >>> > >>> I'm pretty sure the iret instruction went through the emulator. I saw >>> the instruction opcode (0xcf) being in ftrace. >> >> Can you confirm that please? I don't see it here. >> > Sure, here is the ftrace output corresponding to the test instructions >From the first test qemu-system-x86-12850 [001] 5167.509842: kvm_emulate_insn: 0:4200: 66 9c (real) qemu-system-x86-12850 [001] 5167.509844: kvm_emulate_insn: 0:4202: 66 0e (real) qemu-system-x86-12850 [001] 5167.509847: kvm_emulate_insn: 0:4204: 66 e8 02 00 00 00 (real) qemu-system-x86-12850 [001] 5167.509849: kvm_emulate_insn: 0:420c: 66 cf (real) qemu-system-x86-12850 [001] 5167.509852: kvm_emulate_insn: 0:420a: eb 02 (real) Second test: qemu-system-x86-12850 [001] 5167.509998: kvm_emulate_insn: 0:4200: 9c (real) qemu-system-x86-12850 [001] 5167.51: kvm_emulate_insn: 0:4201: 0e (real) qemu-system-x86-12850 [001] 5167.510002: kvm_emulate_insn: 0:4202: e8 02 00 (real) qemu-system-x86-12850 [001] 5167.510004: kvm_emulate_insn: 0:4207: cf (real) qemu-system-x86-12850 [001] 5167.510006: kvm_emulate_insn: 0:4205: eb 01 (real) Third test: <...>-12850 [001] 5167.510162: kvm_emulate_insn: 0:4200: 66 9c (real) <...>-12850 [001] 5167.510164: kvm_emulate_insn: 0:4202: 66 58 (real) <...>-12850 [001] 5167.510166: kvm_emulate_insn: 0:4204: 66 83 e0 fd (real) <...>-12850 [001] 5167.510168: kvm_emulate_insn: 0:4208: 66 0d 28 80 c0 ff (real) <...>-12850 [001] 5167.510170: kvm_emulate_insn: 0:420e: 66 50 (real) <...>-12850 [001] 5167.510172: kvm_emulate_insn: 0:4210: 66 0e (real) <...>-12850 [001] 5167.510174: kvm_emulate_insn: 0:4212: 66 e8 02 00 00 00 (real) <...>-12850 [001] 5167.510176: kvm_emulate_insn: 0:421a: 66 cf (real) <...>-12850 [001] 5167.510179: kvm_emulate_insn: 0:4218: eb 02 (real) Fourth test: qemu-system-x86-12850 [001] 5167.510302: kvm_emulate_insn: 0:4200: 9c (real) qemu-system-x86-12850 [001] 5167.510304: kvm_emulate_insn: 0:4201: 58 (real) qemu-system-x86-12850 [001] 5167.510306: kvm_emulate_insn: 0:4202: 83 e0 fd (real) qemu-system-x86-12850 [001] 5167.510308: kvm_emulate_insn: 0:4205: 0d 28 80 (real) qemu-system-x86-12850 [001] 5167.510310: kvm_emulate_insn: 0:4208: 50 (real) qemu-system-x86-12850 [001] 5167.510312: kvm_emulate_insn: 0:4209: 0e (real) qemu-system-x86-12850 [001] 5167.510313: kvm_emulate_insn: 0:420a: e8 02 00 (real) qemu-system-x86-12850 [001] 5167.510315: kvm_emulate_insn: 0:420f: cf (real) qemu-system-x86-12850 [001] 5167.510318: kvm_emulate_insn: 0:420d: eb 01 (real) -- To unsubscribe from this list
Re: [PATCH] test: Add emulator test for iret instruction
On Thu, Jul 29, 2010 at 2:16 AM, Mohammed Gamal wrote: > On Thu, Jul 29, 2010 at 2:13 AM, Mohammed Gamal wrote: >> On Wed, Jul 28, 2010 at 11:56 PM, Marcelo Tosatti >> wrote: >>> On Wed, Jul 28, 2010 at 11:36:16PM +0300, Mohammed Gamal wrote: On Wed, Jul 28, 2010 at 11:32 PM, Marcelo Tosatti wrote: > On Wed, Jul 28, 2010 at 11:28:05PM +0300, Mohammed Gamal wrote: >> On Wed, Jul 28, 2010 at 10:55 PM, Marcelo Tosatti >> wrote: >> > On Wed, Jul 28, 2010 at 12:39:01PM +0300, Mohammed Gamal wrote: >> >> This adds a unit test for real mode emulation of the iret instruction >> >> >> >> Signed-off-by: Mohammed Gamal >> >> >> >> --- >> >> Changes from v1: >> >> - Added test for 16-bit iret >> >> - Added tests for returned eflags >> >> --- >> >> kvm/test/x86/realmode.c | 79 >> >> +++ >> >> 1 files changed, 79 insertions(+), 0 deletions(-) >> >> >> >> diff --git a/kvm/test/x86/realmode.c b/kvm/test/x86/realmode.c >> >> index bd79348..74456c3 100644 >> >> --- a/kvm/test/x86/realmode.c >> >> +++ b/kvm/test/x86/realmode.c >> >> @@ -865,6 +865,84 @@ void test_pusha_popa() >> >> print_serial("Pusha/Popa Test2: PASS\n"); >> >> } >> >> >> >> +void test_iret() >> >> +{ >> >> + struct regs inregs = { 0 }, outregs; >> >> + >> >> + MK_INSN(iret32, "pushf\n\t" >> >> + "pushl %cs\n\t" >> >> + "call 1f\n\t" /* a near call will push eip >> >> onto the stack */ >> >> + "jmp 2f\n\t" >> >> + "1: iret\n\t" >> >> + "2:\n\t" >> >> + ); >> >> + >> >> + MK_INSN(iret16, "pushfw\n\t" >> >> + "pushw %cs\n\t" >> >> + "callw 1f\n\t" >> >> + "jmp 2f\n\t" >> >> + "1: iretw\n\t" >> >> + "2:\n\t"); >> > >> > Unless iret causes a task switch, it will not cause an exit. >> > >> > >> The test covers only the real mode case, we won't have a task switch >> there, no? > > No. And there is no vmexit for iret, so it does not go through the > emulator. > I'm pretty sure the iret instruction went through the emulator. I saw the instruction opcode (0xcf) being in ftrace. >>> >>> Can you confirm that please? I don't see it here. >>> >> > Sure, here is the ftrace output corresponding to the test instructions > > From the first test > qemu-system-x86-12850 [001] 5167.509842: kvm_emulate_insn: 0:4200: 66 9c > (real) > qemu-system-x86-12850 [001] 5167.509844: kvm_emulate_insn: 0:4202: > 66 0e (real) > qemu-system-x86-12850 [001] 5167.509847: kvm_emulate_insn: 0:4204: > 66 e8 02 00 00 00 (real) > qemu-system-x86-12850 [001] 5167.509849: kvm_emulate_insn: 0:420c: > 66 cf (real) > qemu-system-x86-12850 [001] 5167.509852: kvm_emulate_insn: 0:420a: > eb 02 (real) > > Second test: > qemu-system-x86-12850 [001] 5167.509998: kvm_emulate_insn: 0:4200: 9c (real) > qemu-system-x86-12850 [001] 5167.51: kvm_emulate_insn: 0:4201: 0e (real) > qemu-system-x86-12850 [001] 5167.510002: kvm_emulate_insn: 0:4202: > e8 02 00 (real) > qemu-system-x86-12850 [001] 5167.510004: kvm_emulate_insn: 0:4207: cf > (real) > qemu-system-x86-12850 [001] 5167.510006: kvm_emulate_insn: 0:4205: > eb 01 (real) > > Third test: > <...>-12850 [001] 5167.510162: kvm_emulate_insn: 0:4200: 66 9c > (real) > <...>-12850 [001] 5167.510164: kvm_emulate_insn: 0:4202: > 66 58 (real) > <...>-12850 [001] 5167.510166: kvm_emulate_insn: 0:4204: > 66 83 e0 fd (real) > <...>-12850 [001] 5167.510168: kvm_emulate_insn: 0:4208: > 66 0d 28 80 c0 ff (real) > <...>-12850 [001] 5167.510170: kvm_emulate_insn: 0:420e: > 66 50 (real) > <...>-12850 [001] 5167.510172: kvm_emulate_insn: 0:4210: > 66 0e (real) > <...>-12850 [001] 5167.510174: kvm_emulate_insn: 0:4212: > 66 e8 02 00 00 00 (real) > <...>-12850 [001] 5167.510176: kvm_emulate_insn: 0:421a: > 66 cf (real) > <...>-12850 [001] 5167.510179: kvm_emulate_insn: 0:4218: > eb 02 (real) > > > Fourth test: > qemu-system-x86-12850 [001] 5167.510302: kvm_emulate_insn: 0:4200: 9c > (real) > qemu-system-x86-12850 [001] 5167.510304: kvm_emulate_insn: 0:4201: 58 > (real) > qemu-system-x86-12850 [001] 5167.510306: kvm_emulate_insn: 0:4202: > 83 e0 fd (real) > qemu-system-x86-12850 [001] 5167.510308: kvm_emulate_insn: 0:4205: > 0d 28 80 (real) > qemu-system-x86-12850 [001] 5167.510310: kvm_emulate_insn: 0:4208: 50 > (real) > qemu-system-x86-12850 [001] 5167.510312: kvm_emulate_insn: 0:4209: 0e > (real) > qemu-system-x86-12850 [001] 5167.51
Re: [PATCH] test: Add emulator test for iret instruction
On Thu, Jul 29, 2010 at 02:18:20AM +0300, Mohammed Gamal wrote: > > Fourth test: > > qemu-system-x86-12850 [001] 5167.510302: kvm_emulate_insn: 0:4200: 9c > > (real) > > qemu-system-x86-12850 [001] 5167.510304: kvm_emulate_insn: 0:4201: 58 > > (real) > > qemu-system-x86-12850 [001] 5167.510306: kvm_emulate_insn: 0:4202: > > 83 e0 fd (real) > > qemu-system-x86-12850 [001] 5167.510308: kvm_emulate_insn: 0:4205: > > 0d 28 80 (real) > > qemu-system-x86-12850 [001] 5167.510310: kvm_emulate_insn: 0:4208: 50 > > (real) > > qemu-system-x86-12850 [001] 5167.510312: kvm_emulate_insn: 0:4209: 0e > > (real) > > qemu-system-x86-12850 [001] 5167.510313: kvm_emulate_insn: 0:420a: > > e8 02 00 (real) > > qemu-system-x86-12850 [001] 5167.510315: kvm_emulate_insn: 0:420f: cf > > (real) > > qemu-system-x86-12850 [001] 5167.510318: kvm_emulate_insn: 0:420d: > > eb 01 (real) > > > > As an extra note, you need to run realmode.flat with the > emulate_invalid_guest_state=1 module option for kvm_intel. If you > don't use that option, the emulator is not going to be invoked. Doh, right. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] test: Add emulator test for iret instruction
On Wed, Jul 28, 2010 at 12:39:01PM +0300, Mohammed Gamal wrote: > This adds a unit test for real mode emulation of the iret instruction > > Signed-off-by: Mohammed Gamal > > --- > Changes from v1: > - Added test for 16-bit iret > - Added tests for returned eflags > --- > kvm/test/x86/realmode.c | 79 > +++ > 1 files changed, 79 insertions(+), 0 deletions(-) Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html