Skip to content
Commit ad6a2ad3 authored by Deepak Pandey's avatar Deepak Pandey Committed by Leif Lindholm
Browse files

Silicon/ARM/N1SoC: Implement Neoverse N1 SoC specific PciExpressLib



A slave error is generated when host accesses the config space of
non-available device or unimplemented function on a given bus. So
implement a Neoverse N1 SoC specific PciExpressLib library with a
workaround to return 0xffffffff for all such access.

This library is inherited from MdePkg/Library/BasePciExpressLib and
based on commit 9344f0921518 of that library in the tianocore/edk2
project.

In addition to this, the Neoverse N1 SoC has two other limitations which
affect 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.
This library includes workaround for these limitations as well.

Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Signed-off-by: Pranav Madhu's avatarPranav Madhu <pranav.madhu@arm.com>
Reviewed-by: Thomas Abraham's avatarThomas Abraham <thomas.abraham@arm.com>
Reviewed-by: default avatarLeif Lindholm <leif@nuviainc.com>
parent fa8e020e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment