All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Eric Trudeau <etrudeau@broadcom.com>
Cc: "xen-devel (xen-devel@lists.xen.org)" <xen-devel@lists.xen.org>
Subject: Re: [XenARM] Moving Guest RAM address to other location than 0x80000000
Date: Wed, 09 Oct 2013 17:58:24 +0100	[thread overview]
Message-ID: <52558B30.70302@linaro.org> (raw)
In-Reply-To: <FF3E5629F9FF6745ADE4EE690CEC81AD2AD668FD@SJEXCHMB09.corp.ad.broadcom.com>

On 10/09/2013 05:34 PM, Eric Trudeau wrote:
>> -----Original Message-----
>> From: Julien Grall [mailto:julien.grall@linaro.org]
>> Sent: Wednesday, October 09, 2013 12:20 PM
>> To: Eric Trudeau
>> Cc: xen-devel (xen-devel@lists.xen.org)
>> Subject: Re: [Xen-devel] [XenARM] Moving Guest RAM address to other location
>> than 0x80000000
>>
>> On 10/09/2013 04:57 PM, Eric Trudeau wrote:
>>
>> Hi,
>>
>>> Can I move the Guest RAM address to something other than 0x80000000?
>>> I would like to move the Guest RAM to 0 if possible.
>>>
>>>
>>>
>>> I get a crash while creating the domain when I just change the following
>>> in tools/libxc/xc_dom_armzimageloader.c:
>>
>>
>>> #define GUEST_RAM_BASE 0x00000000 /* was 0x80000000 */
>>
>> Did you modify the guest DTS? If not, you need to fix the "reg" property
>> in memory node.
>>
> Yes, I have a memory region of 0 in the DT.
> 
> The crash is very early.  Could there be another code dependency on RAM starting at 0x80000000 (e.g. guest mapping)?

I don't see other dependencies in the code. Did you check that the jump
address is correct (dom->parms.virt_entry)?

> BTW:   xl destroy dom1 hangs when trying to destroy this guest.

That's normal, one of the CPU has received an non-handled hypervisor
trap that is result to an infinite loop in hyp mode for this CPU.
After few minutes you should see strange warning from the dom0 kernel.

I think we should correctly handle EC=0x20 (ie prefetch abort).

> 
> -------------------------------------------------------------------------------
> dom0 # xl create -c dom1.cfg

Can you paste the log of the following command?
xl -vvv create -c dom1.cfg

> Parsing config from dom1.cfg
> (XEN) physdev.c:57: dom1: gic_route_irq_to_guest mapped in IRQ 108
> (XEN) memory_map:add: dom1 gfn=0 mfn=0 nr=80000
> (XEN) memory_map:add: dom1 gfn=a0000 mfn=a0000 nr=20000
> (XEN) memory_map:add: dom1 gfn=f0000 mfn=f0000 nr=1000
> device vif1.0 entered promiscuous mode
> (XEN) Hypervisor Trap. HSR=0x80000006 EC=0x20 IL=0 Syndrome=6

It seems Xen received a prefetch abort, which means that the kernel is
trying to fetch an instruction in a non mapped address.

> Daemon running with PID 681(XEN) CPU3: Unexpected Trap: Hypervisor
> 
> (XEN) ----[ Xen-4.4-unstable  arm32  debug=y  Tainted:    C ]----
> (XEN) CPU:    3
> (XEN) PC:     ff7f4014

The PC address looks weird. Silly question, Did you try to boot the
guest with the current GUEST_RAM_BASE (ie 0x80000000)?

-- 
Julien Grall

      reply	other threads:[~2013-10-09 16:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-09 15:57 [XenARM] Moving Guest RAM address to other location than 0x80000000 Eric Trudeau
2013-10-09 16:19 ` Julien Grall
2013-10-09 16:34   ` Eric Trudeau
2013-10-09 16:58     ` 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=52558B30.70302@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=etrudeau@broadcom.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.