| 1 | |
| 2 | |
| 3 | * Copyright 2010 Michael Ellerman, IBM Corp.
|
| 4 |
|
| 5 |
|
| 6 | #include <linux/kernel.h>
|
| 7 | #include <linux/jump_label.h>
|
| 8 | #include <asm/text-patching.h>
|
| 9 | #include <asm/inst.h>
|
| 10 |
|
| 11 | void arch_jump_label_transform(struct jump_entry *entry,
|
| 12 | enum jump_label_type type)
|
| 13 | {
|
| 14 | u32 *addr = (u32 *)jump_entry_code(entry);
|
| 15 |
|
| 16 | if (type == JUMP_LABEL_JMP)
|
| 17 | patch_branch(addr, jump_entry_target(entry), 0);
|
| 18 | else
|
| 19 | patch_instruction(addr, ppc_inst(PPC_RAW_NOP()));
|
| 20 | }
|