linux_dsm_epyc7002/arch/i386/kernel
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
..
acpi ACPICA: Allow ACPI id to be u32 instead of u8. 2007-02-02 21:14:31 -05:00
cpu [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
.gitignore
alternative.c [PATCH] paravirt: Patch inline replacements for paravirt intercepts 2006-12-07 02:14:08 +01:00
apic.c [PATCH] x86: Regard MSRs in lapic_suspend()/lapic_resume() 2006-12-07 02:14:11 +01:00
apm.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
asm-offsets.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
bootflag.c
cpuid.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
crash_dump.c
crash.c [PATCH] Kexec / Kdump: Unify elf note code 2006-12-07 08:39:46 -08:00
doublefault.c
e820.c [PATCH] i386: arch/i386/kernel/e820.c should #include <asm/setup.h 2007-02-13 13:26:21 +01:00
early_printk.c
efi_stub.S
efi.c [PATCH] EFI x86: pass firmware call parameters on the stack 2007-02-04 10:27:10 -08:00
entry.S [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
head.S [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
hpet.c [PATCH] hpet: trivial __iomem annotations 2007-02-09 09:14:07 -08:00
i386_ksyms.c
i387.c
i8237.c
i8253.c
i8259.c [PATCH] paravirt: header and stubs for paravirtualisation 2006-12-07 02:14:07 +01:00
init_task.c
io_apic.c [PATCH] i386: Fix a typo in an IRQ handler name 2007-02-13 13:26:20 +01:00
ioport.c
irq.c
kprobes.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
ldt.c [PATCH] i386: remove default_ldt, and simplify ldt-setting. 2006-12-07 02:14:01 +01:00
machine_kexec.c
Makefile [PATCH] paravirt: Add startup infrastructure for paravirtualization 2006-12-07 02:14:08 +01:00
mca.c [PATCH] i386: replace kmalloc+memset with kzalloc 2006-12-07 02:14:19 +01:00
microcode.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
module.c [PATCH] Generic BUG for i386 2006-12-08 08:28:39 -08:00
mpparse.c ACPICA: use new ACPI headers. 2007-02-02 21:14:28 -05:00
msr.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
nmi.c [PATCH] Revert nmi_known_cpu() check during boot option parsing 2007-01-23 07:52:05 -08:00
numaq.c
paravirt.c [PATCH] MM: page allocation hooks for VMI backend 2007-02-13 13:26:21 +01:00
pci-dma.c [PATCH] i386: replace kmalloc+memset with kzalloc 2006-12-07 02:14:19 +01:00
process.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
ptrace.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
quirks.c [PATCH] x86: Fix verify_quirk_intel_irqbalance() 2006-12-09 21:33:35 +01:00
reboot_fixups.c
reboot.c [PATCH] arch/i386/kernel/reboot.c should #include <linux/reboot.h> 2006-12-07 08:39:44 -08:00
relocate_kernel.S
scx200.c
setup.c [PATCH] Dynamic kernel command-line: i386 2007-02-12 09:48:38 -08:00
sigframe.h
signal.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
smp.c Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-12-07 08:59:11 -08:00
smpboot.c [PATCH] x86: fix PDA variables to work during boot 2007-01-22 19:39:36 -08:00
srat.c ACPI: build fix for IBM x440 - CONFIG_X86_SUMMIT 2007-02-02 21:47:33 -05:00
summit.c
sys_i386.c
syscall_table.S
sysenter.c [PATCH] i386 vDSO: use install_special_mapping 2007-02-09 09:25:47 -08:00
time_hpet.c [PATCH] i386: Add iounmap in error paths in hpet code 2006-12-07 02:14:02 +01:00
time.c [PATCH] paravirt: header and stubs for paravirtualisation 2006-12-07 02:14:07 +01:00
topology.c [PATCH] i386: change the 'no_control' field to 'hotpluggable' in the struct cpu 2006-12-07 02:14:10 +01:00
trampoline.S [PATCH] i386: fix modpost warning in SMP trampoline code 2007-01-05 23:55:23 -08:00
traps.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
tsc.c [PATCH] i386: sched_clock using init data tsc_disable fix 2007-01-11 18:18:20 -08:00
vm86.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
vmlinux.lds.S [PATCH] disable init/initramfs.c: architectures 2007-02-11 10:51:25 -08:00
vsyscall-int80.S
vsyscall-note.S
vsyscall-sigreturn.S
vsyscall-sysenter.S
vsyscall.lds.S
vsyscall.S