linux/arch/i386
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
..
boot [PATCH] __crc_... is intended to be absolute 2007-02-01 16:17:06 -08:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
kernel [PATCH] MM: page allocation hooks for VMI backend 2007-02-13 13:26:21 +01:00
lib [PATCH] separate bdi congestion functions from queue congestion functions 2006-10-20 10:26:35 -07:00
mach-default [PATCH] mca_nmi_hook() can be called at any point 2007-02-01 16:17:05 -08:00
mach-es7000 ACPICA: Remove duplicate table manager 2007-02-02 21:14:28 -05:00
mach-generic [PATCH] i386: make apic probe function non-init 2007-01-11 01:52:44 +01:00
mach-visws [PATCH] visws: sgivwfb as module needs exports 2006-12-08 08:29:07 -08:00
mach-voyager [PATCH] x86: fix PDA variables to work during boot 2007-01-22 19:39:36 -08:00
math-emu [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
mm [PATCH] MM: page allocation hooks for VMI backend 2007-02-13 13:26:21 +01:00
oprofile [PATCH] oprofile: ppro: need to enable/disable all the counters 2006-09-29 09:18:11 -07:00
pci [PATCH] mmconfig: Move e820 check into pci_mmcfg_reject_broken() 2007-02-13 13:26:20 +01:00
power Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-12-07 08:59:11 -08:00
defconfig [PATCH] i386: Update defconfig 2007-02-13 13:26:19 +01:00
Kconfig [PATCH] Set CONFIG_ZONE_DMA for arches with GENERIC_ISA_DMA 2007-02-11 10:51:19 -08:00
Kconfig.cpu [PATCH] LOG2: Implement a general integer log2 facility in the kernel 2006-12-08 08:28:51 -08:00
Kconfig.debug [PATCH] paravirt: Patch inline replacements for paravirt intercepts 2006-12-07 02:14:08 +01:00
Makefile [PATCH] i386: always enable regparm 2006-12-07 02:14:12 +01:00
Makefile.cpu [PATCH] i386: Add support for compilation for Core2 2006-12-07 02:14:09 +01:00