Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 822c54eb0177833d7949049cb9eb1e18dc3572a9
      
https://github.com/tianocore/edk2/commit/822c54eb0177833d7949049cb9eb1e18dc3572a9
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M MdePkg/Include/IndustryStandard/Acpi65.h

  Log Message:
  -----------
  MdePkg: MADT: Add Online capable flag in GICC

Bugzilla: 3706 'Code First - MADT GICC new flags'

On ARM systems physical CPU hotplug is not supported.
All CPUs are considered present and this is true
throughout the system uptime.

The ECR 2285 introduces a new 'online-capable' flag
in the GICC structure flags in ACPI 6.5, to signal
firmware policy (CPU is not enabled but it can be
enabled and onlined). This enables OSPM to support
virtual CPU hotplug (on virtual platforms for
instance).

This ECR also updates the MADT table revision to 6
to reflect the ACPI 6.5 changes. Therefore, update
the MADT table revision to match the value as
specified in ACPI 6.5.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>


  Commit: f9925c89532bbbe22c277ed56e2ffa8d21532d05
      
https://github.com/tianocore/edk2/commit/f9925c89532bbbe22c277ed56e2ffa8d21532d05
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M MdePkg/Include/IndustryStandard/Acpi65.h

  Log Message:
  -----------
  MdePkg: MADT: Add TRBE interrupt to GICC

The ASWG ECR 2303 introduces a new field 'TRBE
interrupt' to GICC structure in ACPI 6.5.

The Trace Buffer Extension (TRBE) interrupt is a
Processor Private interrupt (PPI) and is used to
specify a platform-specific interrupt to signal
TRBE events.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>


  Commit: db9800dce87656dcd561ee510b4036db5910dc39
      
https://github.com/tianocore/edk2/commit/db9800dce87656dcd561ee510b4036db5910dc39
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M DynamicTablesPkg/Include/ArmNameSpaceObjects.h

  Log Message:
  -----------
  DynamicTablesPkg: Add TRBE interrupt to GICC object

ACPI 6.5 introduces a new filed to the MADT GICC structure
to specify the Trace Buffer Extension (TRBE) interrupt. The
TRBE interrupt is a Processor Private interrupt (PPI) and is
used to specify a platform-specific interrupt to signal TRBE
events.

Therefore, update the CM_ARM_GICC_INFO to reflect the addition
of the TRBE interrupt field.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: cf62548a35fb002166b01b33cbfe72f65f0d6900
      
https://github.com/tianocore/edk2/commit/cf62548a35fb002166b01b33cbfe72f65f0d6900
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M 
DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c

  Log Message:
  -----------
  DynamicTablesPkg: Add TRBE interrupt to GICC object parser

ACPI 6.5 introduces a new filed to the MADT GICC structure
to specify the Trace Buffer Extension (TRBE) interrupt. The
TRBE interrupt is a Processor Private interrupt (PPI) and is
used to specify a platform-specific interrupt to signal TRBE
events.

This field has already been added to the CM_ARM_GICC_INFO
structure in a previous patch.

Therefore, update the Configuration Manager Object Parser to
reflect the addition of the TRBE interrupt field.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: 36e9f3d08a4c3f1e9828119285fcfaee80cf9d47
      
https://github.com/tianocore/edk2/commit/36e9f3d08a4c3f1e9828119285fcfaee80cf9d47
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c

  Log Message:
  -----------
  DynamicTablesPkg: Update MADT generator for ACPI 6.5

The ACPI 6.5 specification updates the MADT table to add
a new field to GICC for specifying the TRBE interrupt and
also adds support for Online Capable flag to the GICC flags.

The Online Capable flags should be passed transparently
through as specified in the CM_ARM_GICC_INFO.Flags field
and only require the MADT table revision to be setup to
6 to reflect the ACPI 6.5 specification.

The TRBE field needs to be appropriately setup in the
GICC structure.

Therefore, update the MADT generator to reflect the
above updates required for supporting ACPI 6.5

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois <[email protected]>


  Commit: 50e8518276d9c7de3cb9593a482901d3a936a2b7
      
https://github.com/tianocore/edk2/commit/50e8518276d9c7de3cb9593a482901d3a936a2b7
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c

  Log Message:
  -----------
  DynamicTablesPkg: Update FADT generator to ACPI 6.5

The ACPI 6.5 specification updates the minor revision
of the FADT table to 5. Therefore, update the FADT
generator to setup the minor revision for ACPI 6.5.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: 2b0d117b4b4ea44b213fc3b10c9e59fa96510c83
      
https://github.com/tianocore/edk2/commit/2b0d117b4b4ea44b213fc3b10c9e59fa96510c83
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c

  Log Message:
  -----------
  ShellPkg: Acpiview: Update MADT parser for TRBE interrupt

ACPI 6.5 introduces a new filed to the MADT GICC
structure to specify the TRBE interrupt. The TRBE
interrupt is a Processor Private interrupt (PPI)
and is used to specify a platform-specific
interrupt to signal TRBE events.

Therefore, update the MADT GICC structure parser
to parse the new TRBE interrupt field. Also, add
validations to check that the TRBE interrupt is
within the PPI interrupt range.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Zhichao Gao <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: 4821daa5246deff8d8f9fb35d9c171050e704951
      
https://github.com/tianocore/edk2/commit/4821daa5246deff8d8f9fb35d9c171050e704951
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M DynamicTablesPkg/Include/ArmNameSpaceObjects.h

  Log Message:
  -----------
  DynamicTablesPkg: Add an ET info object to Arm namespace

Add an Embedded Trace (ET) info object that can be
used to provide information about Embedded Trace
Extension (ETE) or Embedded Trace Module (ETM)
available on a platform.

Although ETE and ETM share the same HID,
ETE has a system register interfaces, unlike
ETM which requires memory mapped registers.

Since this patch aims to support ETE it does
not describe any memory mapped registers.
However, required support for ETM can be added
in the future.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: f81ee47513e55e4748eccb2f941a5bb0cbf45612
      
https://github.com/tianocore/edk2/commit/f81ee47513e55e4748eccb2f941a5bb0cbf45612
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M 
DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c

  Log Message:
  -----------
  DynamicTablesPkg: Add an ET info object parser

An Embedded Trace (ET) info object is used to provide
information about an Embedded Trace Extension (ETE) or
an Embedded Trace Module (ETM) available on a platform.

The CM_ARM_ET_INFO object has already been added to the
Arm namespace objects list by a previous patch.

Therefore, update the CM Object parser to add support
for parsing the CM_ARM_ET_INFO object.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: 3ee23713e1ce09faa6fa66ee6799e3e336deb58b
      
https://github.com/tianocore/edk2/commit/3ee23713e1ce09faa6fa66ee6799e3e336deb58b
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M 
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c
    M 
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.h

  Log Message:
  -----------
  DynamicTablesPkg: Add ETE device to CPU node in AML

The Coresight Embedded Trace Extension (ETE) feature
can be detected by the platform firmware by examining
the debug feature register ID_AA64DFR0_EL1.TraceVer
field.
The platform configuration manager can then describe
the ETE by creating CM_ARM_ET_INFO object(s) and
referencing these in CM_ARM_GICC_INFO.EtToken.

The 'Table 3: Compatible IDs for architected
CoreSight components' in the 'ACPI for CoreSight
1.2 Platform Design Document' specifies the HID
value for Coresight ETE and CoreSight Embedded
Trace Macrocell (ETM) v4.x as ARMH C500.

Therefore, update the SsdtCpuTopologyGenerator
to add an ETE device to the CPU node in the AML
CPU hierarchy so that an OS can utilise this
information.

Note: Although ETE and ETM share the same HID,
ETE has a system register interfaces, unlike
ETM which requires memory mapped registers.
Since this patch aims to support ETE, the AML
description does not describe any memory mapped
registers. However, support for ETM can be
added in the future.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: 09fd4e41728ffabbb98bc4e0520369f70eb9c583
      
https://github.com/tianocore/edk2/commit/09fd4e41728ffabbb98bc4e0520369f70eb9c583
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M 
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c

  Log Message:
  -----------
  DynamicTablesPkg: Fix referencing of CPC token

The CpcToken has been incorrectly referenced in the
CreateTopologyFromGicC() and always points to the
CPC token in the first GICC Info object.

Therefore, fix this by correctly indexing into the
GicCInfo object array.

Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Pierre Gondois  <[email protected]>


  Commit: 08431081a3623bd6c44de5c859ef42c579de63d1
      
https://github.com/tianocore/edk2/commit/08431081a3623bd6c44de5c859ef42c579de63d1
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M ArmPkg/Include/Chipset/AArch64.h
    M ArmPkg/Include/Library/ArmLib.h
    M ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c

  Log Message:
  -----------
  ArmPkg/ArmLib: Add ArmHasTrbe () helper function

Create a helper function to query whether ID_AA64MFR1_EL1 indicates
presence of the Trace Buffer Extension (TRBE). This feature is only
visible in AARCH64 state.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Pierre Gondois <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>
Reviewed-by: Pierre Gondois <[email protected]>


  Commit: a671a14e63fdaa9490e5c61cf11346416f1d1463
      
https://github.com/tianocore/edk2/commit/a671a14e63fdaa9490e5c61cf11346416f1d1463
  Author: Sami Mujawar <[email protected]>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M ArmPkg/Include/Chipset/AArch64.h
    M ArmPkg/Include/Library/ArmLib.h
    M ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c

  Log Message:
  -----------
  ArmPkg/ArmLib: Add ArmHasEte () helper function

Create a helper function to query whether ID_AA64MFR1_EL1 indicates
presence of the Embedded Trace Extension (ETE). This feature is only
visible in AARCH64 state.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Pierre Gondois <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>
Reviewed-by: Pierre Gondois <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/4f3ee7fbafc8...a671a14e63fd


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to