android_kernel_xiaomi_sm8350/arch
Zachary Amsden c119ecce89 [PATCH] MM: page allocation hooks for VMI backend
The VMI backend uses explicit page type notification to track shadow page
tables.  The allocation of page table roots is especially tricky.  We need to
clone the root for non-PAE mode while it is protected under the pgd lock to
correctly copy the shadow.

We don't need to allocate pgds in PAE mode, (PDPs in Intel terminology) as
they only have 4 entries, and are cached entirely by the processor, which
makes shadowing them rather simple.

For base page table level allocation, pmd_populate provides the exact hook
point we need.  Also, we need to allocate pages when splitting a large page,
and we must release pages before returning the page to any free pool.

Despite being required with these slightly odd semantics for VMI, Xen also
uses these hooks to determine the exact moment when page tables are created or
released.

AK: All nops for other architectures

Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@suse.de>
Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2007-02-13 13:26:21 +01:00
..
alpha [PATCH] Dynamic kernel command-line: alpha 2007-02-12 09:48:37 -08:00
arm [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
arm26 [PATCH] Dynamic kernel command-line: arm26 2007-02-12 09:48:37 -08:00
avr32 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
cris [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
frv [PATCH] Dynamic kernel command-line: frv 2007-02-12 09:48:37 -08:00
h8300 [PATCH] Dynamic kernel command-line: h8300 2007-02-12 09:48:38 -08:00
i386 [PATCH] MM: page allocation hooks for VMI backend 2007-02-13 13:26:21 +01:00
ia64 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
m32r [PATCH] Dynamic kernel command-line: m32r 2007-02-12 09:48:38 -08:00
m68k [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
m68knommu [PATCH] Dynamic kernel command-line: m68knommu 2007-02-12 09:48:38 -08:00
mips [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
parisc [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
powerpc [PATCH] mark struct inode_operations const 1 2007-02-12 09:48:46 -08:00
ppc [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-02-12 09:57:44 -08:00
sh [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
sh64 [PATCH] Dynamic kernel command-line: sh64 2007-02-12 09:48:39 -08:00
sparc [SPARC]: Re-export saved_command_line to modules. 2007-02-12 15:15:48 -08:00
sparc64 [SPARC]: Re-export saved_command_line to modules. 2007-02-12 15:15:48 -08:00
um [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
v850 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
x86_64 [PATCH] x86-64: do not always end the stack trace with ULONG_MAX 2007-02-13 13:26:21 +01:00
xtensa [PATCH] Dynamic kernel command-line: xtensa 2007-02-12 09:48:39 -08:00