[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH 3/3] plat/kvm: set write protect flag in CR0
The last patch introduced read-only pages into the page table. However, unless the WP flag is set in CR0, this information is ignored in supervisor (i.e., kernel) mode. So set it at boot time to enable write protection of pages. Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx> --- plat/common/include/x86/cpu_defs.h | 1 + plat/kvm/x86/entry64.S | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plat/common/include/x86/cpu_defs.h b/plat/common/include/x86/cpu_defs.h index e968a832..107f0f0a 100644 --- a/plat/common/include/x86/cpu_defs.h +++ b/plat/common/include/x86/cpu_defs.h @@ -60,6 +60,7 @@ #define X86_CR0_EM (1 << 2) /* Emulation */ #define X86_CR0_TS (1 << 3) /* Task Switched */ #define X86_CR0_NE (1 << 5) /* Numeric Exception */ +#define X86_CR0_WP (1 << 16) /* Write Protect */ #define X86_CR0_PG (1 << 31) /* Paging */ /* diff --git a/plat/kvm/x86/entry64.S b/plat/kvm/x86/entry64.S index 828cd1bc..274ab0b3 100644 --- a/plat/kvm/x86/entry64.S +++ b/plat/kvm/x86/entry64.S @@ -184,7 +184,7 @@ ENTRY(_libkvmplat_start64) /* FPU and SSE are part of base x86-64, so no need to check for their * availability before enabling and initializing. */ andl $(~(X86_CR0_EM | X86_CR0_TS)), %esi - orl $(X86_CR0_MP | X86_CR0_NE), %esi + orl $(X86_CR0_MP | X86_CR0_NE | X86_CR0_WP), %esi movq %rsi, %cr0 fninit #if __SSE__ -- 2.21.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |