/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ASM_TLBEX_H #define __ASM_TLBEX_H #include <asm/uasm.h> /* * Write random or indexed TLB entry, and care about the hazards from * the preceding mtc0 and for the following eret. */ enum tlb_write_entry { tlb_random, tlb_indexed }; extern int pgd_reg; void build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, unsigned int tmp, unsigned int ptr); void build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr); void build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr); void build_update_entries(u32 **p, unsigned int tmp, unsigned int ptep); void build_tlb_write_entry(u32 **p, struct uasm_label **l, struct uasm_reloc **r, enum tlb_write_entry wmode); extern void handle_tlbl(void); extern char handle_tlbl_end[]; extern void handle_tlbs(void); extern char handle_tlbs_end[]; extern void handle_tlbm(void); extern char handle_tlbm_end[]; #endif /* __ASM_TLBEX_H */