public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 0/2] ARM Dynamic Configuration
@ 2018-06-15  5:55 Chandni Cherukuri
  2018-06-15  5:55 ` [PATCH 1/2] Platform/ARM/Sgi: Install a Platform ID HOB Chandni Cherukuri
  2018-06-15  5:55 ` [PATCH 2/2] Platform/ARM/Sgi: Pick ACPI tables to install based on platform ID Chandni Cherukuri
  0 siblings, 2 replies; 10+ messages in thread
From: Chandni Cherukuri @ 2018-06-15  5:55 UTC (permalink / raw)
  To: edk2-devel; +Cc: ard.biesheuvel, leif.lindholm

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

 .../ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c   | 25 +++++-
 .../ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf |  2 +
 Platform/ARM/SgiPkg/Include/SgiPlatform.h          | 18 +++++
 .../SgiPkg/Library/PlatformLib/AArch64/Helper.S    |  7 ++
 .../ARM/SgiPkg/Library/PlatformLib/PlatformLib.c   | 10 +++
 .../ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf |  3 +
 .../Library/SgiPlatformPeiLib/SgiPlatformPeiLib.c  | 92 ++++++++++++++++++++++
 .../SgiPlatformPeiLib/SgiPlatformPeiLib.inf        | 40 ++++++++++
 Platform/ARM/SgiPkg/SgiPlatform.dec                |  5 ++
 Platform/ARM/SgiPkg/SgiPlatform.dsc                |  1 +
 Platform/ARM/SgiPkg/SgiPlatform.fdf                |  1 +
 11 files changed, 203 insertions(+), 1 deletion(-)
 create mode 100644 Platform/ARM/SgiPkg/Library/SgiPlatformPeiLib/SgiPlatformPeiLib.c
 create mode 100644 Platform/ARM/SgiPkg/Library/SgiPlatformPeiLib/SgiPlatformPeiLib.inf

-- 
2.7.4



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-06-15 12:10 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-15  5:55 [PATCH 0/2] ARM Dynamic Configuration Chandni Cherukuri
2018-06-15  5:55 ` [PATCH 1/2] Platform/ARM/Sgi: Install a Platform ID HOB Chandni Cherukuri
2018-06-15  6:16   ` Ard Biesheuvel
2018-06-15  6:19     ` Ard Biesheuvel
2018-06-15  9:03       ` Leif Lindholm
2018-06-15 10:18   ` Leif Lindholm
2018-06-15 12:10     ` chandni cherukuri
2018-06-15  5:55 ` [PATCH 2/2] Platform/ARM/Sgi: Pick ACPI tables to install based on platform ID Chandni Cherukuri
2018-06-15  6:18   ` Ard Biesheuvel
2018-06-15 10:22   ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox