diff options
Diffstat (limited to 'arch/powerpc/kernel/epapr_paravirt.c')
-rw-r--r-- | arch/powerpc/kernel/epapr_paravirt.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/epapr_paravirt.c b/arch/powerpc/kernel/epapr_paravirt.c index f3eab8594d9f..d44a571e45a7 100644 --- a/arch/powerpc/kernel/epapr_paravirt.c +++ b/arch/powerpc/kernel/epapr_paravirt.c | |||
@@ -23,8 +23,10 @@ | |||
23 | #include <asm/code-patching.h> | 23 | #include <asm/code-patching.h> |
24 | #include <asm/machdep.h> | 24 | #include <asm/machdep.h> |
25 | 25 | ||
26 | #if !defined(CONFIG_64BIT) || defined(CONFIG_PPC_BOOK3E_64) | ||
26 | extern void epapr_ev_idle(void); | 27 | extern void epapr_ev_idle(void); |
27 | extern u32 epapr_ev_idle_start[]; | 28 | extern u32 epapr_ev_idle_start[]; |
29 | #endif | ||
28 | 30 | ||
29 | bool epapr_paravirt_enabled; | 31 | bool epapr_paravirt_enabled; |
30 | 32 | ||
@@ -47,11 +49,15 @@ static int __init epapr_paravirt_init(void) | |||
47 | 49 | ||
48 | for (i = 0; i < (len / 4); i++) { | 50 | for (i = 0; i < (len / 4); i++) { |
49 | patch_instruction(epapr_hypercall_start + i, insts[i]); | 51 | patch_instruction(epapr_hypercall_start + i, insts[i]); |
52 | #if !defined(CONFIG_64BIT) || defined(CONFIG_PPC_BOOK3E_64) | ||
50 | patch_instruction(epapr_ev_idle_start + i, insts[i]); | 53 | patch_instruction(epapr_ev_idle_start + i, insts[i]); |
54 | #endif | ||
51 | } | 55 | } |
52 | 56 | ||
57 | #if !defined(CONFIG_64BIT) || defined(CONFIG_PPC_BOOK3E_64) | ||
53 | if (of_get_property(hyper_node, "has-idle", NULL)) | 58 | if (of_get_property(hyper_node, "has-idle", NULL)) |
54 | ppc_md.power_save = epapr_ev_idle; | 59 | ppc_md.power_save = epapr_ev_idle; |
60 | #endif | ||
55 | 61 | ||
56 | epapr_paravirt_enabled = true; | 62 | epapr_paravirt_enabled = true; |
57 | 63 | ||