1*efe25c26SRichard Henderson /* 2*efe25c26SRichard Henderson * cpu_mmu_index() 3*efe25c26SRichard Henderson * 4*efe25c26SRichard Henderson * Copyright (c) 2003 Fabrice Bellard 5*efe25c26SRichard Henderson * 6*efe25c26SRichard Henderson * SPDX-License-Identifier: LGPL-2.1-or-later 7*efe25c26SRichard Henderson */ 8*efe25c26SRichard Henderson 9*efe25c26SRichard Henderson #ifndef ACCEL_TCG_CPU_MMU_INDEX_H 10*efe25c26SRichard Henderson #define ACCEL_TCG_CPU_MMU_INDEX_H 11*efe25c26SRichard Henderson 12*efe25c26SRichard Henderson #include "hw/core/cpu.h" 13*efe25c26SRichard Henderson #include "tcg/debug-assert.h" 14*efe25c26SRichard Henderson #ifdef COMPILING_PER_TARGET 15*efe25c26SRichard Henderson # ifdef CONFIG_USER_ONLY 16*efe25c26SRichard Henderson # include "cpu.h" 17*efe25c26SRichard Henderson # endif 18*efe25c26SRichard Henderson #endif 19*efe25c26SRichard Henderson 20*efe25c26SRichard Henderson /** 21*efe25c26SRichard Henderson * cpu_mmu_index: 22*efe25c26SRichard Henderson * @env: The cpu environment 23*efe25c26SRichard Henderson * @ifetch: True for code access, false for data access. 24*efe25c26SRichard Henderson * 25*efe25c26SRichard Henderson * Return the core mmu index for the current translation regime. 26*efe25c26SRichard Henderson * This function is used by generic TCG code paths. 27*efe25c26SRichard Henderson */ 28*efe25c26SRichard Henderson static inline int cpu_mmu_index(CPUState *cs, bool ifetch) 29*efe25c26SRichard Henderson { 30*efe25c26SRichard Henderson #ifdef COMPILING_PER_TARGET 31*efe25c26SRichard Henderson # ifdef CONFIG_USER_ONLY 32*efe25c26SRichard Henderson return MMU_USER_IDX; 33*efe25c26SRichard Henderson # endif 34*efe25c26SRichard Henderson #endif 35*efe25c26SRichard Henderson 36*efe25c26SRichard Henderson int ret = cs->cc->mmu_index(cs, ifetch); 37*efe25c26SRichard Henderson tcg_debug_assert(ret >= 0 && ret < NB_MMU_MODES); 38*efe25c26SRichard Henderson return ret; 39*efe25c26SRichard Henderson } 40*efe25c26SRichard Henderson 41*efe25c26SRichard Henderson #endif /* ACCEL_TCG_CPU_MMU_INDEX_H */ 42