On 18 June 2018 at 07:28, Chandni Cherukuri <chandni.cheruk...@arm.com> wrote:
> Changes since v2:
> - Addressed comments from Ard
> - Depex on gHwConfigDtInfoPpiGuid
> - Use address of DT instead of pointer to the address of DT
>
> Changes since v1:
> - Addressed comments from Ard and Leif
> - move definition of HwConfigDtBlob to PlatformLib.c
> - use adr instead of ldr assembly instruction
> - declare PPI in a PPI specific header file
> - invert if conditional expression
> - remove changes unrelated to the patch
> - rename PEI files as per the standard
>
> On SGI platforms, the trusted firmware executes prior to the SEC
> phase. It supplies to the SEC phase, a pointer to a HW CONFIG fdt
> in the x1 which contains platform specific information such as part
> number and config number of the SGI platform.
>
> The HW CONFIG FDT would look as,
> /dts-v1/;
> / {
>         /* compatible string */
>         compatible = "arm,sgi-isys3";
>
>         /* platform ID node */
>         system-id {
>              platform-id = <0x03000783>;
>         }
> };
>
> In the very first step of the assembly code which executes in SEC phase
> the fdt pointer is stored in a global variable from the register. A PPI
> is created during the SEC phase which stores the global variable.
>
> During PEI phase, a Platform ID PEIM is installed which accessess the PPI
> and retrieves the platform information using FDT helper functions and a
> PlatformId HOB is created and populated with the information.
>
> During DXE phase the drivers can access the Platform ID HOB to get the
> platform information and perform platform specific functions based on the
> platform.
>
> Chandni Cherukuri (2):
>   Platform/ARM/Sgi: Install a Platform ID HOB
>   Platform/ARM/Sgi: Pick ACPI tables to install based on platform ID
>

Reviewed-by: Ard Biesheuvel <ard.biesheu...@linaro.org>

Pushed as f65939a9d98b..e93b4c776420

I did notice that there is a typo in the identifier 'gSgi575AcpiTablesiFileGuid'
Could you please send a patch to fix up all occurrences?

Thanks,
Ard.


>  Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c         |  30 +++++-
>  Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf       |   2 +
>  Platform/ARM/SgiPkg/Include/Ppi/SgiPlatformId.h               |  23 ++++
>  Platform/ARM/SgiPkg/Include/SgiPlatform.h                     |  13 +++
>  Platform/ARM/SgiPkg/Library/PlatformLib/AArch64/Helper.S      |  13 ++-
>  Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c         |  10 ++
>  Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf       |   3 +
>  Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPei.inf |  40 +++++++
>  Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPeim.c  | 112 
> ++++++++++++++++++++
>  Platform/ARM/SgiPkg/SgiPlatform.dec                           |   5 +
>  Platform/ARM/SgiPkg/SgiPlatform.dsc                           |   1 +
>  Platform/ARM/SgiPkg/SgiPlatform.fdf                           |   1 +
>  12 files changed, 245 insertions(+), 8 deletions(-)
>  create mode 100644 Platform/ARM/SgiPkg/Include/Ppi/SgiPlatformId.h
>  create mode 100644 
> Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPei.inf
>  create mode 100644 
> Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPeim.c
>
> --
> 2.7.4
>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to