>>> On 17.06.15 at 15:46, <andrew.coop...@citrix.com> wrote:
> @@ -763,6 +764,8 @@ static int __init __maybe_unused set_color(u32 mask, int 
> bpp, u8 *pos, u8 *sz)
>                      base_video = 1;
>                  else if ( wstrcmp(ptr + 1, L"mapbs") == 0 )
>                      map_bs = 1;
> +                else if ( wstrcmp(ptr + 1, L"mapres") == 0 )
> +                    map_res = 1;

For one, this not being used in loader code, it should be a sub-option
to the regular efi= option instead of loader one.

> @@ -1216,7 +1219,9 @@ void __init efi_init_memory(void)
>               (!(desc->Attribute & EFI_MEMORY_RUNTIME) &&
>                (!map_bs ||
>                 (desc->Type != EfiBootServicesCode &&
> -                desc->Type != EfiBootServicesData))) )
> +                desc->Type != EfiBootServicesData)) &&
> +              (!map_res ||
> +               desc->Type != EfiReservedMemoryType)) )
>              continue;
>  
>          desc->VirtualStart = INVALID_VIRTUAL_ADDRESS;

And then I have severe reservations against adding mappings to
_all_ reserved regions: What if the cachability for them is given
incorrectly in the memory map, and we end up inserting a mapping
that the processor can speculate into? At the very least all such
mappings imo should be forced to be UC. But I think such mappings
should be added in much more fine grained manner, i.e. the
command line option should allow to specify page ranges (any
of which not being marked EfiReservedMemoryType would be
silently ignored).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to