All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Chenxiao Zhao <chenxiao.zhao@gmail.com>,
	Xen Devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-users] Hypervisor trap when dumping register
Date: Wed, 25 May 2016 13:24:59 +0100	[thread overview]
Message-ID: <5745999B.9060306@arm.com> (raw)
In-Reply-To: <57458B80.8090700@arm.com>



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:     0000000000231dc8
>
> I 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@oracle.com>
Date:   Thu Mar 10 16:35:50 2016 -0500

     arm/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@citrix.com>
     Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
     Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
     Acked-by: Julien Grall <julien.grall@arm.com> [ARM]
     Acked-by: Jan Beulich <jbeulich@suse.com>
     Release-acked-by: Wei Liu <wei.liu2@citrix.com>

Wei, can you consider to add this bug as a blocker?

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

      reply	other threads:[~2016-05-25 12:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CA+e=sbLjGHLxKW2OA9+U8y3LzBTOjD7bwXwa_rkyO8958mmM9Q@mail.gmail.com>
     [not found] ` <203f955a-04d8-2f18-0fdd-a9c5cb6bc091@arm.com>
     [not found]   ` <CA+e=sbKRP07GqnyJtFyire1jpr9f-RcVroOKtyvJYveT=vJSDQ@mail.gmail.com>
     [not found]     ` <5745724B.8050109@arm.com>
     [not found]       ` <4d4e3960-a393-696a-4684-be2bb2a53197@gmail.com>
2016-05-25 11:24         ` [Xen-users] Hypervisor trap when dumping register Julien Grall
2016-05-25 12:24           ` Julien Grall [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5745999B.9060306@arm.com \
    --to=julien.grall@arm.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=chenxiao.zhao@gmail.com \
    --cc=sstabellini@kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.