aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/paravirt.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2007-05-02 19:27:14 +0200
committerAndi Kleen <andi@basil.nowhere.org>2007-05-02 19:27:14 +0200
commitd6dd61c831226f9cd7750885da04d360d6455101 (patch)
tree30f84a429821d207f7de5dd6225d3d9515042c0a /arch/i386/kernel/paravirt.c
parent[PATCH] i386: PARAVIRT: Allow paravirt backend to choose kernel PMD sharing (diff)
downloadlinux-dev-d6dd61c831226f9cd7750885da04d360d6455101.tar.xz
linux-dev-d6dd61c831226f9cd7750885da04d360d6455101.zip
[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction
Add hooks to allow a paravirt implementation to track the lifetime of an mm. Paravirtualization requires three hooks, but only two are needed in common code. They are: arch_dup_mmap, which is called when a new mmap is created at fork arch_exit_mmap, which is called when the last process reference to an mm is dropped, which typically happens on exit and exec. The third hook is activate_mm, which is called from the arch-specific activate_mm() macro/function, and so doesn't need stub versions for other architectures. It's called when an mm is first used. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: linux-arch@vger.kernel.org Cc: James Bottomley <James.Bottomley@SteelEye.com> Acked-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to '')
-rw-r--r--arch/i386/kernel/paravirt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/i386/kernel/paravirt.c b/arch/i386/kernel/paravirt.c
index 2040a831d5b3..54cc14d99740 100644
--- a/arch/i386/kernel/paravirt.c
+++ b/arch/i386/kernel/paravirt.c
@@ -237,6 +237,10 @@ struct paravirt_ops paravirt_ops = {
.irq_enable_sysexit = native_irq_enable_sysexit,
.iret = native_iret,
+ .dup_mmap = paravirt_nop,
+ .exit_mmap = paravirt_nop,
+ .activate_mm = paravirt_nop,
+
.startup_ipi_hook = paravirt_nop,
};