public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: devel@edk2.groups.io, khasim.mohammed@arm.com
Cc: nd@arm.com, Sami Mujawar <sami.mujawar@arm.com>,
	Chandni Cherukuri <chandni.cherukuri@arm.com>,
	Manoj Kumar <manoj.kumar3@arm.com>,
	Patrik Berglund <patrik.berglund@arm.com>,
	anukou01 <anurag.koul@arm.com>,
	Sayanta Pattanayak <sayanta.pattanayak@arm.com>
Subject: Re: [edk2-devel] [PATCH v2 6/7] Platform/ARM/N1Sdp: Configuration Manager for N1Sdp
Date: Tue, 19 Oct 2021 09:40:07 +0100	[thread overview]
Message-ID: <5c9fa02c-b769-bce8-7ff5-9d2fced0d9d5@arm.com> (raw)
In-Reply-To: <20211010182956.13526-7-khasim.mohammed@arm.com>

Hi Khasim,

2 minor comments,

On 10/10/21 19:29, Khasim Mohammed via groups.io wrote:
> The dynamic tables framework utilizes the configuration manager
> protocol to get the platform specific information required for
> building the firmware tables.
>
> The configuration manager is a platform specific component that
> collates the platform hardware information and builds an abstract
> platform configuration repository. The configuration manager also
> implements the configuration manager protocol which returns the
> hardware information requested by the table generators.
>
> This patch implements the configuration manager for N1SDP
> platform. It enables support for generating the following
> ACPI tables:
>              1. FACP
>              2. DSDT
>              3. GTDT
>              4. APIC
>              5. SPCR
>              6. DBG2
>              7. PPTT
>              8. IORT
>              9. MCFG
>             10. SSDT - PCI
>             11. SSDT - REMOTE PCI
>
> Also added :
> HMAT table and expose CCIX memory as EFI_MEMORY_SP
>
> Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
> Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
> Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
> Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
> Signed-off-by: Patrik Berglund <patrik.berglund@arm.com>
> Signed-off-by: anukou01 <anurag.koul@arm.com>
> Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
> ---
>  .../ConfigurationManager.dsc.inc              |   16 +
>  .../ConfigurationManager.c                    | 2199 +++++++++++++++++
>  .../ConfigurationManager.h                    |  307 +++
>  .../ConfigurationManagerDxe.inf               |  167 ++
>  .../ConfigurationManagerDxe/Hmat.c            |  103 +
>  .../ConfigurationManagerDxe/Platform.h        |   92 +
>  6 files changed, 2884 insertions(+)
>  create mode 100644 Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManager.dsc.inc
>  create mode 100644 Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
>  create mode 100644 Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
>  create mode 100644 Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
>  create mode 100644 Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/Hmat.c
>  create mode 100644 Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/Platform.h
>
> diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManager.dsc.inc b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManager.dsc.inc
> new file mode 100644
> index 0000000000..bcd4bf334d
> --- /dev/null
> +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManager.dsc.inc
> @@ -0,0 +1,16 @@
> +## @file
> +#  dsc include file for Configuration Manager
> +#
> +#  Copyright (c) 2021, ARM Limited. All rights reserved.<BR>
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +##
> +
> +[Defines]
> +
> +[BuildOptions]
> +
> +[Components.common]
> +  # Configuration Manager
> +  Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf

I think a .dsc.inc file was created for Platform/ARM/JunoPkg/ArmJuno.dsc
because the Juno can either build the ACPI tables with the
DynamicTablesPkg or get them statically.

Since the N1Sdp doesn't have static ACPI tables, is it necessary to have
this .dsc.inc file ? We could just add the ConfigurationManagerDxe.inf
component in the N1Sdp.dsc .

> diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
> new file mode 100644
> index 0000000000..8fc2a89674
> --- /dev/null
> +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
> @@ -0,0 +1,2199 @@
> +/** @file
> +  Configuration Manager Dxe
> +
> +  Copyright (c) 2021, ARM Limited. All rights reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +  @par Glossary:
> +    - Cm or CM   - Configuration Manager
> +    - Obj or OBJ - Object
> +**/
> +
> +#include <IndustryStandard/DebugPort2Table.h>
> +#include <IndustryStandard/IoRemappingTable.h>
> +#include <IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h>
> +#include <IndustryStandard/SerialPortConsoleRedirectionTable.h>
> +#include <Library/ArmLib.h>
> +#include <Library/DebugLib.h>
> +#include <Library/IoLib.h>
> +#include <Library/PcdLib.h>
> +#include <Library/UefiBootServicesTableLib.h>
> +#include <NeoverseN1Soc.h>
> +#include <Protocol/AcpiTable.h>
> +#include <Protocol/ConfigurationManagerProtocol.h>
> +
> +#include "ConfigurationManager.h"
> +#include "N1SdpAcpiHeader.h"
> +#include "Platform.h"
> +

[snip]

> +
> +/** A structure describing the configuration manager protocol interface.
> +*/
> +STATIC
> +CONST
> +EDKII_CONFIGURATION_MANAGER_PROTOCOL N1sdpPlatformConfigManagerProtocol = {
> +  CREATE_REVISION(1,0),
> +  N1sdpPlatformGetObject,
> +  N1sdpPlatformSetObject,
> +  &N1sdpRepositoryInfo
> +};
> +
> +/**
> +  Entrypoint of Configuration Manager Dxe.
> +
> +  @param  ImageHandle
> +  @param  SystemTable
> +
> +  @return EFI_SUCCESS
> +  @return EFI_LOAD_ERROR
> +  @return EFI_OUT_OF_RESOURCES
> +**/

Can you add the [in] in the parameter definition ?

[snip]

  reply	other threads:[~2021-10-19  8:40 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-10 18:29 [PATCH v2 0/7] N1Sdp ACPI table and configuration manager support Khasim Mohammed
2021-10-10 18:29 ` [PATCH v2 1/7] Silicon/ARM/NeoverseN1Soc: Fix missing function documentation Khasim Mohammed
2021-10-13  9:30   ` [edk2-devel] " PierreGondois
2021-10-10 18:29 ` [PATCH v2 2/7] Silicon/ARM/NeoverseN1Soc: Define new PCDs and configure memory map Khasim Mohammed
2021-10-13  9:31   ` [edk2-devel] " PierreGondois
2021-10-10 18:29 ` [PATCH v2 3/7] Platform/ARM/N1Sdp: Introduce platform DXE driver Khasim Mohammed
2021-10-13  9:32   ` [edk2-devel] " PierreGondois
2021-10-10 18:29 ` [PATCH v2 4/7] Platform/ARM/N1Sdp: Enable N1Sdp platform specific configurations Khasim Mohammed
2021-10-13  9:42   ` [edk2-devel] " PierreGondois
2021-10-20 17:36     ` Khasim Mohammed
2021-10-10 18:29 ` [PATCH v2 5/7] Platform/ARM/N1Sdp: Introduce platform specific asl tables Khasim Mohammed
2021-10-19  8:14   ` [edk2-devel] " PierreGondois
2021-10-26 17:46     ` Khasim Mohammed
2021-10-10 18:29 ` [PATCH v2 6/7] Platform/ARM/N1Sdp: Configuration Manager for N1Sdp Khasim Mohammed
2021-10-19  8:40   ` PierreGondois [this message]
2021-10-10 18:29 ` [PATCH v2 7/7] Platform/ARM/N1Sdp: Enable ACPI tables and configuration manager Khasim Mohammed
2021-10-19  8:42   ` [edk2-devel] " PierreGondois

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=5c9fa02c-b769-bce8-7ff5-9d2fced0d9d5@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