xref: /linux/arch/sparc/mm/init_64.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2af1ee569SDavid S. Miller #ifndef _SPARC64_MM_INIT_H
3af1ee569SDavid S. Miller #define _SPARC64_MM_INIT_H
4af1ee569SDavid S. Miller 
5bb7b4353SDavid S. Miller #include <asm/page.h>
6bb7b4353SDavid S. Miller 
7af1ee569SDavid S. Miller /* Most of the symbols in this file are defined in init.c and
8af1ee569SDavid S. Miller  * marked non-static so that assembler code can get at them.
9af1ee569SDavid S. Miller  */
10af1ee569SDavid S. Miller 
11bb7b4353SDavid S. Miller #define MAX_PHYS_ADDRESS	(1UL << MAX_PHYS_ADDRESS_BITS)
12af1ee569SDavid S. Miller 
134f93d21dSDavid S. Miller extern unsigned long kern_linear_pte_xor[4];
14af1ee569SDavid S. Miller extern unsigned int sparc64_highest_unlocked_tlb_ent;
15af1ee569SDavid S. Miller extern unsigned long sparc64_kern_pri_context;
16af1ee569SDavid S. Miller extern unsigned long sparc64_kern_pri_nuc_bits;
17af1ee569SDavid S. Miller extern unsigned long sparc64_kern_sec_context;
182e74a74fSSam Ravnborg void mmu_info(struct seq_file *m);
19af1ee569SDavid S. Miller 
20af1ee569SDavid S. Miller struct linux_prom_translation {
21af1ee569SDavid S. Miller 	unsigned long virt;
22af1ee569SDavid S. Miller 	unsigned long size;
23af1ee569SDavid S. Miller 	unsigned long data;
24af1ee569SDavid S. Miller };
25af1ee569SDavid S. Miller 
26af1ee569SDavid S. Miller /* Exported for kernel TLB miss handling in ktlb.S */
27af1ee569SDavid S. Miller extern struct linux_prom_translation prom_trans[512];
28af1ee569SDavid S. Miller extern unsigned int prom_trans_ents;
29af1ee569SDavid S. Miller 
30af1ee569SDavid S. Miller /* Exported for SMP bootup purposes. */
31af1ee569SDavid S. Miller extern unsigned long kern_locked_tte_data;
32af1ee569SDavid S. Miller 
332e74a74fSSam Ravnborg void prom_world(int enter);
34af1ee569SDavid S. Miller 
35af1ee569SDavid S. Miller #endif /* _SPARC64_MM_INIT_H */
36