17. Protocols ACPI Test#

17.1. EFI_ACPI_TABLE_PROTOCOL Test#

Reference Document:

UEFI Specification, EFI_ACPI_TABLE_PROTOCOL Section.

17.1.1. InstallAcpiTable ()#

Number GUID Assertion Test Description
5.16.1.1.1 0x278963cf, 0x0c77, 0x47b5, 0xa9, 0x1f, 0x2b, 0xa7, 0xde, 0x9d, 0xa3, 0x75 ACPI_TABLE_PROTOCOL.InstallAcpiTable - InstallAcpiTable() returns EFI_INVALID_PARAMETER with NULL AcpiTableBuffer. Call InstallAcpiTable() with NULL AcpiTableBuffer. The return status should be EFi_INVALID_PARAMETER.
5.16.1.1.2 0xa3f1e4b1, 0xe8d9, 0x4516, 0xa2, 0xbc, 0x3d, 0xef, 0x20, 0x15, 0xec, 0x7d ACPI_TABLE_PROTOCOL.InstallAcpiTable - InstallAcpiTable() returns EFI_INVALID_PARAMETER with NULL TableKey. Call InstallAcpiTable() with NULL TableKey. The return status should be EFi_INVALID_PARAMETER.
5.16.1.1.3 0xb03fa7b4, 0xeb94, 0x4f56, 0x8a, 0x69, 0x5a, 0x13, 0x59, 0xcf, 0x57, 0x3f ACPI_TABLE_PROTOCOL.InstallAcpiTable - InstallAcpiTable() returns EFI_INVALID_PARAMETER with AcpiTableBufferSize is different with the size field in AcpiTableBuffer. Call InstallAcpiTable() with the size of AcpiTableBuffer not the same as the AcpiTableBufferSize. The return status should be EFi_INVALID_PARAMETER.
5.16.1.1.4 0x40949ceb, 0x734b, 0x468d, 0x88, 0xca, 0xfe, 0xc2, 0x7e, 0x4c, 0x19, 0xd2 ACPI_TABLE_PROTOCOL.InstallAcpiTable - InstallAcpiTable() returns EFI_SUCCESS with valid parameters

Call InstallAcpiTable() with valid parameter. The return status should be EFI_SUCCESS.

Call UninstallAcpiTable() to restore the environment.

5.16.1.1.5 0xfd58070a, 0xcefe, 0x4aea, 0x90, 0x3b, 0xa7, 0xa9, 0xbe, 0x53, 0x9c, 0xaf

ACPI_TABLE_PROTO COL.InstallAcpiTable-

InstallAcpiTable()returns EFI_SUCCESS and automatically correct AcpiTable checksum

1. Call InstallAcpiTable() with AcpiTable with wrong checksum.

2. The return status should be

EFI_SUCCESS & AcpiTable checksum corrected.

3. Call UninstallAcpiTable() to restore the environment.

17.1.2. UninstallAcpiTable ()#

Number GUID Assertion Test Description
5.16.1.2.1 0x5c72198c, 0x74d2, 0x4c55, 0xb9, 0xcf, 0x17, 0xdc, 0x02, 0x30, 0xac, 0x71 ACPI_TABLE_PROTOCOL.UninstallAcpiTable - UninstallAcpiTable() returns EFI_NOT_FOUND with TableKey not refer to a table entry.

Call InstallAcpiTable() with valid parameter. The return status should be EFI_SUCCESS.

Call UninstallAcpiTable(). The return status should be EFI_SUCCESS.

Call UninstallAcpiTable() again. The return status should EFI_NOT_FOUND..

5.16.1.2.2 0xf1c7de32, 0xd0fe, 0x4d67, 0xb0, 0x28, 0x06, 0xb4, 0xa0, 0x84, 0x06, 0xc4 ACPI_TABLE_PROTOCOL.UninstallAcpiTable - UninstallAcpiTable() returns EFI_SUCCESS with TableKey refer to a table entry.

Call InstallAcpiTable() with valid parameter. The return status should be EFI_SUCCESS.

Call UninstallAcpiTable(). The return status should be EFI_SUCCESS.