Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Prototypes for functions that are shared between setup_(32|64|common).c
0004  *
0005  * Copyright 2016 Michael Ellerman, IBM Corporation.
0006  */
0007 
0008 #ifndef __ARCH_POWERPC_KERNEL_SETUP_H
0009 #define __ARCH_POWERPC_KERNEL_SETUP_H
0010 
0011 void initialize_cache_info(void);
0012 void irqstack_early_init(void);
0013 
0014 #ifdef CONFIG_PPC32
0015 void setup_power_save(void);
0016 #else
0017 static inline void setup_power_save(void) { }
0018 #endif
0019 
0020 #if defined(CONFIG_PPC64) && defined(CONFIG_SMP)
0021 void check_smt_enabled(void);
0022 #else
0023 static inline void check_smt_enabled(void) { }
0024 #endif
0025 
0026 #if defined(CONFIG_PPC_BOOK3E) && defined(CONFIG_SMP)
0027 void setup_tlb_core_data(void);
0028 #else
0029 static inline void setup_tlb_core_data(void) { }
0030 #endif
0031 
0032 #ifdef CONFIG_BOOKE_OR_40x
0033 void exc_lvl_early_init(void);
0034 #else
0035 static inline void exc_lvl_early_init(void) { }
0036 #endif
0037 
0038 #if defined(CONFIG_PPC64) || defined(CONFIG_VMAP_STACK)
0039 void emergency_stack_init(void);
0040 #else
0041 static inline void emergency_stack_init(void) { }
0042 #endif
0043 
0044 #ifdef CONFIG_PPC64
0045 u64 ppc64_bolted_size(void);
0046 
0047 /* Default SPR values from firmware/kexec */
0048 extern unsigned long spr_default_dscr;
0049 #endif
0050 
0051 /*
0052  * Having this in kvm_ppc.h makes include dependencies too
0053  * tricky to solve for setup-common.c so have it here.
0054  */
0055 #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
0056 void kvm_cma_reserve(void);
0057 #else
0058 static inline void kvm_cma_reserve(void) { }
0059 #endif
0060 
0061 #ifdef CONFIG_TAU
0062 u32 cpu_temp(unsigned long cpu);
0063 u32 cpu_temp_both(unsigned long cpu);
0064 u32 tau_interrupts(unsigned long cpu);
0065 #endif /* CONFIG_TAU */
0066 
0067 #endif /* __ARCH_POWERPC_KERNEL_SETUP_H */