[lkml]   [2013]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [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 <> wrote:
> On Thu, Jan 03, 2013 at 09:34:55AM +0000, Jan Beulich wrote:
>> >>> On 27.12.12 at 03:18, Daniel Kiper <> 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).


> 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

 \ /
  Last update: 2013-01-04 18:01    [W:0.118 / U:2.668 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site