* [PATCH] xen: do not reserve 2 pages of padding between hypervisor and fixmap.
@ 2008-10-10 10:27 Ian Campbell
2008-10-10 11:00 ` Ingo Molnar
0 siblings, 1 reply; 2+ messages in thread
From: Ian Campbell @ 2008-10-10 10:27 UTC (permalink / raw)
To: linux-kernel
Cc: Ian Campbell, Ian Campbell, Jeremy Fitzhardinge,
Signed-off-by: Ingo Molnar
When reserving space for the hypervisor the Xen paravirt backend adds
an extra two pages (this was carried forward from the 2.6.18-xen tree
which had them "for safety"). Depending on various CONFIG options this
can cause the boot time fixmaps to span multiple PMDs which is not
supported and triggers a WARN in early_ioremap_init().
This was exposed by 2216d199b1430d1c0affb1498a9ebdbd9c0de439 which
moved the dmi table parsing earlier.
x86: fix CONFIG_X86_RESERVE_LOW_64K=y
The bad_bios_dmi_table() quirk never triggered because we do DMI setup
too late. Move it a bit earlier.
There is no real reason to reserve these two extra pages and the
fixmap already incorporates FIX_HOLE which serves the same
purpose. None of the other callers of reserve_top_address do this.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/x86/xen/enlighten.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index bd6b50a..e8df41a 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1401,7 +1401,7 @@ static void __init xen_reserve_top(void)
if (HYPERVISOR_xen_version(XENVER_platform_parameters, &pp) == 0)
top = pp.virt_start;
- reserve_top_address(-top + 2 * PAGE_SIZE);
+ reserve_top_address(-top);
#endif /* CONFIG_X86_32 */
}
--
1.5.6.3
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] xen: do not reserve 2 pages of padding between hypervisor and fixmap.
2008-10-10 10:27 [PATCH] xen: do not reserve 2 pages of padding between hypervisor and fixmap Ian Campbell
@ 2008-10-10 11:00 ` Ingo Molnar
0 siblings, 0 replies; 2+ messages in thread
From: Ingo Molnar @ 2008-10-10 11:00 UTC (permalink / raw)
To: Ian Campbell
Cc: linux-kernel, Jeremy Fitzhardinge, Thomas Gleixner,
H. Peter Anvin, Yinghai Lu
* Ian Campbell <Ian.Campbell@citrix.com> wrote:
> When reserving space for the hypervisor the Xen paravirt backend adds
> an extra two pages (this was carried forward from the 2.6.18-xen tree
> which had them "for safety"). Depending on various CONFIG options this
> can cause the boot time fixmaps to span multiple PMDs which is not
> supported and triggers a WARN in early_ioremap_init().
>
> This was exposed by 2216d199b1430d1c0affb1498a9ebdbd9c0de439 which
> moved the dmi table parsing earlier.
> x86: fix CONFIG_X86_RESERVE_LOW_64K=y
>
> The bad_bios_dmi_table() quirk never triggered because we do DMI setup
> too late. Move it a bit earlier.
>
> There is no real reason to reserve these two extra pages and the
> fixmap already incorporates FIX_HOLE which serves the same
> purpose. None of the other callers of reserve_top_address do this.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Jeremy Fitzhardinge <jeremy@goop.org>
> Cc: Signed-off-by: Ingo Molnar <mingo@elte.hu>
applied to tip/x86/xen, thanks Ian!
Ingo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-10-10 11:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-10 10:27 [PATCH] xen: do not reserve 2 pages of padding between hypervisor and fixmap Ian Campbell
2008-10-10 11:00 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®