public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Chandni Cherukuri <chandni.cherukuri@arm.com>
To: edk2-devel@lists.01.org
Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org
Subject: [PATCH edk2-platforms v3 0/2] Platform/ARM/Sgi: Enable Dynamic Configuration feature
Date: Mon, 18 Jun 2018 10:58:59 +0530	[thread overview]
Message-ID: <1529299741-30054-1-git-send-email-chandni.cherukuri@arm.com> (raw)

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

 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



             reply	other threads:[~2018-06-18  5:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-18  5:28 Chandni Cherukuri [this message]
2018-06-18  5:29 ` [PATCH edk2-platforms v3 1/2] Platform/ARM/Sgi: Install a Platform ID HOB Chandni Cherukuri
2018-06-18  5:29 ` [PATCH edk2-platforms v3 2/2] Platform/ARM/Sgi: Pick ACPI tables to install based on platform ID Chandni Cherukuri
2018-06-18  9:44 ` [PATCH edk2-platforms v3 0/2] Platform/ARM/Sgi: Enable Dynamic Configuration feature Ard Biesheuvel
2018-06-18 10:51   ` chandni cherukuri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1529299741-30054-1-git-send-email-chandni.cherukuri@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox