diff options
Diffstat (limited to 'ANDROID_3.4.5/arch/x86/kernel/jump_label.c')
-rw-r--r-- | ANDROID_3.4.5/arch/x86/kernel/jump_label.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/ANDROID_3.4.5/arch/x86/kernel/jump_label.c b/ANDROID_3.4.5/arch/x86/kernel/jump_label.c deleted file mode 100644 index 2889b3d4..00000000 --- a/ANDROID_3.4.5/arch/x86/kernel/jump_label.c +++ /dev/null @@ -1,59 +0,0 @@ -/* - * jump label x86 support - * - * Copyright (C) 2009 Jason Baron <jbaron@redhat.com> - * - */ -#include <linux/jump_label.h> -#include <linux/memory.h> -#include <linux/uaccess.h> -#include <linux/module.h> -#include <linux/list.h> -#include <linux/jhash.h> -#include <linux/cpu.h> -#include <asm/kprobes.h> -#include <asm/alternative.h> - -#ifdef HAVE_JUMP_LABEL - -union jump_code_union { - char code[JUMP_LABEL_NOP_SIZE]; - struct { - char jump; - int offset; - } __attribute__((packed)); -}; - -static void __jump_label_transform(struct jump_entry *entry, - enum jump_label_type type, - void *(*poker)(void *, const void *, size_t)) -{ - union jump_code_union code; - - if (type == JUMP_LABEL_ENABLE) { - code.jump = 0xe9; - code.offset = entry->target - - (entry->code + JUMP_LABEL_NOP_SIZE); - } else - memcpy(&code, ideal_nops[NOP_ATOMIC5], JUMP_LABEL_NOP_SIZE); - - (*poker)((void *)entry->code, &code, JUMP_LABEL_NOP_SIZE); -} - -void arch_jump_label_transform(struct jump_entry *entry, - enum jump_label_type type) -{ - get_online_cpus(); - mutex_lock(&text_mutex); - __jump_label_transform(entry, type, text_poke_smp); - mutex_unlock(&text_mutex); - put_online_cpus(); -} - -__init_or_module void arch_jump_label_transform_static(struct jump_entry *entry, - enum jump_label_type type) -{ - __jump_label_transform(entry, type, text_poke_early); -} - -#endif |