From: Peter Dinda Date: Tue, 18 Feb 2014 01:18:57 +0000 (-0600) Subject: Minor cleanups on shadow paging build/debug X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=commitdiff_plain;h=668be595282778551b3bafd0d524398b29de67d5 Minor cleanups on shadow paging build/debug --- diff --git a/Kconfig b/Kconfig index 63d9eb7..a099526 100644 --- a/Kconfig +++ b/Kconfig @@ -266,6 +266,12 @@ source "Kconfig.stdlibs" menu "Virtual Paging" +config NESTED_PAGING + bool "Enable nested paging" + default y + help + Enable nested paging (should always be on) + config SHADOW_PAGING bool "Enable shadow paging" default y @@ -288,13 +294,34 @@ config DEBUG_SHDW_PG_VTLB help Enables debugging messages for VTLB implementation -config SHADOW_PAGING_CACHE1 - bool "Shadow Page Cache (1)" - default y - depends on SHADOW_PAGING +config SHADOW_PAGING_CACHE + bool "Shadow Page Cache" + default n + depends on SHADOW_PAGING && EXPERIMENTAL help - Enables caching implemenation for shadow paging + Enables caching implementation of shadow paging +config DEBUG_SHADOW_PAGING_CACHE + bool "Enable Shadow Page Cache Debugging" + default n + depends on SHADOW_PAGING_CACHE + help + Enables debugging messages for the VTLB + Caching implementation + +#config SHADOW_PAGING_KVM +# bool "KVM-style Shadow Pager" +# default n +# depends on SHADOW_PAGING && EXPERIMENTAL +# help +# Enables shadow pager derived from KVM +# You probably do not want this and it will probably not compile! +# +#config DEBUG_SHADOW_PAGING_KVM +# bool "Enable KVM-style Shadow Pager Debugging" +# default n +# depends on SHADOW_PAGING_KVM +# help +# Enables debugging messages for the KVM-style shadow pager endmenu diff --git a/palacios/src/palacios/mmu/Makefile b/palacios/src/palacios/mmu/Makefile index 7b3a3ef..c49b0f5 100644 --- a/palacios/src/palacios/mmu/Makefile +++ b/palacios/src/palacios/mmu/Makefile @@ -1,3 +1,6 @@ obj-$(V3_CONFIG_SHADOW_PAGING_VTLB) += vmm_shdw_pg_tlb.o obj-$(V3_CONFIG_SWAPBYPASS) += vmm_shdw_pg_swapbypass.o -obj-$(V3_CONFIG_SHADOW_PAGING_CACHE1) += vmm_shdw_pg_cache.o +obj-$(V3_CONFIG_SHADOW_PAGING_CACHE) += vmm_shdw_pg_cache.o + + +#obj-$(V3_CONFIG_SHADOW_PAGING_KVM) += vmm_shdw_pg_kvm.o diff --git a/palacios/src/palacios/mmu/vmm_shdw_pg_cache.c b/palacios/src/palacios/mmu/vmm_shdw_pg_cache.c index cf60c86..d2b6cce 100644 --- a/palacios/src/palacios/mmu/vmm_shdw_pg_cache.c +++ b/palacios/src/palacios/mmu/vmm_shdw_pg_cache.c @@ -31,7 +31,7 @@ #define V3_CACHED_PG 0x1 -#ifndef V3_CONFIG_DEBUG_SHDW_PG_CACHE +#ifndef V3_CONFIG_DEBUG_SHADOW_PAGING_CACHE #undef PrintDebug #define PrintDebug(fmt, ...) #endif diff --git a/palacios/src/palacios/mmu/vmm_shdw_pg_cache_32.h b/palacios/src/palacios/mmu/vmm_shdw_pg_cache_32.h index 6e26d73..85deaaa 100644 --- a/palacios/src/palacios/mmu/vmm_shdw_pg_cache_32.h +++ b/palacios/src/palacios/mmu/vmm_shdw_pg_cache_32.h @@ -24,7 +24,7 @@ static inline int activate_shadow_pt_32(struct guest_info * core) { addr_t gpa = BASE_TO_PAGE_ADDR_4KB(guest_cr3->pdt_base_addr); struct shdw_pg_data * shdw_pg = NULL; - PrintDebug(info->vm_info, info, "Activating 32 Bit cacheable page tables\n"); + PrintDebug(core->vm_info, core, "Activating 32 Bit cacheable page tables\n"); shdw_pg = find_shdw_pt(core->vm_info, gpa, PAGE_PD32); PrintError(core->vm_info, core, "shdw_pg returned as %p for CR3:%p\n", shdw_pg, (void *)gpa);