[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <50E70D8002000078000B336D@nat28.tlf.novell.com>
Date: Fri, 04 Jan 2013 16:12:32 +0000
From: "Jan Beulich" <JBeulich@...e.com>
To: "Daniel Kiper" <daniel.kiper@...cle.com>
Cc: <andrew.cooper3@...rix.com>, <x86@...nel.org>,
<tglx@...utronix.de>, <kexec@...ts.infradead.org>,
<virtualization@...ts.linux-foundation.org>,
"xen-devel" <xen-devel@...ts.xen.org>, <konrad.wilk@...cle.com>,
<maxim.uvarov@...cle.com>, <mingo@...hat.com>, <vgoyal@...hat.com>,
<linux-kernel@...r.kernel.org>, <ebiederm@...ssion.com>,
<hpa@...or.com>
Subject: Re: [PATCH v3 02/11] x86/kexec: Add extra pointers to
transition page table PGD, PUD, PMD and PTE
>>> On 04.01.13 at 16:15, Daniel Kiper <daniel.kiper@...cle.com> wrote:
> On Thu, Jan 03, 2013 at 09:34:55AM +0000, Jan Beulich wrote:
>> >>> On 27.12.12 at 03:18, Daniel Kiper <daniel.kiper@...cle.com> wrote:
>> > Some implementations (e.g. Xen PVOPS) could not use part of identity page
> table
>> > to construct transition page table. It means that they require separate
> PUDs,
>> > PMDs and PTEs for virtual and physical (identity) mapping. To satisfy that
>> > requirement add extra pointer to PGD, PUD, PMD and PTE and align existing
>> > code.
>>
>> So you keep posting this despite it having got pointed out on each
>> earlier submission that this is unnecessary, proven by the fact that
>> the non-pvops Xen kernels can get away without it. Why?
>
> Sorry but I forgot to reply for your email last time.
>
> I am still not convinced. I have tested SUSE kernel itself and it does not
> work.
> Maybe I missed something but... Please check
> arch/x86/kernel/machine_kexec_64.c:init_transition_pgtable()
>
> I can see:
>
> vaddr = (unsigned long)relocate_kernel;
>
> and later:
>
> pgd += pgd_index(vaddr);
> ...
I think that mapping is simply irrelevant, as the code at
relocate_kernel gets copied to the control page and
invoked there (other than in the native case, where
relocate_kernel() gets invoked directly).
Jan
> It is wrong. relocate_kernel() virtual address in Xen is different
> than its virtual address in Linux Kernel. That is why transition
> page table could not be established in Linux Kernel and so on...
> How does this work in SUSE? I do not have an idea.
>
> I am happy to fix that but whatever fix for it is
> I would like to be sure that it works.
>
> Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists