1 | /** @file
|
---|
2 | Dynamic Table Manager Dxe
|
---|
3 |
|
---|
4 | Copyright (c) 2017 - 2024, ARM Limited. All rights reserved.
|
---|
5 |
|
---|
6 | SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
7 |
|
---|
8 | **/
|
---|
9 |
|
---|
10 | #ifndef DYNAMIC_TABLE_MANAGER_DXE_H_
|
---|
11 | #define DYNAMIC_TABLE_MANAGER_DXE_H_
|
---|
12 |
|
---|
13 | #include <AcpiTableGenerator.h>
|
---|
14 |
|
---|
15 | ///
|
---|
16 | /// Bit definitions for acceptable ACPI table presence formats.
|
---|
17 | /// Currently only ACPI tables present in the ACPI info list and
|
---|
18 | /// already installed will count towards "Table Present" during
|
---|
19 | /// verification routine.
|
---|
20 | ///
|
---|
21 | #define ACPI_TABLE_PRESENT_INFO_LIST BIT0
|
---|
22 | #define ACPI_TABLE_PRESENT_INSTALLED BIT1
|
---|
23 |
|
---|
24 | /// The FADT table must be placed at index 0 in mAcpiVerifyTables.
|
---|
25 | #define ACPI_TABLE_VERIFY_FADT 0
|
---|
26 |
|
---|
27 | ///
|
---|
28 | /// Private data structure to verify the presence of mandatory
|
---|
29 | /// or optional ACPI tables.
|
---|
30 | ///
|
---|
31 | typedef struct {
|
---|
32 | /// ESTD ID for the ACPI table of interest.
|
---|
33 | ESTD_ACPI_TABLE_ID EstdTableId;
|
---|
34 | /// Standard UINT32 ACPI signature.
|
---|
35 | UINT32 AcpiTableSignature;
|
---|
36 | /// 4 character ACPI table name (the 5th char8 is for null terminator).
|
---|
37 | CHAR8 AcpiTableName[sizeof (UINT32) + 1];
|
---|
38 | /// Indicator on whether the ACPI table is required.
|
---|
39 | BOOLEAN IsMandatory;
|
---|
40 | /// Formats of verified presences, as defined by ACPI_TABLE_PRESENT_*
|
---|
41 | /// This field should be initialized to 0 and will be populated during
|
---|
42 | /// verification routine.
|
---|
43 | UINT16 Presence;
|
---|
44 | } ACPI_TABLE_PRESENCE_INFO;
|
---|
45 |
|
---|
46 | /** Get the arch specific ACPI table presence information.
|
---|
47 |
|
---|
48 | @param [out] PresenceArray Array containing the ACPI tables to check.
|
---|
49 | @param [out] PresenceArrayCount Count of elements in the PresenceArray.
|
---|
50 | @param [out] FadtIndex Index of the FADT table in the PresenceArray.
|
---|
51 | -1 if absent.
|
---|
52 |
|
---|
53 | @retval EFI_SUCCESS Success.
|
---|
54 | **/
|
---|
55 | EFI_STATUS
|
---|
56 | EFIAPI
|
---|
57 | GetAcpiTablePresenceInfo (
|
---|
58 | OUT ACPI_TABLE_PRESENCE_INFO **PresenceArray,
|
---|
59 | OUT UINT32 *PresenceArrayCount,
|
---|
60 | OUT INT32 *FadtIndex
|
---|
61 | );
|
---|
62 |
|
---|
63 | #endif // DYNAMIC_TABLE_MANAGER_DXE_H_
|
---|