master
h 28 lines 1.06 KB
Raw
1 /*
2 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef HEXAGON_MMU_H
8 #define HEXAGON_MMU_H
9
10 #include "exec/hwaddr.h"
11 #include "exec/mmu-access-type.h"
12 #include "cpu.h"
13 #include "monitor/hmp.h"
14
15 extern void hex_tlbw(CPUHexagonState *env, uint32_t index, uint64_t value);
16 extern uint32_t hex_tlb_lookup(CPUHexagonState *env, uint32_t ssr, uint32_t VA);
17 extern void hex_mmu_on(CPUHexagonState *env);
18 extern void hex_mmu_off(CPUHexagonState *env);
19 extern void hex_mmu_mode_change(CPUHexagonState *env);
20 extern bool hex_tlb_find_match(CPUHexagonState *env, uint32_t VA,
21 MMUAccessType access_type, hwaddr *PA, int *prot,
22 uint64_t *size, int32_t *excp, int mmu_idx);
23 extern int hex_tlb_check_overlap(CPUHexagonState *env, uint64_t entry,
24 uint64_t index);
25 extern void hex_tlb_lock(CPUHexagonState *env);
26 extern void hex_tlb_unlock(CPUHexagonState *env);
27 void dump_mmu(MonitorHMP *hmp, CPUHexagonState *env);
28 #endif