]>
Commit | Line | Data |
---|---|---|
560285cd AB |
1 | #ifndef _ASM_POWERPC_SETUP_H |
2 | #define _ASM_POWERPC_SETUP_H | |
3 | ||
4 | #include <uapi/asm/setup.h> | |
5 | ||
6 | #ifndef __ASSEMBLY__ | |
7 | extern void ppc_printk_progress(char *s, unsigned short hex); | |
8 | ||
9 | extern unsigned int rtas_data; | |
560285cd | 10 | extern unsigned long long memory_limit; |
1c38a84d | 11 | extern bool init_mem_is_free; |
560285cd AB |
12 | extern unsigned long klimit; |
13 | extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask); | |
14 | ||
560285cd AB |
15 | struct device_node; |
16 | extern void note_scsi_host(struct device_node *, void *); | |
17 | ||
18 | /* Used in very early kernel initialization. */ | |
19 | extern unsigned long reloc_offset(void); | |
20 | extern unsigned long add_reloc_offset(unsigned long); | |
21 | extern void reloc_got2(unsigned long); | |
22 | ||
23 | #define PTRRELOC(x) ((typeof(x)) add_reloc_offset((unsigned long)(x))) | |
24 | ||
b88c4767 | 25 | void check_for_initrd(void); |
10239733 | 26 | void initmem_init(void); |
b88c4767 | 27 | void setup_panic(void); |
b71d47c1 | 28 | #define ARCH_PANIC_TIMEOUT 180 |
b88c4767 | 29 | |
d3cbff1b BH |
30 | #ifdef CONFIG_PPC_PSERIES |
31 | extern void pseries_enable_reloc_on_exc(void); | |
32 | extern void pseries_disable_reloc_on_exc(void); | |
33 | extern void pseries_big_endian_exceptions(void); | |
34 | extern void pseries_little_endian_exceptions(void); | |
35 | #else | |
36 | static inline void pseries_enable_reloc_on_exc(void) {} | |
37 | static inline void pseries_disable_reloc_on_exc(void) {} | |
38 | static inline void pseries_big_endian_exceptions(void) {} | |
39 | static inline void pseries_little_endian_exceptions(void) {} | |
40 | #endif /* CONFIG_PPC_PSERIES */ | |
41 | ||
c3b82ebe ME |
42 | void rfi_flush_enable(bool enable); |
43 | ||
44 | /* These are bit flags */ | |
45 | enum l1d_flush_type { | |
46 | L1D_FLUSH_NONE = 0x1, | |
47 | L1D_FLUSH_FALLBACK = 0x2, | |
48 | L1D_FLUSH_ORI = 0x4, | |
49 | L1D_FLUSH_MTTRIG = 0x8, | |
50 | }; | |
51 | ||
5e9ea71d | 52 | void setup_rfi_flush(enum l1d_flush_type, bool enable); |
c3b82ebe | 53 | void do_rfi_flush_fixups(enum l1d_flush_type types); |
37336b68 | 54 | #ifdef CONFIG_PPC_BARRIER_NOSPEC |
e1217b4a | 55 | void setup_barrier_nospec(void); |
37336b68 ME |
56 | #else |
57 | static inline void setup_barrier_nospec(void) { }; | |
58 | #endif | |
f3286f1a | 59 | void do_barrier_nospec_fixups(bool enable); |
73b0f626 MS |
60 | extern bool barrier_nospec_enabled; |
61 | ||
2f8703f2 | 62 | #ifdef CONFIG_PPC_BARRIER_NOSPEC |
73b0f626 MS |
63 | void do_barrier_nospec_fixups_range(bool enable, void *start, void *end); |
64 | #else | |
65 | static inline void do_barrier_nospec_fixups_range(bool enable, void *start, void *end) { }; | |
66 | #endif | |
c3b82ebe | 67 | |
d91460f2 DC |
68 | void do_btb_flush_fixups(void); |
69 | ||
560285cd AB |
70 | #endif /* !__ASSEMBLY__ */ |
71 | ||
72 | #endif /* _ASM_POWERPC_SETUP_H */ | |
73 |