mirror of https://gitlab.com/qemu-project/qemu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
914 B
C
43 lines
914 B
C
/*
|
|
* cpu_mmu_index()
|
|
*
|
|
* Copyright (c) 2003 Fabrice Bellard
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.1-or-later
|
|
*/
|
|
|
|
#ifndef ACCEL_TCG_CPU_MMU_INDEX_H
|
|
#define ACCEL_TCG_CPU_MMU_INDEX_H
|
|
|
|
#include "hw/core/cpu.h"
|
|
#include "accel/tcg/cpu-ops.h"
|
|
#include "tcg/debug-assert.h"
|
|
#ifdef COMPILING_PER_TARGET
|
|
# ifdef CONFIG_USER_ONLY
|
|
# include "cpu.h"
|
|
# endif
|
|
#endif
|
|
|
|
/**
|
|
* cpu_mmu_index:
|
|
* @env: The cpu environment
|
|
* @ifetch: True for code access, false for data access.
|
|
*
|
|
* Return the core mmu index for the current translation regime.
|
|
* This function is used by generic TCG code paths.
|
|
*/
|
|
static inline int cpu_mmu_index(CPUState *cs, bool ifetch)
|
|
{
|
|
#ifdef COMPILING_PER_TARGET
|
|
# ifdef CONFIG_USER_ONLY
|
|
return MMU_USER_IDX;
|
|
# endif
|
|
#endif
|
|
|
|
int ret = cs->cc->tcg_ops->mmu_index(cs, ifetch);
|
|
tcg_debug_assert(ret >= 0 && ret < NB_MMU_MODES);
|
|
return ret;
|
|
}
|
|
|
|
#endif /* ACCEL_TCG_CPU_MMU_INDEX_H */
|