From nobody Sat Sep 21 01:07:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+58468+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58468+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1588281390; cv=none; d=zohomail.com; s=zohoarc; b=KQGbNqr+ZA3hHkdt0tT1mrCS9MhmGuFUj1bvOBDxcoAMTQIQA6CdLgW/c5hfAojHkcDiKq/ZvILE4OhOT4J7dzH86tgoXBuLQvIkO2XvBWJOaAdudWB2Ergo/gEyk9TAIO+xWgP6PSFmSlM8mg2gJMvroO5DRGg/9PwHMuZaziE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588281390; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=KFvwBFZl/VAGzcttIzdd5Xu5HQalJrEmFKrLc4Tdd6c=; b=YPi0X2X7ESu4Etll0XWg/1qyIUoHEOcn3HhPkCi+N17umH3wgOR85sQdSnWBbtW6m1lawJdaIag0Cjtf8y3HGITSHVfbcb+Sb9jOJUK5nquqZF/Xa0ljIFWze0paaK3rIO6XHXypfQviCPtAh8t8Zd+FwMGjEZjYupOoCZtBmX4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58468+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 158828139037132.06647067211077; Thu, 30 Apr 2020 14:16:30 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 1Ne6YY1788612xrX3QeAvDJH; Thu, 30 Apr 2020 14:16:30 -0700 X-Received: from mail-qk1-f194.google.com (mail-qk1-f194.google.com [209.85.222.194]) by mx.groups.io with SMTP id smtpd.web12.786.1588281389443071225 for ; Thu, 30 Apr 2020 14:16:29 -0700 X-Received: by mail-qk1-f194.google.com with SMTP id q7so7393518qkf.3 for ; Thu, 30 Apr 2020 14:16:29 -0700 (PDT) X-Gm-Message-State: a5BIs7lt9NSyhJJU6UsIvatWx1787277AA= X-Google-Smtp-Source: APiQypL9ydAYFV7rw6o0MH7syINEUFItM/d9AQyeCJdmtKfXjWbFHCX+vKTboYnBaXYvrvEDtw5EwQ== X-Received: by 2002:a37:b587:: with SMTP id e129mr533948qkf.226.1588281388066; Thu, 30 Apr 2020 14:16:28 -0700 (PDT) X-Received: from localhost.localdomain (c-98-214-99-181.hsd1.il.comcast.net. [98.214.99.181]) by smtp.gmail.com with ESMTPSA id n136sm1090441qke.97.2020.04.30.14.16.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2020 14:16:27 -0700 (PDT) From: "Andrei Warkentin" To: devel@edk2.groups.io Cc: ard.biesheuvel@arm.com, leif@nuviainc.com, pete@akeo.ie, philmd@redhat.com Subject: [edk2-devel] [edk2-platforms][PATCH 1/2] RPi: rip out FdtDxe logic to use internal DTB Date: Thu, 30 Apr 2020 14:16:16 -0700 Message-Id: <20200430211617.120926-2-andrey.warkentin@gmail.com> In-Reply-To: <20200430211617.120926-1-andrey.warkentin@gmail.com> References: <20200430211617.120926-1-andrey.warkentin@gmail.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,andrey.warkentin@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588281390; bh=3Wp+FWSE5CvlbHjEIAEC6B4c7hD3uqLGnalL+51pwq4=; h=Cc:Date:From:Reply-To:Subject:To; b=N6OVx8/5+ohKtvJqsnRzFUCQQOBq7AyPcN9cjiCUDlKCj8lJBoB3S7xbSsQvxAxF2on EDM4GuH/d12CKhwLE5+czaxXfwSZ1po+AowuDLKptmgvGkDl6bKiLMfMw1mZC6CtN8wGH rcR3JPF2nkAE2RN2G1yDInh9kuujSzGlwMs= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Initially, FdtDxe used an internal (embedded in UEFI) FDT, because it was neither understood how to consume the one loaded by the VideoCore firmware, nor understood just how important it is to use the DTB provided by config.txt. Embedding the DT was a bad idea, because: - Permanently stale - No overlays Also, on devices like the Pi 4 you _have_ to have a DT around for the start4 VPU firmware to pick up, otherwise the board is left in an inconsistent state. So we're being proscriptive now about DT use with config.txt, which means this internal DT logic is deadc code. Further FdtDxe cleanups are possible and will be handled separately, specifically: - probably no need to use a separate allocation for patched DT (optimize me= mory used) - suspicious use of EfiBootServicesData (I filed https://github.com/ARM-sof= tware/ebbr/issues/45 to sort out the real requirements) Testing: Booted Ubuntu 18.04 on Pi 2B (1.2). Signed-off-by: Andrei Warkentin Reviewed-by: Pete Batard --- Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c | 206 ++++---------------- Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf | 4 - Platform/RaspberryPi/RPi3/RPi3.fdf | 11 -- Platform/RaspberryPi/RPi4/RPi4.fdf | 8 - Platform/RaspberryPi/RaspberryPi.dec | 7 - 5 files changed, 38 insertions(+), 198 deletions(-) diff --git a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c b/Platform/Raspbe= rryPi/Drivers/FdtDxe/FdtDxe.c index e7143f57..187b9566 100644 --- a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c +++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c @@ -335,90 +335,6 @@ CleanSimpleFramebuffer ( return EFI_SUCCESS; } =20 -#define MAX_CMDLINE_SIZE 512 - -STATIC -EFI_STATUS -UpdateBootArgs ( - VOID - ) -{ - INTN Node; - INTN Retval; - EFI_STATUS Status; - CHAR8 *CommandLine; - - // - // Locate the /chosen node - // - Node =3D fdt_path_offset (mFdtImage, "/chosen"); - if (Node < 0) { - DEBUG ((DEBUG_ERROR, "%a: failed to locate /chosen node\n", __FUNCTION= __)); - return EFI_NOT_FOUND; - } - - // - // If /chosen/bootargs already exists, we want to add a space character - // before adding the firmware supplied arguments. However, the RpiFirmwa= re - // protocol expects a 32-bit aligned buffer. So let's allocate 4 bytes of - // slack, and skip the first 3 when passing this buffer into libfdt. - // - CommandLine =3D AllocatePool (MAX_CMDLINE_SIZE) + 4; - if (!CommandLine) { - DEBUG ((DEBUG_ERROR, "%a: failed to allocate memory\n", __FUNCTION__)); - return EFI_OUT_OF_RESOURCES; - } - - // - // Get the command line from the firmware - // - Status =3D mFwProtocol->GetCommandLine (MAX_CMDLINE_SIZE, CommandLine + = 4); - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a: failed to retrieve command line\n", __FUNCTI= ON__)); - return Status; - } - - if (AsciiStrLen (CommandLine + 4) =3D=3D 0) { - DEBUG ((DEBUG_INFO, "%a: empty command line received\n", __FUNCTION__)= ); - return EFI_SUCCESS; - } - - CommandLine[3] =3D ' '; - - Retval =3D fdt_appendprop_string (mFdtImage, Node, "bootargs", &CommandL= ine[3]); - if (Retval !=3D 0) { - DEBUG ((DEBUG_ERROR, "%a: failed to set /chosen/bootargs property (%d)= \n", - __FUNCTION__, Retval)); - } - - DEBUG_CODE_BEGIN (); - CONST CHAR8 *Prop; - INT32 Length; - INT32 Index; - - Node =3D fdt_path_offset (mFdtImage, "/chosen"); - ASSERT (Node >=3D 0); - - Prop =3D fdt_getprop (mFdtImage, Node, "bootargs", &Length); - ASSERT (Prop !=3D NULL); - - DEBUG ((DEBUG_INFO, "Command line set from firmware (length %d):\n'", = Length)); - - for (Index =3D 0; Index < Length; Index++, Prop++) { - if (*Prop =3D=3D '\0') { - continue; - } - DEBUG ((DEBUG_INFO, "%c", *Prop)); - } - - DEBUG ((DEBUG_INFO, "'\n")); - DEBUG_CODE_END (); - - FreePool (CommandLine - 4); - return EFI_SUCCESS; -} - - /** @param ImageHandle of the loaded driver @param SystemTable Pointer to the System Table @@ -435,13 +351,10 @@ FdtDxeInitialize ( IN EFI_SYSTEM_TABLE *SystemTable ) { + INT32 Retval; EFI_STATUS Status; - EFI_GUID *FdtGuid; - VOID *FdtImage; UINTN FdtSize; - INT32 Retval; - UINT32 BoardRevision; - BOOLEAN Internal; + VOID *FdtImage =3D NULL; =20 if (PcdGet32 (PcdOptDeviceTree) =3D=3D 0) { DEBUG ((DEBUG_INFO, "Device Tree disabled per user configuration\n")); @@ -450,77 +363,28 @@ FdtDxeInitialize ( =20 Status =3D gBS->LocateProtocol (&gRaspberryPiFirmwareProtocolGuid, NULL, (VOID**)&mFwProtocol); - ASSERT_EFI_ERROR (Status); + if (mFwProtocol =3D=3D NULL) { + /* + * Impossible because of the depex... + */ + ASSERT_EFI_ERROR (Status); + return EFI_NOT_FOUND; + } =20 - Internal =3D FALSE; FdtImage =3D (VOID*)(UINTN)PcdGet32 (PcdFdtBaseAddress); Retval =3D fdt_check_header (FdtImage); - if (Retval =3D=3D 0) { - /* - * Have FDT passed via config.txt. - */ - FdtSize =3D fdt_totalsize (FdtImage); - DEBUG ((DEBUG_INFO, "Device Tree passed via config.txt (0x%lx bytes)\n= ", FdtSize)); - Status =3D EFI_SUCCESS; - } else { - /* - * Use one of the embedded FDT's. - */ - Internal =3D TRUE; - DEBUG ((DEBUG_INFO, "No/Bad Device Tree found at address 0x%p (%a), " - "looking up internal one...\n", FdtImage, fdt_strerror (Retval))); + if (Retval !=3D 0) { /* - * Query the board revision to differentiate between models. + * Any one of: + * - Invalid config.txt device_tree_address (not PcdFdtBaseAddress) + * - Missing FDT for your Pi variant (if not overriding via device_tre= e=3D) */ - Status =3D mFwProtocol->GetModelRevision (&BoardRevision); - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "Failed to get board type: %r\n", Status)); - DEBUG ((DEBUG_INFO, "Using default internal Device Tree\n")); - FdtGuid =3D &gRaspberryPiDefaultFdtGuid; - } else { - // www.raspberrypi.org/documentation/hardware/raspberrypi/revision-c= odes/README.md - switch ((BoardRevision >> 4) & 0xFF) { - case 0x08: - DEBUG ((DEBUG_INFO, "Using Raspberry Pi 3 Model B internal Device = Tree\n")); - FdtGuid =3D &gRaspberryPi3ModelBFdtGuid; - break; - case 0x0D: - DEBUG ((DEBUG_INFO, "Using Raspberry Pi 3 Model B+ internal Device= Tree\n")); - FdtGuid =3D &gRaspberryPi3ModelBPlusFdtGuid; - break; - case 0x11: - DEBUG ((DEBUG_INFO, "Using Raspberry Pi 4 Model B internal Device = Tree\n")); - FdtGuid =3D &gRaspberryPi4ModelBFdtGuid; - break; - default: - DEBUG ((DEBUG_INFO, "Using default internal Device Tree\n")); - FdtGuid =3D &gRaspberryPiDefaultFdtGuid; - break; - } - } - do { - Status =3D GetSectionFromAnyFv (FdtGuid, EFI_SECTION_RAW, 0, &FdtIma= ge, &FdtSize); - if (Status =3D=3D EFI_SUCCESS) { - if (fdt_check_header (FdtImage) !=3D 0) { - Status =3D EFI_INCOMPATIBLE_VERSION; - } - } - // No retry needed if we are successful or are dealing with the defa= ult Fdt. - if ( (Status =3D=3D EFI_SUCCESS) || - (CompareGuid (FdtGuid, &gRaspberryPiDefaultFdtGuid)) ) - break; - // Otherwise, try one more time with the default Fdt. An example of = this - // is if we detected a non-default Fdt, that isn't included in the F= DF. - DEBUG ((DEBUG_INFO, "Internal Device Tree was not found for this pla= tform, " - "falling back to default...\n")); - FdtGuid =3D &gRaspberryPiDefaultFdtGuid; - } while (1); + DEBUG ((DEBUG_ERROR, "No devicetree passed via config.txt\n")); + return EFI_NOT_FOUND; } =20 - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "Failed to locate Device Tree: %r\n", Status)); - return Status; - } + FdtSize =3D fdt_totalsize (FdtImage); + DEBUG ((DEBUG_INFO, "Devicetree passed via config.txt (0x%lx bytes)\n", = FdtSize)); =20 /* * Probably overkill. @@ -529,12 +393,19 @@ FdtDxeInitialize ( Status =3D gBS->AllocatePages (AllocateAnyPages, EfiBootServicesData, EFI_SIZE_TO_PAGES (FdtSize), (EFI_PHYSICAL_ADDRESS*)&mFd= tImage); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "Failed to allocate Device Tree: %r\n", Status)); - return Status; + DEBUG ((DEBUG_ERROR, "Failed to allocate devicetree: %r\n", Status)); + goto out; } =20 Retval =3D fdt_open_into (FdtImage, mFdtImage, FdtSize); - ASSERT (Retval =3D=3D 0); + if (Retval !=3D 0) { + DEBUG ((DEBUG_ERROR, "fdt_open_into failed: %d\n", Retval)); + goto out; + } + + /* + * These are all best-effort. + */ =20 Status =3D SanitizePSCI (); if (EFI_ERROR (Status)) { @@ -566,19 +437,18 @@ FdtDxeInitialize ( Print (L"Failed to update USB compatible properties: %r\n", Status); } =20 - if (Internal) { - /* - * A GPU-provided DTB already has the full command line. - */ - Status =3D UpdateBootArgs (); - if (EFI_ERROR (Status)) { - Print (L"Failed to update boot arguments: %r\n", Status); - } - } - - DEBUG ((DEBUG_INFO, "Installed Device Tree at address 0x%p\n", mFdtImage= )); + DEBUG ((DEBUG_INFO, "Installed devicetree at address %p\n", mFdtImage)); Status =3D gBS->InstallConfigurationTable (&gFdtTableGuid, mFdtImage); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "Couldn't register devicetree: %r\n", Status)); + goto out; + } =20 +out: + if (EFI_ERROR(Status)) { + if (mFdtImage !=3D NULL) { + gBS->FreePages ((EFI_PHYSICAL_ADDRESS) mFdtImage, EFI_SIZE_TO_PAGES = (FdtSize)); + } + } return Status; } diff --git a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf b/Platform/Rasp= berryPi/Drivers/FdtDxe/FdtDxe.inf index fc37353f..49ba5ba1 100644 --- a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf +++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf @@ -35,10 +35,6 @@ =20 [Guids] gFdtTableGuid - gRaspberryPi3ModelBFdtGuid - gRaspberryPi3ModelBPlusFdtGuid - gRaspberryPi4ModelBFdtGuid - gRaspberryPiDefaultFdtGuid =20 [Protocols] gRaspberryPiFirmwareProtocolGuid ## CONSUMES diff --git a/Platform/RaspberryPi/RPi3/RPi3.fdf b/Platform/RaspberryPi/RPi3= /RPi3.fdf index daedc443..e854cd21 100644 --- a/Platform/RaspberryPi/RPi3/RPi3.fdf +++ b/Platform/RaspberryPi/RPi3/RPi3.fdf @@ -303,17 +303,6 @@ READ_LOCK_STATUS =3D TRUE # INF Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf =20 - # - # Device Tree support (used by FdtDxe) - # GUIDs should match gRaspberryPi#####FdtGuid's from the .dec - # - FILE FREEFORM =3D DF5DA223-1D27-47C3-8D1B-9A41B55A18BC { - SECTION RAW =3D Platform/RaspberryPi/$(PLATFORM_NAME)/DeviceTree/bcm27= 10-rpi-3-b.dtb - } - FILE FREEFORM =3D 3D523012-73FE-40E5-892E-1A4DF60F3C0C { - SECTION RAW =3D Platform/RaspberryPi/$(PLATFORM_NAME)/DeviceTree/bcm27= 10-rpi-3-b-plus.dtb - } - [FV.FVMAIN_COMPACT] FvAlignment =3D 16 ERASE_POLARITY =3D 1 diff --git a/Platform/RaspberryPi/RPi4/RPi4.fdf b/Platform/RaspberryPi/RPi4= /RPi4.fdf index c3e9cfc4..b1f7aa23 100644 --- a/Platform/RaspberryPi/RPi4/RPi4.fdf +++ b/Platform/RaspberryPi/RPi4/RPi4.fdf @@ -307,14 +307,6 @@ READ_LOCK_STATUS =3D TRUE # INF Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf =20 - # - # Device Tree support (used by FdtDxe) - # GUIDs should match gRaspberryPi#####FdtGuid's from the .dec - # - FILE FREEFORM =3D 80AB6833-CAE4-4CEE-B59D-EB2039B05551 { - SECTION RAW =3D Platform/RaspberryPi/$(PLATFORM_NAME)/DeviceTree/bcm27= 11-rpi-4-b.dtb - } - [FV.FVMAIN_COMPACT] FvAlignment =3D 16 ERASE_POLARITY =3D 1 diff --git a/Platform/RaspberryPi/RaspberryPi.dec b/Platform/RaspberryPi/Ra= spberryPi.dec index b66322be..66ef6186 100644 --- a/Platform/RaspberryPi/RaspberryPi.dec +++ b/Platform/RaspberryPi/RaspberryPi.dec @@ -26,13 +26,6 @@ gRaspberryPiTokenSpaceGuid =3D {0xCD7CC258, 0x31DB, 0x11E6, {0x9F, 0xD3,= 0x63, 0xB0, 0xB8, 0xEE, 0xD6, 0xB5}} gRaspberryPiEventResetGuid =3D {0xCD7CC258, 0x31DB, 0x11E6, {0x9F, 0xD3,= 0x63, 0xB4, 0xB4, 0xE4, 0xD4, 0xB4}} gConfigDxeFormSetGuid =3D {0xCD7CC258, 0x31DB, 0x22E6, {0x9F, 0x22, 0x63= , 0xB0, 0xB8, 0xEE, 0xD6, 0xB5}} - # GUIDs used by FdtDxe to serve a Device Tree at runtime. Not all of the= se need to apply - # to the current platform or match an actual FDF binary, but they need t= o be defined. - gRaspberryPi3ModelBFdtGuid =3D { 0xDF5DA223, 0x1D27, 0x47C3, { 0x8D, 0x1= B, 0x9A, 0x41, 0xB5, 0x5A, 0x18, 0xBC } } - gRaspberryPi3ModelBPlusFdtGuid =3D { 0x3D523012, 0x73FE, 0x40E5, { 0x89,= 0x2E, 0x1A, 0x4D, 0xF6, 0x0F, 0x3C, 0x0C } } - gRaspberryPi4ModelBFdtGuid =3D { 0x80AB6833, 0xCAE4, 0x4CEE, { 0xB5, 0x9= D, 0xEB, 0x20, 0x39, 0xB0, 0x55, 0x51 } } - # Default Fdt to serve if the hardware model can't be detected. Should m= atch one of the above. - gRaspberryPiDefaultFdtGuid =3D {0xDF5DA223, 0x1D27, 0x47C3, { 0x8D, 0x1B= , 0x9A, 0x41, 0xB5, 0x5A, 0x18, 0xBC}} =20 [PcdsFixedAtBuild.common] # --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58468): https://edk2.groups.io/g/devel/message/58468 Mute This Topic: https://groups.io/mt/73385235/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sat Sep 21 01:07:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+58469+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58469+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1588281391; cv=none; d=zohomail.com; s=zohoarc; b=VWzjZNoXLO4NSoT8Bfx4u0XeB+xeb7XRf+pQk6WbS8Do9St5DQyTcnt4TyNmfajrR4JnaQO43LsGeRoG/1DjW+n8k+yHViSqMuV4yV1VI0X93XbCvI2m6HKIIcfuGsnOAqeFAzDjxvjNEb4cugpwyr5Pnap5/G/oan+MsFCvx0U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588281391; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=nk51QKneu7yw5vCIohSYvX14RIOT7d5G6+s1n1KELQc=; b=AehuzljeeDaxpdxOpaFU5dIc33102Qe/e0/cJXuFMQqwofdQ7Z3BtnSFDiL0ULjZN+w7G/6DM2lmyFxxvtDMAEFKrDjUsS8IAxpIqT0CvHxPZS4vP0ryx2mkZiM9OcbSRX+sOFaGHf0pn/IV29JtUUj5WxB5eR7jkKOTsd6Yr8g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58469+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1588281391086742.9602854554792; Thu, 30 Apr 2020 14:16:31 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id BkOMYY1788612xOsEnBYKXN2; Thu, 30 Apr 2020 14:16:30 -0700 X-Received: from mail-qk1-f195.google.com (mail-qk1-f195.google.com [209.85.222.195]) by mx.groups.io with SMTP id smtpd.web11.797.1588281390224969914 for ; Thu, 30 Apr 2020 14:16:30 -0700 X-Received: by mail-qk1-f195.google.com with SMTP id n143so7366534qkn.8 for ; Thu, 30 Apr 2020 14:16:30 -0700 (PDT) X-Gm-Message-State: VavqmwDCOQ4LKrUiReGoTsfwx1787277AA= X-Google-Smtp-Source: APiQypJBJYR+wuweptxhpBT1rI08azX82noUi3yMpiXWinCT9D4m286WTBNJQTtMxSgtjDJN5Q5szw== X-Received: by 2002:a37:63d0:: with SMTP id x199mr490838qkb.3.1588281389211; Thu, 30 Apr 2020 14:16:29 -0700 (PDT) X-Received: from localhost.localdomain (c-98-214-99-181.hsd1.il.comcast.net. [98.214.99.181]) by smtp.gmail.com with ESMTPSA id n136sm1090441qke.97.2020.04.30.14.16.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2020 14:16:28 -0700 (PDT) From: "Andrei Warkentin" To: devel@edk2.groups.io Cc: ard.biesheuvel@arm.com, leif@nuviainc.com, pete@akeo.ie, philmd@redhat.com Subject: [edk2-devel] [edk2-platforms][PATCH 2/2] RPi: remove any mention of an "internal DTB" Date: Thu, 30 Apr 2020 14:16:17 -0700 Message-Id: <20200430211617.120926-3-andrey.warkentin@gmail.com> In-Reply-To: <20200430211617.120926-1-andrey.warkentin@gmail.com> References: <20200430211617.120926-1-andrey.warkentin@gmail.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,andrey.warkentin@gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588281390; bh=QxdVK1ShVDsVBt3glAtKP10Sq5b5ztTrfa0JE4hCp+Y=; h=Cc:Date:From:Reply-To:Subject:To; b=I39xmInI664Jv0Ik3RBX1Yddd6qrQl50PX/zQN/MjoHZzMwNbrQXn5InBYy31EaEDA8 oW2AW4ZlPjxnEf6nNqkxmVdJ/3BODt8EpgnBAiIGvcxuHWSyJwpx5BUOEqqdk6sRFAGOf Qa5MqNOABdPNLHMQCbA4W2Wr8VIEG1h8dVI= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" For Pi 3 and Pi 4, since the relevant functionality is gone from FdtDxe. Signed-off-by: Andrei Warkentin Reviewed-by: Pete Batard --- Platform/RaspberryPi/RPi3/Readme.md | 3 +-- Platform/RaspberryPi/RPi4/Readme.md | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Platform/RaspberryPi/RPi3/Readme.md b/Platform/RaspberryPi/RPi= 3/Readme.md index f19d59d8..66f52bee 100644 --- a/Platform/RaspberryPi/RPi3/Readme.md +++ b/Platform/RaspberryPi/RPi3/Readme.md @@ -125,8 +125,7 @@ Note: the address range **must** be `[0x1f0000:0x200000= ]`. `dtoverlay` and `dtpa This firmware will honor the command line passed by the GPU via `cmdline.t= xt`. =20 Note, that the ultimate contents of `/chosen/bootargs` are a combination o= f several pieces: -- Original `/chosen/bootargs` if using the internal DTB. Seems to be compl= etely discarded by GPU when booting with a custom device tree. -- GPU-passed hardware configuration. This one is always present. +- GPU-passed hardware configuration. - Additional boot options passed via `cmdline.txt`. =20 # Limitations diff --git a/Platform/RaspberryPi/RPi4/Readme.md b/Platform/RaspberryPi/RPi= 4/Readme.md index 62a63c4c..03eb6c39 100644 --- a/Platform/RaspberryPi/RPi4/Readme.md +++ b/Platform/RaspberryPi/RPi4/Readme.md @@ -103,8 +103,7 @@ Note: the address range **must** be `[0x1f0000:0x200000= ]`. `dtoverlay` and `dtpa This firmware will honor the command line passed by the GPU via `cmdline.t= xt`. =20 Note, that the ultimate contents of `/chosen/bootargs` are a combination o= f several pieces: -- Original `/chosen/bootargs` if using the internal DTB. Seems to be compl= etely discarded by GPU when booting with a custom device tree. -- GPU-passed hardware configuration. This one is always present. +- GPU-passed hardware configuration. - Additional boot options passed via `cmdline.txt`. =20 # Limitations --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58469): https://edk2.groups.io/g/devel/message/58469 Mute This Topic: https://groups.io/mt/73385236/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-