[lvc-project] [PATCH 03/16] x86/boot: Set cr0 to known state in trampoline

Andrew Cooper Andrew.Cooper3 at citrix.com
Wed Oct 19 10:44:32 MSK 2022


On 06/09/2022 11:41, Evgeniy Baskov wrote:
> diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
> index d33f060900d2..5273367283b7 100644
> --- a/arch/x86/boot/compressed/head_64.S
> +++ b/arch/x86/boot/compressed/head_64.S
> @@ -619,9 +619,8 @@ SYM_CODE_START(trampoline_32bit_src)
>  	/* Set up new stack */
>  	leal	TRAMPOLINE_32BIT_STACK_END(%ecx), %esp
>  
> -	/* Disable paging */
> -	movl	%cr0, %eax
> -	btrl	$X86_CR0_PG_BIT, %eax
> +	/* Disable paging and setup CR0 */
> +	movl	$(CR0_STATE & ~X86_CR0_PG), %eax

Why here?  WP is ignored when PG is disabled.

~Andrew


More information about the lvc-project mailing list