[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 |