0001
0002 #ifndef __ASM_TLBEX_H
0003 #define __ASM_TLBEX_H
0004
0005 #include <asm/uasm.h>
0006
0007
0008
0009
0010
0011 enum tlb_write_entry {
0012 tlb_random,
0013 tlb_indexed
0014 };
0015
0016 extern int pgd_reg;
0017
0018 void build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
0019 unsigned int tmp, unsigned int ptr);
0020 void build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr);
0021 void build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr);
0022 void build_update_entries(u32 **p, unsigned int tmp, unsigned int ptep);
0023 void build_tlb_write_entry(u32 **p, struct uasm_label **l,
0024 struct uasm_reloc **r,
0025 enum tlb_write_entry wmode);
0026
0027 extern void handle_tlbl(void);
0028 extern char handle_tlbl_end[];
0029
0030 extern void handle_tlbs(void);
0031 extern char handle_tlbs_end[];
0032
0033 extern void handle_tlbm(void);
0034 extern char handle_tlbm_end[];
0035
0036 #endif