|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Unable to single step HVM guest
Hi,
I am trying to debug some HVM code I wrote for recording and replaying VM execution (on xen-unstable). For this, I set up kdb and a serial connection to another machine. However, most of the times when the breakpoint is hit, a fatal error occurs.
Here's what I'm doing: bp vmx_intr_assist go [Started HVM guest from the other machine. The guest OS is a dummy OS called Pintos.] *** kdb (Fatal Error on cpu:1 vec:14 Page Fault): ffff82c4801f473e: int3+1e lock bts %rax, 0xe17b9(%rip)
Another example (with the call stack): bp hvmemul_read_io [1]xkdb> go [Started HVM guest from the other machine.] (XEN) read_ins_ring_dom0: cleared ring (XEN) HVM1: HVM Loader (XEN) setmode: Initialized ring
(XEN) HVM1: Detected Xen v4.1-unstable (XEN) HVM1: CPU speed is 3325 MHz (XEN) HVM1: Xenbus rings @0xfeffc000, event channel 2 (XEN) irq.c:243: Dom1 PCI link 0 changed 0 -> 5 (XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:243: Dom1 PCI link 1 changed 0 -> 10 (XEN) HVM1: PCI-ISA link 1 routed to IRQ10 (XEN) irq.c:243: Dom1 PCI link 2 changed 0 -> 11 (XEN) HVM1: PCI-ISA link 2 routed to IRQ11 (XEN) irq.c:243: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5 *** kdb (Fatal Error on cpu:1 vec:14 Page Fault): ffff82c4801f473e: int3+1e lock bts %rax, 0xe17b9(%rip)
[1]xkdb> f (XEN) Xen call trace:
(XEN) [<ffff82c4801f473e>] int3+0x1e/0x40 (XEN) [<ffff82c4801a2171>] hvmemul_read_io+0x1/0x1f0 (XEN) [<ffff82c480188ec5>] x86_emulate+0xb8e5/0x12bd0 (XEN) [<ffff82c4801d9922>] sh_gva_to_gfn__guest_2+0x112/0x180
(XEN) [<ffff82c4801a8000>] __hvm_copy+0x240/0x3b0 (XEN) [<ffff82c480137900>] __serial_putc+0x50/0x190 (XEN) [<ffff82c480149619>] smp_apic_timer_interrupt+0x49/0x80 (XEN) [<ffff82c48011830f>] csched_vcpu_wake+0x12f/0x2c0
(XEN) [<ffff82c48014e5ed>] vcpu_kick+0x1d/0x80 (XEN) [<ffff82c480106065>] evtchn_set_pending+0x145/0x1d0 (XEN) [<ffff82c4801d9922>] sh_gva_to_gfn__guest_2+0x112/0x180 (XEN) [<ffff82c480106175>] notify_via_xen_event_channel+0x85/0xa0
(XEN) [<ffff82c4801a6a10>] hvm_send_assist_req+0xa0/0x120 (XEN) [<ffff82c4801a80b6>] __hvm_copy+0x2f6/0x3b0 (XEN) [<ffff82c4801a16d9>] hvm_emulate_one+0xc9/0x1b0 (XEN) [<ffff82c4801ac165>] handle_mmio+0x285/0x320
(XEN) [<ffff82c480130001>] unshare_xenoprof_page_with_guest+0xc1/0x140 (XEN) [<ffff82c48011d2b3>] vcpu_runstate_get+0x63/0xd0 (XEN) [<ffff82c48011d340>] get_cpu_idle_time+0x20/0x30 (XEN) [<ffff82c4801ac2c7>] hvm_io_assist+0xc7/0xd0
(XEN) [<ffff82c4801a7075>] hvm_do_resume+0x185/0x1b0 (XEN) [<ffff82c4801a6f21>] hvm_do_resume+0x31/0x1b0 (XEN) [<ffff82c4801bd73d>] vmx_do_resume+0x12d/0x1e0 (XEN) [<ffff82c48014f577>] context_switch+0x147/0xe40
(XEN) [<ffff82c48014f577>] context_switch+0x147/0xe40 (XEN) [<ffff82c480174668>] __update_vcpu_system_time+0x258/0x2e0 (XEN) [<ffff82c48011e480>] schedule+0x230/0x570 (XEN) [<ffff82c48014907a>] event_check_interrupt+0x2a/0x30
(XEN) [<ffff82c48011f8af>] __do_softirq+0x6f/0xb0 (XEN) [<ffff82c48015255d>] idle_loop+0x2d/0x60
The line where the error occurs is in arch/x86/x86_64/entry.S. I couldn't find any way to get Xen back to running after this error happens, so I usually end up doing a forced reboot.
Can someone please shed some light on what's happening? Is there anything I can do differently to get around this?
Thanks, Daniel. -- Daniel J Mathew Indian Institute of Technology Delhi
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Unable to single step HVM guest,
Daniel J Mathew <=
|
|
|
|
|