~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/powerpc/include/asm/setup.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef _ASM_POWERPC_SETUP_H
  3 #define _ASM_POWERPC_SETUP_H
  4 
  5 #include <uapi/asm/setup.h>
  6 
  7 #ifndef __ASSEMBLY__
  8 extern void ppc_printk_progress(char *s, unsigned short hex);
  9 
 10 extern unsigned long long memory_limit;
 11 
 12 struct device_node;
 13 
 14 /* Used in very early kernel initialization. */
 15 extern unsigned long reloc_offset(void);
 16 extern unsigned long add_reloc_offset(unsigned long);
 17 extern void reloc_got2(unsigned long);
 18 
 19 #define PTRRELOC(x)     ((typeof(x)) add_reloc_offset((unsigned long)(x)))
 20 
 21 void check_for_initrd(void);
 22 void mem_topology_setup(void);
 23 void initmem_init(void);
 24 void setup_panic(void);
 25 #define ARCH_PANIC_TIMEOUT 180
 26 
 27 #ifdef CONFIG_PPC_PSERIES
 28 extern bool pseries_reloc_on_exception(void);
 29 extern bool pseries_enable_reloc_on_exc(void);
 30 extern void pseries_disable_reloc_on_exc(void);
 31 extern void pseries_big_endian_exceptions(void);
 32 void __init pseries_little_endian_exceptions(void);
 33 #else
 34 static inline bool pseries_reloc_on_exception(void) { return false; }
 35 static inline bool pseries_enable_reloc_on_exc(void) { return false; }
 36 static inline void pseries_disable_reloc_on_exc(void) {}
 37 static inline void pseries_big_endian_exceptions(void) {}
 38 static inline void pseries_little_endian_exceptions(void) {}
 39 #endif /* CONFIG_PPC_PSERIES */
 40 
 41 void rfi_flush_enable(bool enable);
 42 
 43 /* These are bit flags */
 44 enum l1d_flush_type {
 45         L1D_FLUSH_NONE          = 0x1,
 46         L1D_FLUSH_FALLBACK      = 0x2,
 47         L1D_FLUSH_ORI           = 0x4,
 48         L1D_FLUSH_MTTRIG        = 0x8,
 49 };
 50 
 51 void setup_rfi_flush(enum l1d_flush_type, bool enable);
 52 void setup_entry_flush(bool enable);
 53 void setup_uaccess_flush(bool enable);
 54 void do_rfi_flush_fixups(enum l1d_flush_type types);
 55 #ifdef CONFIG_PPC_BARRIER_NOSPEC
 56 void __init setup_barrier_nospec(void);
 57 #else
 58 static inline void setup_barrier_nospec(void) { }
 59 #endif
 60 void do_uaccess_flush_fixups(enum l1d_flush_type types);
 61 void do_entry_flush_fixups(enum l1d_flush_type types);
 62 void do_barrier_nospec_fixups(bool enable);
 63 extern bool barrier_nospec_enabled;
 64 
 65 #ifdef CONFIG_PPC_BARRIER_NOSPEC
 66 void do_barrier_nospec_fixups_range(bool enable, void *start, void *end);
 67 #else
 68 static inline void do_barrier_nospec_fixups_range(bool enable, void *start, void *end) { }
 69 #endif
 70 
 71 #ifdef CONFIG_PPC_E500
 72 void __init setup_spectre_v2(void);
 73 #else
 74 static inline void setup_spectre_v2(void) {}
 75 #endif
 76 void __init do_btb_flush_fixups(void);
 77 
 78 #ifdef CONFIG_PPC32
 79 unsigned long __init early_init(unsigned long dt_ptr);
 80 void __init machine_init(u64 dt_ptr);
 81 #endif
 82 void __init early_setup(unsigned long dt_ptr);
 83 void early_setup_secondary(void);
 84 
 85 /* prom_init (OpenFirmware) */
 86 unsigned long __init prom_init(unsigned long r3, unsigned long r4,
 87                                unsigned long pp, unsigned long r6,
 88                                unsigned long r7, unsigned long kbase);
 89 
 90 extern struct seq_buf ppc_hw_desc;
 91 
 92 #endif /* !__ASSEMBLY__ */
 93 
 94 #endif  /* _ASM_POWERPC_SETUP_H */
 95 
 96 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php