Commit 31a2207a authored by Wen Congyang's avatar Wen Congyang Committed by Luiz Capitulino
Browse files

Add API to check whether paging mode is enabled



This API will be used in the following patch.

Signed-off-by: default avatarWen Congyang <wency@cn.fujitsu.com>
Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
parent fae001f5
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -527,12 +527,18 @@ int cpu_memory_rw_debug(CPUArchState *env, target_ulong addr,

#if defined(CONFIG_HAVE_GET_MEMORY_MAPPING)
int cpu_get_memory_mapping(MemoryMappingList *list, CPUArchState *env);
bool cpu_paging_enabled(CPUArchState *env);
#else
static inline int cpu_get_memory_mapping(MemoryMappingList *list,
                                         CPUArchState *env)
{
    return -1;
}

static inline bool cpu_paging_enabled(CPUArchState *env)
{
    return true;
}
#endif

#endif /* CPU_ALL_H */
+6 −1
Original line number Diff line number Diff line
@@ -233,7 +233,7 @@ static void walk_pml4e(MemoryMappingList *list,

int cpu_get_memory_mapping(MemoryMappingList *list, CPUArchState *env)
{
    if (!(env->cr[0] & CR0_PG_MASK)) {
    if (!cpu_paging_enabled(env)) {
        /* paging is disabled */
        return 0;
    }
@@ -264,3 +264,8 @@ int cpu_get_memory_mapping(MemoryMappingList *list, CPUArchState *env)

    return 0;
}

bool cpu_paging_enabled(CPUArchState *env)
{
    return env->cr[0] & CR0_PG_MASK;
}