From: Yinghai <yinghai.lu@oracle.com>
To: akpm@linux-foundation.org
Cc: liang.li@windriver.com, hpa@zytor.com, mingo@elte.hu,
tglx@linutronix.de, wangchen@cn.fujitsu.com,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: + x86-fix-handling-of-the-reservetop-boot-option.patch added to -mm tree
Date: Wed, 07 Apr 2010 16:52:03 -0700 [thread overview]
Message-ID: <4BBD1AA3.4000204@oracle.com> (raw)
In-Reply-To: <201004072200.o37M0d19009878@imap1.linux-foundation.org>
On 04/07/2010 03:00 PM, akpm@linux-foundation.org wrote:
> The patch titled
> x86: fix handling of the 'reservetop' boot option
> has been added to the -mm tree. Its filename is
> x86-fix-handling-of-the-reservetop-boot-option.patch
>
> Before you just go and hit "reply", please:
> a) Consider who else should be cc'ed
> b) Prefer to cc a suitable mailing list as well
> c) Ideally: find the original patch on the mailing list and do a
> reply-to-all to that, adding suitable additional cc's
>
> *** Remember to use Documentation/SubmitChecklist when testing your code ***
>
> See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find
> out what to do about this
>
> The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/
>
> ------------------------------------------------------
> Subject: x86: fix handling of the 'reservetop' boot option
> From: Liang Li <liang.li@windriver.com>
>
> When specifying the 'reservetop=0xbadc0de' kernel parameter, the kernel
> will stop booting due to a early_ioremap bug that relate to commit
> 8827247ff ("x86: don't define __this_fixmap_does_not_exist()").
>
> The root cause of boot failure problem is the value of 'slot_virt[i]' was
> initialized in setup_arch->early_ioremap_init. But later in setup_arch,
> the function 'parse_early_param' will modify 'FIXADDR_TOP' when
> 'reservetop=0xbadc0de' being specified.
>
> The simplest fix might be use __fix_to_virt(idx0) to get updated value
> of 'FIXADDR_TOP' in '__early_ioremap' instead of reference old value
> from slot_virt[slot] directly.
>
> Signed-off-by: Liang Li <liang.li@windriver.com>
> Cc: Wang Chen <wangchen@cn.fujitsu.com>
> Cc: Ingo Molnar <mingo@elte.hu>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Yinghai Lu <yinghai@kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> arch/x86/mm/ioremap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff -puN arch/x86/mm/ioremap.c~x86-fix-handling-of-the-reservetop-boot-option arch/x86/mm/ioremap.c
> --- a/arch/x86/mm/ioremap.c~x86-fix-handling-of-the-reservetop-boot-option
> +++ a/arch/x86/mm/ioremap.c
> @@ -537,9 +537,9 @@ __early_ioremap(resource_size_t phys_add
> --nrpages;
> }
> if (early_ioremap_debug)
> - printk(KERN_CONT "%08lx + %08lx\n", offset, slot_virt[slot]);
> + printk(KERN_CONT "%08lx + %08lx\n", offset, __fix_to_virt(idx0));
>
> - prev_map[slot] = (void __iomem *)(offset + slot_virt[slot]);
> + prev_map[slot] = (void __iomem *)(offset + __fix_to_virt(idx0));
> return prev_map[slot];
> }
>
> _
not that simple. but it looks like correct direction.
please consider:
when early_parsing reserve_top, double check if there is left over in prev_map[], and
reinitialize slot_virt[] and clear old PMD and setup new PMD if needed.
Thanks
Yinghai
next prev parent reply other threads:[~2010-04-07 23:54 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-07 22:00 + x86-fix-handling-of-the-reservetop-boot-option.patch added to -mm tree akpm
2010-04-07 23:52 ` Yinghai [this message]
2010-04-08 1:05 ` Liang Li
2010-04-08 1:13 ` Yinghai
2010-04-08 1:53 ` Liang Li
2010-04-08 2:18 ` Liang Li
2010-04-08 4:30 ` Yinghai
2010-04-08 4:59 ` Liang Li
2010-04-08 6:57 ` Yinghai
2010-04-08 8:58 ` Liang Li
2010-04-08 17:12 ` Jeremy Fitzhardinge
2010-04-08 18:03 ` Yinghai
2010-04-08 18:38 ` [LKML] " Konrad Rzeszutek Wilk
2010-04-09 0:28 ` Liang Li
2010-04-08 17:10 ` Jeremy Fitzhardinge
-- strict thread matches above, loose matches on Subject: below --
2010-04-28 18:36 akpm
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=4BBD1AA3.4000204@oracle.com \
--to=yinghai.lu@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=liang.li@windriver.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=wangchen@cn.fujitsu.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 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.