/** @file * * Copyright (c) 2013-2014, ARM Limited. All rights reserved. * Copyright (c) 2018, Linaro Limited. All rights reserved. * * This program and the accompanying materials are licensed and made available * under the terms and conditions of the BSD License which accompanies this * distribution. The full text of the license may be found at * http://opensource.org/licenses/bsd-license.php * * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. * **/ #ifndef __ACPITABLES_H__ #define __ACPITABLES_H__ // // ACPI table information used to initialize tables. // #define EFI_ACPI_OEM_ID 'S','N','I',' ',' ',' ' #define EFI_ACPI_OEM_TABLE_ID SIGNATURE_64('S','Y','N','Q','U','A','C','R') #define EFI_ACPI_OEM_REVISION FixedPcdGet32 (PcdAcpiDefaultOemRevision) #define EFI_ACPI_CREATOR_ID SIGNATURE_32('L','N','R','O') #define EFI_ACPI_CREATOR_REVISION FixedPcdGet32 (PcdAcpiDefaultCreatorRevision) // A macro to initialise the common header part of EFI ACPI tables as defined by // EFI_ACPI_DESCRIPTION_HEADER structure. #define __ACPI_HEADER(Signature, Type, Revision) { \ Signature, /* UINT32 Signature */ \ sizeof (Type), /* UINT32 Length */ \ Revision, /* UINT8 Revision */ \ 0, /* UINT8 Checksum */ \ { EFI_ACPI_OEM_ID }, /* UINT8 OemId[6] */ \ EFI_ACPI_OEM_TABLE_ID, /* UINT64 OemTableId */ \ EFI_ACPI_OEM_REVISION, /* UINT32 OemRevision */ \ EFI_ACPI_CREATOR_ID, /* UINT32 CreatorId */ \ EFI_ACPI_CREATOR_REVISION /* UINT32 CreatorRevision */ \ } #define EFI_ACPI_6_0_GIC_REDISTRIBUTOR_INIT(RedisRegionAddr, RedisDiscLength) \ { \ EFI_ACPI_6_0_GICR, \ sizeof (EFI_ACPI_6_0_GICR_STRUCTURE), \ 0, \ RedisRegionAddr, \ RedisDiscLength \ } #define EFI_ACPI_6_0_GIC_ITS_FRAME_INIT(Id, PhysAddress) \ { \ EFI_ACPI_6_0_GIC_ITS, \ sizeof (EFI_ACPI_6_0_GIC_ITS_STRUCTURE), \ 0, \ Id, \ PhysAddress, \ 0 \ } #define EFI_ACPI_6_0_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(RefreshFramePhys, \ ControlFramePhys, WatchdogTimerGSIV, WatchdogTimerFlags) \ { \ EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG, \ sizeof(EFI_ACPI_6_0_GTDT_SBSA_GENERIC_WATCHDOG_STRUCTURE), \ EFI_ACPI_RESERVED_WORD, \ RefreshFramePhys, \ ControlFramePhys, \ WatchdogTimerGSIV, \ WatchdogTimerFlags \ } #endif