From: Sameer Goel <sgoel@codeaurora.org>
To: xen-devel <xen-devel@lists.xensource.com>, ian.campbell@citrix.com
Cc: Sameer Goel <sgoel@codeaurora.org>,
Julien Grall <julien.grall@arm.com>,
Stefano Stabellini <sstabellini@kernel.org>,
shankerd@codeaurora.org
Subject: [PATCH] Revert "xen/arm: do not relocate Xen outside of visible RAM"
Date: Mon, 24 Oct 2016 16:29:35 -0600 [thread overview]
Message-ID: <1477348175-26865-1-git-send-email-sgoel@codeaurora.org> (raw)
This reverts commit db92b1ac55cd5e193ae22b0b6f01fb47bc9e5d2f.
There does not seem to be a restriction on non contiguous memory anymore . So,
reverting this change, so that Xen is placed at the end of the useable
system RAM even if the partitions are not contiguous.
Signed-off-by: Sameer Goel <sgoel@codeaurora.org>
---
The load restriction placed in the above reverted patch resulted in a crash
when booting DOM0 on a Qualcomm platform with non contiguous system RAM.
(XEN) DOM0: [ 0.000000] bootmem alloc of 64 bytes failed!
(XEN) DOM0: [ 0.000000] Kernel panic - not syncing: Out of memory
(XEN) DOM0: [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.7.0-rc7+ #19
(XEN) DOM0: [ 0.000000] Hardware name: (null) (DT)
(XEN) DOM0: [ 0.000000] Call trace:
(XEN) DOM0: [ 0.000000] [<ffff000008088854>] dump_backtrace+0x0/0x1e4
(XEN) DOM0: [ 0.000000] [<ffff000008088a5c>] show_stack+0x24/0x2c
(XEN) DOM0: [ 0.000000] [<ffff000008452004>] dump_stack+0x8c/0xb0
(XEN) DOM0: [ 0.000000] [<ffff00000819ee78>] panic+0x128/0x268
(XEN) DOM0: [ 0.000000] [<ffff00000902c018>] __alloc_bootmem_low+0x40/0x4c
(XEN) DOM0: [ 0.000000] [<ffff000009012adc>] setup_arch+0x2d8/0x560
(XEN) DOM0: [ 0.000000] [<ffff00000901084c>] start_kernel+0x60/0x3b4
(XEN) DOM0: [ 0.000000] [<ffff0000090101bc>] __primary_switched+0x30/0x74
(XEN) DOM0: [ 0.000000] ---[ end Kernel panic - not syncing: Out of memory
The root cause for the crash was >4GB difference between the arm grant table
(lower address) and the kernel start address. The kernel sees the grant table
region as the start of system RAM.
Since, the grant table is a reuse of the text region of Xen image this issue
would not be seen if Xen is loaded high enough in memory.
xen/arch/arm/setup.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 38eb888..1678871 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -392,25 +392,17 @@ static paddr_t __init get_xen_paddr(void)
{
struct meminfo *mi = &bootinfo.mem;
paddr_t min_size;
- paddr_t paddr = 0, last_end;
+ paddr_t paddr = 0;
int i;
min_size = (_end - _start + (XEN_PADDR_ALIGN-1)) & ~(XEN_PADDR_ALIGN-1);
- last_end = mi->bank[0].start;
-
/* Find the highest bank with enough space. */
for ( i = 0; i < mi->nr_banks; i++ )
{
const struct membank *bank = &mi->bank[i];
paddr_t s, e;
- /* We can only deal with contiguous memory at the moment */
- if ( last_end != bank->start )
- break;
-
- last_end = bank->start + bank->size;
-
if ( bank->size >= min_size )
{
e = consider_modules(bank->start, bank->start + bank->size,
--
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next reply other threads:[~2016-10-24 22:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-24 22:29 Sameer Goel [this message]
2016-10-24 23:14 ` [PATCH] Revert "xen/arm: do not relocate Xen outside of visible RAM" Stefano Stabellini
2016-10-25 14:51 ` Ruigrok, Richard
2016-10-25 16:05 ` Goel, Sameer
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=1477348175-26865-1-git-send-email-sgoel@codeaurora.org \
--to=sgoel@codeaurora.org \
--cc=ian.campbell@citrix.com \
--cc=julien.grall@arm.com \
--cc=shankerd@codeaurora.org \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xensource.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).