From: Yinghai Lu <yinghai@kernel.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: mingo@redhat.com, hpa@zytor.com, jeremy@goop.org,
linux-kernel@vger.kernel.org, tglx@linutronix.de,
hpa@linux.intel.com, jeremy.fitzhardinge@citrix.com,
linux-tip-commits@vger.kernel.org
Subject: Re: [tip:core/memblock] x86-64: Only set max_pfn_mapped to 512 MiB if we enter via head_64.S
Date: Thu, 14 Oct 2010 00:03:00 -0700 [thread overview]
Message-ID: <4CB6AB24.9020504@kernel.org> (raw)
In-Reply-To: <20101014063706.GA23561@elte.hu>
On 10/13/2010 11:37 PM, Ingo Molnar wrote:
>
> * Yinghai Lu <yinghai@kernel.org> wrote:
>
>> On 10/13/2010 10:57 PM, Ingo Molnar wrote:
>>>
>>> * tip-bot for Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>>>
>>>> Commit-ID: 859ee4f57fb4e91de8439496f62eb996f4a28ca8
>>>> Gitweb: http://git.kernel.org/tip/859ee4f57fb4e91de8439496f62eb996f4a28ca8
>>>> Author: Jeremy Fitzhardinge <jeremy@goop.org>
>>>> AuthorDate: Wed, 13 Oct 2010 16:34:15 -0700
>>>> Committer: H. Peter Anvin <hpa@linux.intel.com>
>>>> CommitDate: Wed, 13 Oct 2010 17:09:59 -0700
>>>>
>>>> x86-64: Only set max_pfn_mapped to 512 MiB if we enter via head_64.S
>>>>
>>>> head_64.S maps up to 512 MiB, but that is not necessarity true for
>>>> other entry paths, such as Xen.
>>>
please fold following patch into 859ee4f57fb4e91de8439496f62eb996f4a28ca8
Thanks
Yinghai
[PATCH] x86_64: Set max_pfn_mapped in x86_64_start_kernel
Ingo found:
[ 0.000000] init_memory_mapping: 0000000000000000-000000003fff0000
[ 0.000000] 0000000000 - 003fe00000 page 2M
[ 0.000000] 003fe00000 - 003fff0000 page 4k
[ 0.000000] Kernel panic - not syncing: Cannot find space for the kernel page tables
[ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.36-rc7-tip+ #49192
[ 0.000000] Call Trace:
[ 0.000000] [<ffffffff8156c73f>] panic+0x8c/0x192
[ 0.000000] [<ffffffff8156c881>] ? printk+0x3c/0x3e
[ 0.000000] [<ffffffff8154ec40>] init_memory_mapping+0x372/0x506
[ 0.000000] [<ffffffff819053ed>] ? memblock_x86_reserve_range+0x7c/0x83
[ 0.000000] [<ffffffff818f2f3d>] setup_arch+0x5a3/0xa68
[ 0.000000] [<ffffffff8156c881>] ? printk+0x3c/0x3e
[ 0.000000] [<ffffffff81061135>] ? clockevents_register_notifier+0x3e/0x4a
[ 0.000000] [<ffffffff818ef9e1>] start_kernel+0x83/0x36e
[ 0.000000] [<ffffffff818ef2a8>] x86_64_start_reservations+0xb8/0xbc
[ 0.000000] [<ffffffff818ef393>] x86_64_start_kernel+0xe7/0xee
caused by:
| 859ee4f: x86-64: Only set max_pfn_mapped to 512 MiB if we enter via head_64.S
it turns out max_pfn_mapped is in .bss section.
So We need to set that after bss get cleared.
that is safe because xen don't call x86_64_start_kernel()
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
arch/x86/kernel/head64.c | 2 ++
arch/x86/kernel/head_64.S | 2 --
2 files changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6/arch/x86/kernel/head64.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/head64.c
+++ linux-2.6/arch/x86/kernel/head64.c
@@ -80,6 +80,8 @@ void __init x86_64_start_kernel(char * r
/* Cleanup the over mapped high alias */
cleanup_highmap();
+ max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT;
+
for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) {
#ifdef CONFIG_EARLY_PRINTK
set_intr_gate(i, &early_idt_handlers[i]);
Index: linux-2.6/arch/x86/kernel/head_64.S
===================================================================
--- linux-2.6.orig/arch/x86/kernel/head_64.S
+++ linux-2.6/arch/x86/kernel/head_64.S
@@ -141,8 +141,6 @@ ident_complete:
addq %rbp, trampoline_level4_pgt + (511*8)(%rip)
#endif
- movq $KERNEL_IMAGE_SIZE / PAGE_SIZE, max_pfn_mapped(%rip)
-
/* Due to ENTRY(), sometimes the empty space gets filled with
* zeros. Better take a jmp than relying on empty space being
* filled with 0x90 (nop)
next prev parent reply other threads:[~2010-10-14 7:05 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-04 21:57 [PATCH 0/4] memblock related fixes for -tip Yinghai Lu
2010-10-06 22:52 ` Jeremy Fitzhardinge
2010-10-06 22:57 ` Yinghai Lu
2010-10-06 22:59 ` H. Peter Anvin
2010-10-07 18:31 ` Jeremy Fitzhardinge
2010-11-03 5:05 ` Debug patches for memblock Yinghai Lu
2010-11-03 5:13 ` Jeremy Fitzhardinge
2010-10-12 0:01 ` [tip:core/memblock] memblock: Allow memblock_init to be called early tip-bot for Jeremy Fitzhardinge
2010-10-12 18:41 ` [PATCH 0/4] memblock related fixes for -tip Jeremy Fitzhardinge
2010-10-12 18:45 ` Yinghai Lu
2010-10-12 21:12 ` Yinghai Lu
2010-10-12 21:42 ` Jeremy Fitzhardinge
2010-10-12 21:50 ` H. Peter Anvin
2010-10-12 22:02 ` Yinghai Lu
2010-10-12 21:42 ` H. Peter Anvin
2010-10-12 22:01 ` Yinghai Lu
2010-10-12 22:10 ` H. Peter Anvin
2010-10-12 23:37 ` Jeremy Fitzhardinge
2010-10-13 5:40 ` Yinghai Lu
2010-10-13 16:31 ` Jeremy Fitzhardinge
2010-10-13 18:12 ` Yinghai Lu
2010-10-13 18:20 ` H. Peter Anvin
2010-10-13 20:03 ` Jeremy Fitzhardinge
2010-10-13 21:03 ` H. Peter Anvin
2010-10-13 23:02 ` Jeremy Fitzhardinge
2010-10-13 23:07 ` H. Peter Anvin
2010-10-14 0:31 ` [tip:core/memblock] xen: Cope with unmapped pages when initializing kernel pagetable tip-bot for Jeremy Fitzhardinge
2010-10-13 22:06 ` [PATCH 0/4] memblock related fixes for -tip Yinghai Lu
2010-10-13 23:07 ` Jeremy Fitzhardinge
2010-10-13 23:14 ` Jeremy Fitzhardinge
2010-10-13 23:18 ` H. Peter Anvin
2010-10-13 23:34 ` Jeremy Fitzhardinge
2010-10-14 0:08 ` Yinghai
2010-10-14 0:24 ` Jeremy Fitzhardinge
2010-10-14 0:27 ` H. Peter Anvin
2010-10-14 0:31 ` [tip:core/memblock] x86-64: Only set max_pfn_mapped to 512 MiB if we enter via head_64.S tip-bot for Jeremy Fitzhardinge
2010-10-14 5:57 ` Ingo Molnar
2010-10-14 5:59 ` Ingo Molnar
2010-10-14 6:06 ` Ingo Molnar
2010-10-14 6:07 ` Yinghai Lu
2010-10-14 6:37 ` Ingo Molnar
2010-10-14 7:03 ` Yinghai Lu [this message]
2010-10-14 7:42 ` tip-bot for Jeremy Fitzhardinge
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=4CB6AB24.9020504@kernel.org \
--to=yinghai@kernel.org \
--cc=hpa@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jeremy.fitzhardinge@citrix.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/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.