xref: /qemu/target/loongarch/tcg/tcg_loongarch.h (revision d9bf9713239945a5d4187593599de49da3351416)
190f73c2dSBibo Mao /* SPDX-License-Identifier: GPL-2.0-or-later */
290f73c2dSBibo Mao /*
390f73c2dSBibo Mao  * QEMU LoongArch TCG interface
490f73c2dSBibo Mao  *
590f73c2dSBibo Mao  * Copyright (c) 2025 Loongson Technology Corporation Limited
690f73c2dSBibo Mao  */
790f73c2dSBibo Mao #ifndef TARGET_LOONGARCH_TCG_LOONGARCH_H
890f73c2dSBibo Mao #define TARGET_LOONGARCH_TCG_LOONGARCH_H
99fd0cc4dSBibo Mao #include "cpu.h"
1090f73c2dSBibo Mao 
1190f73c2dSBibo Mao void loongarch_csr_translate_init(void);
1290f73c2dSBibo Mao 
13*0d4c2e40SBibo Mao bool loongarch_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
14*0d4c2e40SBibo Mao                             MMUAccessType access_type, int mmu_idx,
15*0d4c2e40SBibo Mao                             bool probe, uintptr_t retaddr);
16*0d4c2e40SBibo Mao 
179fd0cc4dSBibo Mao int loongarch_get_addr_from_tlb(CPULoongArchState *env, hwaddr *physical,
189fd0cc4dSBibo Mao                                 int *prot, target_ulong address,
199fd0cc4dSBibo Mao                                 MMUAccessType access_type, int mmu_idx);
209fd0cc4dSBibo Mao 
2190f73c2dSBibo Mao #endif  /* TARGET_LOONGARCH_TCG_LOONGARCH_H */
22