|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Xen-users] Hypervisor trap when dumping register
On 25/05/16 12:24, Julien Grall wrote: (Move the thread to Xen-devel) On 26/05/16 02:47, Chenxiao Zhao wrote:On 5/25/2016 2:37 AM, Julien Grall wrote:[...]root@linaro-alip:~# (XEN) *** Serial input -> Xen (type 'CTRL-x' three times to switch input to DOM0) (XEN) 'd' pressed -> dumping registers (XEN) (XEN) *** Dumping CPU0 host state: *** (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000245f10Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8Hypervisor Trap. HSR=0x96000007 EC=0x25 IL=1 Syndrome=0x7 (XEN) CPU0: Unexpected Trap: Hypervisor (XEN) ----[ Xen-4.7.0-rc arm64 debug=y Tainted: C ]---- (XEN) CPU: 0 (XEN) PC: 0000000000231dc8I was able to reproduce it with the latest RC on Juno r2. I will investigate it. The bisector fingered the patch: commit 2aa925be84293b44ad587ed117184ace61b41dd6 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Thu Mar 10 16:35:50 2016 -0500arm/x86: Use struct virtual_region to do bug, symbol, and (x86) exception tables lookup.
During execution of the hypervisor we have two regions of
executable code - stext -> _etext, and _sinittext -> _einitext.
The later is not needed after bootup.
We also have various built-in macros and functions to search
in between those two swaths depending on the state of the system.
That is either for bug_frames, exceptions (x86) or symbol
names for the instruction.
With xSplice in the picture - we need a mechanism for new payloads
to searched as well for all of this.
Originally we had extra 'if (xsplice)...' but that gets
a bit tiring and does not hook up nicely.
This 'struct virtual_region' and virtual_region_list provide a
mechanism to search for the bug_frames, exception table,
and symbol names entries without having various calls in
other sub-components in the system.
Code which wishes to participate in bug_frames and exception table
entries search has to only use two public APIs:
- register_virtual_region
- unregister_virtual_region
to let the core code know.
If the ->lookup_symbol is not then the default internal symbol lookup
mechanism is used.
Suggested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Acked-by: Julien Grall <julien.grall@xxxxxxx> [ARM]
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
Release-acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Wei, can you consider to add this bug as a blocker?
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |