aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/paravirt_patch_64.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-13 11:05:58 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-13 11:05:58 +0100
commitcd80a8142efa3468c2cd9fb52845f334c3220d54 (patch)
tree919e88994bd3c09b34ce852d0a09bb0655d231d0 /arch/x86/kernel/paravirt_patch_64.c
parentgeneric-ipi: eliminate WARN_ON()s during oops/panic (diff)
parentMerge branches 'x86/asm', 'x86/debug', 'x86/mm', 'x86/setup', 'x86/urgent' and 'linus' into x86/core (diff)
downloadlinux-dev-cd80a8142efa3468c2cd9fb52845f334c3220d54.tar.xz
linux-dev-cd80a8142efa3468c2cd9fb52845f334c3220d54.zip
Merge branch 'x86/core' into core/ipi
Diffstat (limited to 'arch/x86/kernel/paravirt_patch_64.c')
-rw-r--r--arch/x86/kernel/paravirt_patch_64.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/kernel/paravirt_patch_64.c b/arch/x86/kernel/paravirt_patch_64.c
index 061d01df9ae6..3f08f34f93eb 100644
--- a/arch/x86/kernel/paravirt_patch_64.c
+++ b/arch/x86/kernel/paravirt_patch_64.c
@@ -19,6 +19,21 @@ DEF_NATIVE(pv_cpu_ops, usergs_sysret64, "swapgs; sysretq");
DEF_NATIVE(pv_cpu_ops, usergs_sysret32, "swapgs; sysretl");
DEF_NATIVE(pv_cpu_ops, swapgs, "swapgs");
+DEF_NATIVE(, mov32, "mov %edi, %eax");
+DEF_NATIVE(, mov64, "mov %rdi, %rax");
+
+unsigned paravirt_patch_ident_32(void *insnbuf, unsigned len)
+{
+ return paravirt_patch_insns(insnbuf, len,
+ start__mov32, end__mov32);
+}
+
+unsigned paravirt_patch_ident_64(void *insnbuf, unsigned len)
+{
+ return paravirt_patch_insns(insnbuf, len,
+ start__mov64, end__mov64);
+}
+
unsigned native_patch(u8 type, u16 clobbers, void *ibuf,
unsigned long addr, unsigned len)
{