summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Library
Commit message (Collapse)AuthorAgeFilesLines
* DynamicTablesPkg: Remove GIC Distributor Id fieldSami Mujawar2019-02-251-1/+3
| | | | | | | | | | | | | | | | | According to ACPI 6.2 Specification - Errata A, 'One, and only one, GIC distributor structure must be present in the MADT for an ARM based system'. Therefore, the GIC Distributor ID field in the ACPI MADT GICD substructure can be set to zero and there is no need for the Configuration Manager to provide this information. Update the CM_ARM_GICD_INFO structure to remove the GicId field. Similarly update the MADT Generator to set the GicId field in the GICD substructure to zero. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDISami Mujawar2019-02-251-4/+1
| | | | | | | | | | | | The DBG2_DEBUG_PORT_DDI() macro supports adding only one Generic Base Address Register. Therefore, removed the superfluous parameter NumReg and updated the macro to use DBG2_NUMBER_OF_GENERIC_ADDRESS_REGISTERS which has a value 1. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Add OEM InfoSami Mujawar2019-02-258-14/+26
| | | | | | | | | Added option for OEMs to provide OEM Table ID and OEM Revision for ACPI tables. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Rename enum used for ID MappingSami Mujawar2019-02-251-3/+3
| | | | | | | | | Renamed the enum EArmObjIdMapping to EArmObjIdMappingArray and updated the IORT generator accordingly. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg/AcpiSpcrLibArm: Support 16550 UART.Ashish Singhal2019-02-251-0/+2
| | | | | | | | | | Add support for 16550 UART to ACPI SPCR table as it is a supported UART type by HLOS. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm IORT Table GeneratorSami Mujawar2019-02-193-0/+2173
| | | | | | | | | | | | | | | | | | | | | | The IORT generator uses the configuration manager protocol to obtain information about the PCI Root Complex, SMMU, GIC ITS, Performance Monitoring counters etc. and generates the IORT table. The mappings between the components are represented using tokens. The generator invokes the configuration manager protocol interfaces and requests for objects referenced by tokens to establish the link. This table data is then used by the Table Manager to install the IORT table. The Table Manager then invokes the generator interface to free any resources allocated by the IORT table generator. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm PCI MCFG Table GeneratorSami Mujawar2019-02-192-0/+412
| | | | | | | | | | | | | | | | The MCFG generator uses the configuration manager protocol to obtain the PCI Configuration space information from the platform configuration manager and builds the MCFG table. This table data is then used by the Table Manager to install the MCFG table. The Table Manager then invokes the generator interface to free any resources allocated by the MCFG table generator. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm DBG2 Table GeneratorSami Mujawar2019-02-192-0/+511
| | | | | | | | | | | | The DBG2 generator uses the configuration manager protocol to obtain the debug serial port information from the platform configuration manager. It then updates a template DBG2 table structure. This table data is used by the Table Manager to install the DBG2 table. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm SPCR Table GeneratorSami Mujawar2019-02-192-0/+389
| | | | | | | | | | | The SPCR generator uses the configuration manager protocol to obtain the serial port information from the platform configuration manager. It then updates a template SPCR table structure. This table data is used by the Table Manager to install the SPCR table. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm ACPI GTDT GeneratorSami Mujawar2019-02-192-0/+742
| | | | | | | | | | | | | | | The GTDT generator uses the configuration manager protocol to obtain information about the architectural and platform timers available on the platform and generates the ACPI GTDT table. This table data is then used by the Table Manager to install the GTDT table. The Table Manager then invokes the generator interface to free any resources allocated by the GTDT table generator. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm ACPI MADT GeneratorSami Mujawar2019-02-192-0/+787
| | | | | | | | | | | | | | The MADT generator uses the configuration manager protocol to obtain information about the Arm interrupt controllers (GICC, GICD, etc.) and generates the ACPI MADT table. This table data is then used by the Table Manager to install the MADT table. The Table Manager then invokes the generator interface to free any resources allocated by the MADT table generator. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm ACPI FADT GeneratorSami Mujawar2019-02-192-0/+731
| | | | | | | | | | | | The FADT generator collates the relevant information required for generating a FADT table from configuration manager using the configuration manager protocol. It then updates a template FADT table structure. This table data is used by the Table Manager to install the FADT table. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Arm Raw/DSDT/SSDT GeneratorSami Mujawar2019-02-192-0/+192
| | | | | | | | | | | | A Raw generator is a simple generator. This generator provides the ability to install a binary blob (that contains ACPI table data) as an ACPI table. The binary blob could be pre-generated ACPI table data or it may be the pre-compiled output from an iAsl compiler for a DSDT or SSDT table. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
* DynamicTablesPkg: Table Helper LibrarySami Mujawar2019-02-192-0/+212
A helper library that implements common functionality for use by table generators. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>