Re: [PATCH 21/70] x86/boot/compressed/64: Add function to map a page unencrypted

From: Joerg Roedel
Date: Sat Mar 21 2020 - 11:40:39 EST


On Fri, Mar 20, 2020 at 03:26:09PM -0700, Dave Hansen wrote:
> In any case, I thought this all came through initialize_identity_maps(),
> which does, for instance:
>
> mapping_info.page_flag = __PAGE_KERNEL_LARGE_EXEC | sme_me_mask;
>
> Where:
>
> #define __PAGE_KERNEL_LARGE_EXEC (__PP|__RW| 0|___A| 0|___D|_PSE|___G)
>
> That looks like it has the Global bit set. Does that not apply here
> somehow?

No, as the value of %cr4 at boot is 0x00000020, so PGE is not set and
global pages are not enabled. It wouldn't make sense anyhow, as global
pages only make sense when there are more than one address space, which
is not the case that early in boot.

Regards,

Joerg