|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/4] x86/EFI: adjust EFI_MEMORY_WP handling for spec version 2.5
. ..snip..
> @@ -1220,6 +1224,9 @@ void __init efi_init_memory(void)
> prot |= _PAGE_PAT | MAP_SMALL_PAGES;
> else if ( desc->Attribute & (EFI_MEMORY_UC | EFI_MEMORY_UCE) )
> prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
> + else if ( efi_bs_revision >= EFI_REVISION(2, 5) &&
> + (desc->Attribute & EFI_MEMORY_WP) )
> + prot |= _PAGE_PAT | _PAGE_PWT | MAP_SMALL_PAGES;
> else
> {
> printk(XENLOG_ERR "Unknown cachability for MFNs %#lx-%#lx%s\n",
> @@ -1229,7 +1236,8 @@ void __init efi_init_memory(void)
> prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
> }
>
> - if ( desc->Attribute & EFI_MEMORY_WP )
> + if ( desc->Attribute & (efi_bs_revision < EFI_REVISION(2, 5)
> + ? EFI_MEMORY_WP : EFI_MEMORY_RO) )
> prot &= ~_PAGE_RW;
> if ( desc->Attribute & EFI_MEMORY_XP )
> prot |= _PAGE_NX;
> --- a/xen/include/efi/efidef.h
> +++ b/xen/include/efi/efidef.h
> @@ -156,11 +156,15 @@ typedef enum {
> #define EFI_MEMORY_WT 0x0000000000000004
> #define EFI_MEMORY_WB 0x0000000000000008
> #define EFI_MEMORY_UCE 0x0000000000000010
> +#define EFI_MEMORY_WP 0x0000000000001000
>
> // physical memory protection on range
> -#define EFI_MEMORY_WP 0x0000000000001000
You delete EFI_MEMORY_WP it here, but you use it in 'efi_init_memory'?
> #define EFI_MEMORY_RP 0x0000000000002000
> #define EFI_MEMORY_XP 0x0000000000004000
> +#define EFI_MEMORY_RO 0x0000000000020000
> +
> +#define EFI_MEMORY_NV 0x0000000000008000
> +#define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000
Those two are new (NV, MORE_RELIABLE), should they be part
of a different patch? Or if they are part of the new spec
just mention in the commit that you are adding it in for
future use?
>
> // range requires a runtime mapping
> #define EFI_MEMORY_RUNTIME 0x8000000000000000
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |