On 04/09/19 13:08, Anthony PERARD wrote:
> Linux panic if this region isn't reserved.

Please expand "this" (just copy from the subject).

with that,

Acked-by: Laszlo Ersek <ler...@redhat.com>

Thanks
Laszlo

> 
> When Linux is booted on EFI system, it expects the memory at 0xa0000 to
> _not_ be conventional memory. Otherwise a variable isn't initialised
> properly and Linux panic when a virtual console/terminal is asked to be
> created.
> 
> See for more detail:
> https://lists.xenproject.org/archives/html/xen-devel/2019-03/msg02139.html
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Anthony PERARD <anthony.per...@citrix.com>
> ---
>  OvmfPkg/XenPlatformPei/Xen.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c
> index 7b503f2c4e..25f12c2f9c 100644
> --- a/OvmfPkg/XenPlatformPei/Xen.c
> +++ b/OvmfPkg/XenPlatformPei/Xen.c
> @@ -294,6 +294,12 @@ XenPublishRamRegions (
>    Status = XenGetE820Map (&E820Map, &E820EntriesCount);
>    ASSERT_EFI_ERROR (Status);
>  
> +  AddMemoryBaseSizeHob (0, 0xA0000);
> +  //
> +  // Video memory + Legacy BIOS region, to allow Linux to boot.
> +  //
> +  AddReservedMemoryBaseSizeHob (0xA0000, BASE_1MB - 0xA0000, TRUE);
> +
>    for (Index = 0; Index < E820EntriesCount; Index++) {
>      UINT64 Base;
>      UINT64 End;
> @@ -307,6 +313,16 @@ XenPublishRamRegions (
>      Base = ALIGN_VALUE (Entry->BaseAddr, (UINT64)EFI_PAGE_SIZE);
>      End = (Entry->BaseAddr + Entry->Length) & ~(UINT64)EFI_PAGE_MASK;
>  
> +    //
> +    // Ignore the first 1MB, this is handled before the loop.
> +    //
> +    if (Base < BASE_1MB) {
> +      Base = BASE_1MB;
> +    }
> +    if (Base >= End) {
> +      continue;
> +    }
> +
>      switch (Entry->Type) {
>      case EfiAcpiAddressRangeMemory:
>        AddMemoryRangeHob (Base, End);
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#39076): https://edk2.groups.io/g/devel/message/39076
Mute This Topic: https://groups.io/mt/30998056/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to