The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update FT2000-4Pkg
PlatformLib.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the Styx code in
AcpiPlatformDxe, PlatInitPei and StyxDtbLoaderLib.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
The ARM_CORE_INFO struct has been updated so the MPIDR is now a single
field instead of separate cluster/core fields. Update the initializer.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
This commit adds code which check BootDiscoveryPolicy variable and
calls Boot Policy Manager Protocol to connect device specified by
the variable. To enable that mechanism for platform
EfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy PCD must be
added to DSC file.
For the edk2 repository, commit cae735f61328 ("ArmPkg: Enable boot
discovery policy for ARM package.") adds a mechanism to check for
the boot discovery policy. When the following are available:
- gEfiBootManagerPolicyProtocolGuid protocol
- BOOT_DISCOVERY_POLICY_VAR variable
this allows to choose whether devices need to be connected during
boot.
During boot on ARM platforms, all devices are connected if there
are no valid boot options. If the UEFI shell is added as a valid
boot option, some devices won't be connected. The BootDiscoveryPolicy
will allow to manually configure this.
For all ARM platforms, add:
- BootManagerPolicyDxe module to Bds phase
- BootDiscoveryPolicyUiLib to UiApp module
- PcdBootDiscoveryPolicy Pcd
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
The patch removes PciExpressLib implementation for N1Sdp as:
a) The PciSegmentLib implementation for N1Sdp makes MmioRead() calls
instead of PciRead() which makes the PciExpressLib redundant.
b) Since N1Sdp requires multiple segments to be supported, PciExpressLib
and PciLib cannot be used, PciSegmentLib should be used instead as it
supports multiple segments.
Signed-off-by: Deepak Pandey <Deepak.Pandey@arm.com>
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This patch enables CCIX root complex support by updating
the root complex node info in PciHostBridge library.
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
PCD entries are updated to remove the hardcoded assignments and to
add support for multiple PCI root ports.
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
The BasePCISegment Library in MdePkg doesn't allow configuring
multiple segments required for PCIe and CCIX root port
enumeration. Therefore, a custom PCI Segment library is adapted
from SynQuacerPciSegmentLib and ported for N1Sdp.
In addition to this, the hardware has few other limitations which affects
the access to the PCIe root port:
1. ECAM space is not contiguous, root port ECAM (BDF = 0:0:0) is isolated
from rest of the downstream hierarchy ECAM space.
2. Root port ECAM space is not capable of 8bit/16bit writes.
3. A slave error is generated when host accesses the configuration
space of non-available device or unimplemented function on a
given bus.
The description of the workarounds included for these limitations can
be found in the corresponding files of this patch.
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This patch fixes the following Ecc reported error:
The body of a function should be contained by open
and close braces that must be in the first column.
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This patch fixes the following Ecc reported error:
Only Doxygen commands '@bug', '@todo', '@example',
'@file', '@attention', '@param', '@post', '@pre',
'@retval', '@return', '@sa', '@since', '@test',
'@note', '@par', '@endcode', '@code', '@{', '@}'
are allowed to mark the code
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This patch fixes the following Ecc reported error:
A comparison of any pointer to zero must be done
via the NULL type
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This patch fixes the following Ecc reported error:
'TAB' character is not allowed in source code,
please replace each 'TAB' with two spaces.
The patch also format and document the InstallStructures
function to comply to edk2 coding style.
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
The two following packages have the same GUID:
- Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
- edk2/ArmPlatformPkg/ArmPlatformPkg.dec
The gArmVExpressTokenSpaceGuid in
Platform/ARM/VExpressPkg/ArmVExpressPkg.dec is also
identical.
All the GUIDs have been added at the same time, initially
in the edk2 repository. Modify the GUIDs in the edk2-platforms
repository.
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
The two following modules have the same GUID:
- Platform/ARM/VExpressPkg/Library/
ArmVExpressLibRTSM/ArmVExpressLibSec.inf
- Silicon/Hisilicon/Library/
ArmPlatformLibHisilicon/ArmPlatformLibSec.inf
Therefore, update the INF GUID for the library in
Platform/ARM/VExpressPkg/Library/
ArmVExpressLibRTSM/ArmVExpressLibSec.inf.
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>