lkml.org 
[lkml]   [2012]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/5] X86/XEN: Merge x86_init.paging.pagetable_setup_start and x86_init.paging.pagetable_setup_done PVOPS and document the semantic
On Tue, Aug 21, 2012 at 02:14:01AM +0100, Attilio Rao wrote:
> Currently the definition of x86_init.paging.pagetable_setup_start and
> x86_init.paging.pagetable_setup_done is twisted and not really well
> defined (in terms of prototypes desired). More specifically:
> pagetable_setup_start:
> * it is a nop on x86_32
> * it is a nop for the XEN case
> * cleans up the boot time page table in the x86_64 case

Is it safe to call that 'boot time page table' in Xen case?
Since that is what it would be doing? Did you test it with dom0 and
PV guest and with 2GB, 3GB, 4GB, and 8GB layouts? I think those were
the ones that caught earlier mistakes.
>
> pagetable_setup_done:
> * it is a nop on x86_32
> * sets up accessor functions for pagetable manipulation, for the
> XEN case
> * it is a nop on x86_64
>
> Most of this logic can be skipped by creating a new PVOPS that can handle
> pagetable setup and pre/post operations on it.
> The new PVOPS must be called only once, during boot-time setup and
> after the direct mapping for physical memory is available.

Looks like you are missing the other crucial bit of information:
It removes two of the pvops and replaces them with just one.

>
> Attilio Rao (5):
> XEN: Remove the base argument from
> x86_init.paging.pagetable_setup_done PVOPS
> XEN: Remove the base argument from
> x86_init.paging.pagetable_setup_start PVOPS
> X86/XEN: Introduce the x86_init.paging.pagetable_init() PVOPS
> X86/XEN: Retire now unused x86_init.paging.pagetable_setup_start and
> x86_init.paging.pagetable_setup_done PVOPS
> X86/XEN: Add few lines explaining simple semantic for
> x86_init.paging.pagetable_init PVOPS
>
> arch/x86/include/asm/pgtable_types.h | 6 ++----
> arch/x86/include/asm/x86_init.h | 11 +++++++----
> arch/x86/kernel/setup.c | 4 +---
> arch/x86/kernel/x86_init.c | 4 +---
> arch/x86/mm/init_32.c | 12 ++++++------
> arch/x86/xen/mmu.c | 18 +++++++-----------
> 6 files changed, 24 insertions(+), 31 deletions(-)
>
> --
> 1.7.2.5


\
 
 \ /
  Last update: 2012-08-21 17:41    [W:0.088 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site