[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [edk2-devel] [PATCH v2 23/31] OvmfPkg/XenPlatformPei: Reserve VGA memory region, to boot Linux



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 <lersek@xxxxxxxxxx>

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.perard@xxxxxxxxxx>
> ---
>  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);
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.