1*722b4544SJames Hogan #ifndef __ASM_TLBEX_H 2*722b4544SJames Hogan #define __ASM_TLBEX_H 3*722b4544SJames Hogan 4*722b4544SJames Hogan #include <asm/uasm.h> 5*722b4544SJames Hogan 6*722b4544SJames Hogan /* 7*722b4544SJames Hogan * Write random or indexed TLB entry, and care about the hazards from 8*722b4544SJames Hogan * the preceding mtc0 and for the following eret. 9*722b4544SJames Hogan */ 10*722b4544SJames Hogan enum tlb_write_entry { 11*722b4544SJames Hogan tlb_random, 12*722b4544SJames Hogan tlb_indexed 13*722b4544SJames Hogan }; 14*722b4544SJames Hogan 15*722b4544SJames Hogan extern int pgd_reg; 16*722b4544SJames Hogan 17*722b4544SJames Hogan void build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 18*722b4544SJames Hogan unsigned int tmp, unsigned int ptr); 19*722b4544SJames Hogan void build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr); 20*722b4544SJames Hogan void build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr); 21*722b4544SJames Hogan void build_update_entries(u32 **p, unsigned int tmp, unsigned int ptep); 22*722b4544SJames Hogan void build_tlb_write_entry(u32 **p, struct uasm_label **l, 23*722b4544SJames Hogan struct uasm_reloc **r, 24*722b4544SJames Hogan enum tlb_write_entry wmode); 25*722b4544SJames Hogan 26*722b4544SJames Hogan #endif /* __ASM_TLBEX_H */ 27