1 /* 2 * Prototypes for functions that are shared between setup_(32|64|common).c 3 * 4 * Copyright 2016 Michael Ellerman, IBM Corporation. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 9 * 2 of the License, or (at your option) any later version. 10 */ 11 12 #ifndef __ARCH_POWERPC_KERNEL_SETUP_H 13 #define __ARCH_POWERPC_KERNEL_SETUP_H 14 15 void initialize_cache_info(void); 16 void irqstack_early_init(void); 17 18 #ifdef CONFIG_PPC32 19 void setup_power_save(void); 20 #else 21 static inline void setup_power_save(void) { }; 22 #endif 23 24 #if defined(CONFIG_PPC64) && defined(CONFIG_SMP) 25 void check_smt_enabled(void); 26 #else 27 static inline void check_smt_enabled(void) { }; 28 #endif 29 30 #if defined(CONFIG_PPC_BOOK3E) && defined(CONFIG_SMP) 31 void setup_tlb_core_data(void); 32 #else 33 static inline void setup_tlb_core_data(void) { }; 34 #endif 35 36 #if defined(CONFIG_PPC_BOOK3E) || defined(CONFIG_BOOKE) || defined(CONFIG_40x) 37 void exc_lvl_early_init(void); 38 #else 39 static inline void exc_lvl_early_init(void) { }; 40 #endif 41 42 #ifdef CONFIG_PPC64 43 void emergency_stack_init(void); 44 #else 45 static inline void emergency_stack_init(void) { }; 46 #endif 47 48 #ifdef CONFIG_PPC64 49 void record_spr_defaults(void); 50 #else 51 static inline void record_spr_defaults(void) { }; 52 #endif 53 54 #ifdef CONFIG_PPC64 55 u64 ppc64_bolted_size(void); 56 #endif 57 58 /* 59 * Having this in kvm_ppc.h makes include dependencies too 60 * tricky to solve for setup-common.c so have it here. 61 */ 62 #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE 63 void kvm_cma_reserve(void); 64 #else 65 static inline void kvm_cma_reserve(void) { }; 66 #endif 67 68 #endif /* __ARCH_POWERPC_KERNEL_SETUP_H */ 69