Add API to check whether paging mode is enabled

This API will be used in the following patch.

Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
Wen Congyang 2012-05-07 12:05:42 +08:00 committed by Luiz Capitulino
parent fae001f551
commit 31a2207a8e
2 changed files with 12 additions and 1 deletions

View File

@ -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 */

View File

@ -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;
}