[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Re: [PATCH][RFC] Emulating real mode with x86_emulate
Anthony,
eip of 0x0 is the right address.
Because the trampoline_Start code is relocated to address 0.
/* Relocate real-mode trampoline to 0x0. */
" mov $trampoline_start,%esi \n"
" xor %edi,%edi \n"
" mov $trampoline_end,%ecx \n"
" sub %esi,%ecx \n"
" rep movsb \n"
Still there is no progress in the emulation. The guest is dying with triple-fault just like before.
Thanks & Regards,
Nitin
Open Source Technology Center, Intel Corporation.
-------------------------------------------------------------------------
The mind is like a parachute; it works much better when it's open.
|
On Fri, 2007-03-30 at 14:08 -0700, Nitin A Kamble wrote:
Hi Anthony,
On Fri, 2007-03-30 at 14:00 -0500, Anthony Liguori wrote:
/* Enter real mode, reload all segment registers and IDT. */
" ljmp $0x8,$0x0 \n"
"trampoline_start: .code16 \n"
" mov %eax,%cr0 \n"
That change was pretty recent so unless it was reverted it should Just Work.
Regards,
Anthony Liguori
Now I see cr0 is updated after returning from main.
I enabled the debug log in the xen code now.
(XEN) HVM2: Creating MP tables ...
(XEN) HVM2: Loading Cirrus VGABIOS ...
(XEN) HVM2: Loading ACPI ...
(XEN) HVM2: Loading VMXAssist ... deadbeef
(XEN) HVM2: foo
(XEN) hvmop_emulate_realmode
(XEN) guest requests real mode emulation
(XEN) foo 221
(XEN) HVM2: Invoking ROMBIOS ...
(XEN) vmx_vmexit_handler called. eip = 0x0
(XEN) vmx_cr_access called eip=0x0
(XEN) mov_to_cr 0 called eip=0x0
(XEN) vmx_set_cr0 called eip=0x0
(XEN) Transfering -- control to x86_emulate eip 0x0
(XEN) hvm.c:446:d2 Triple fault on VCPU0 - invoking HVM system reset.
It shows cr0 is getting modified. But the eip is still 0x0.
Thanks & Regards,
Nitin
Open Source Technology Center, Intel Corporation.
-------------------------------------------------------------------------
The mind is like a parachute; it works much better when it's open.
|
Attachment:
signature.asc
Description: This is a digitally signed message part
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|