From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web10.4757.1682052348400525965 for ; Thu, 20 Apr 2023 21:45:48 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=XW2Ee80M; spf=pass (domain: redhat.com, ip: 170.10.133.124, mailfrom: kraxel@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1682052347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3pDemaiy2naGIrtL1oIdnrWEDbMcuNBBFdmLbazHvHY=; b=XW2Ee80MI1SBj6+3cMJQPQ2+J6jyUg99nO2nx4uD4+1Z7M8KquCd6W21NsF/LRqbsMFaT9 bdtk+Be7VMiM1V/hQloRiBjwpw1k+89Eh1pcJ7iCx4Afmzzi9KukTKvbWGRBzUaHwMVZT5 ji0WBIXnMii0M/8Ay5zs2yI4ZT2qs6c= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-204-mPGPyL6gO_iy2IhHqcyCvA-1; Fri, 21 Apr 2023 00:45:41 -0400 X-MC-Unique: mPGPyL6gO_iy2IhHqcyCvA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E099F8996E3; Fri, 21 Apr 2023 04:45:40 +0000 (UTC) Received: from sirius.home.kraxel.org (unknown [10.39.192.59]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 23138440BC; Fri, 21 Apr 2023 04:45:40 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 6FCCC18003B3; Fri, 21 Apr 2023 06:45:35 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Yuwei Chen , Oliver Steffen , Bob Feng , =?UTF-8?q?Marvin=20H=C3=A4user?= , Daniel Schaefer , Chao Li , Dongyan Qian , Michael D Kinney , Pawel Polawski , Baoqi Zhang , Leif Lindholm , Rebecca Cran , Zhiguang Liu , Sunil V L , Ard Biesheuvel , Liming Gao , Gerd Hoffmann Subject: [PATCH v5 05/10] BaseTools: remove duplicate includes: IndustryStandard/Acpi*.h Date: Fri, 21 Apr 2023 06:45:30 +0200 Message-Id: <20230421044535.4030762-6-kraxel@redhat.com> In-Reply-To: <20230421044535.4030762-1-kraxel@redhat.com> References: <20230421044535.4030762-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true Use the MdePkg version instead of maintaining a copy in BaseTools. Signed-off-by: Gerd Hoffmann Acked-by: Sunil V L --- .../Source/C/Include/IndustryStandard/Acpi.h | 117 --- .../C/Include/IndustryStandard/Acpi1_0.h | 285 -------- .../C/Include/IndustryStandard/Acpi2_0.h | 520 -------------- .../C/Include/IndustryStandard/Acpi3_0.h | 668 ------------------ .../Source/C/Include/Protocol/DevicePath.h | 2 +- BaseTools/Source/C/GenFw/GenFw.c | 8 +- BaseTools/Source/C/Makefiles/header.makefile | 1 + BaseTools/Source/C/Makefiles/ms.common | 1 + 8 files changed, 7 insertions(+), 1595 deletions(-) delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/Acpi.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/Acpi1_0.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi.h b/BaseTools/Source/C/Include/IndustryStandard/Acpi.h deleted file mode 100644 index 3516478ce400..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/Acpi.h +++ /dev/null @@ -1,117 +0,0 @@ -/** @file - This file contains some basic ACPI definitions that are consumed by drivers - that do not care about ACPI versions. - - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _ACPI_H_ -#define _ACPI_H_ - -// -// Common table header, this prefaces all ACPI tables, including FACS, but -// excluding the RSD PTR structure -// -typedef struct { - UINT32 Signature; - UINT32 Length; -} EFI_ACPI_COMMON_HEADER; - -// -// Common ACPI description table header. This structure prefaces most ACPI tables. -// -#pragma pack(1) - -typedef struct { - UINT32 Signature; - UINT32 Length; - UINT8 Revision; - UINT8 Checksum; - UINT8 OemId[6]; - UINT64 OemTableId; - UINT32 OemRevision; - UINT32 CreatorId; - UINT32 CreatorRevision; -} EFI_ACPI_DESCRIPTION_HEADER; - -#pragma pack() -// -// Define for Pci Host Bridge Resource Allocation -// -#define ACPI_ADDRESS_SPACE_DESCRIPTOR 0x8A -#define ACPI_END_TAG_DESCRIPTOR 0x79 - -#define ACPI_ADDRESS_SPACE_TYPE_MEM 0x00 -#define ACPI_ADDRESS_SPACE_TYPE_IO 0x01 -#define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02 - -// -// Power Management Timer frequency is fixed at 3.579545MHz -// -#define ACPI_TIMER_FREQUENCY 3579545 - -// -// Make sure structures match spec -// -#pragma pack(1) - -typedef struct { - UINT8 Desc; - UINT16 Len; - UINT8 ResType; - UINT8 GenFlag; - UINT8 SpecificFlag; - UINT64 AddrSpaceGranularity; - UINT64 AddrRangeMin; - UINT64 AddrRangeMax; - UINT64 AddrTranslationOffset; - UINT64 AddrLen; -} EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR; - -typedef struct { - UINT8 Desc; - UINT8 Checksum; -} EFI_ACPI_END_TAG_DESCRIPTOR; - -// -// General use definitions -// -#define EFI_ACPI_RESERVED_BYTE 0x00 -#define EFI_ACPI_RESERVED_WORD 0x0000 -#define EFI_ACPI_RESERVED_DWORD 0x00000000 -#define EFI_ACPI_RESERVED_QWORD 0x0000000000000000 - -// -// Resource Type Specific Flags -// Ref ACPI specification 6.4.3.5.5 -// -// Bit [0] : Write Status, _RW -// -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_WRITE (1 << 0) -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_READ_ONLY (0 << 0) -// -// Bit [2:1] : Memory Attributes, _MEM -// -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_NON_CACHEABLE (0 << 1) -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE (1 << 1) -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_WRITE_COMBINING (2 << 1) -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE (3 << 1) -// -// Bit [4:3] : Memory Attributes, _MTP -// -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_MEMORY (0 << 3) -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_RESERVED (1 << 3) -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_ACPI (2 << 3) -#define EFI_APCI_MEMORY_RESOURCE_SPECIFIC_FLAG_ADDRESS_RANGE_NVS (3 << 3) -// -// Bit [5] : Memory to I/O Translation, _TTP -// -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_TRANSLATION (1 << 5) -#define EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_TYPE_STATIC (0 << 5) - -#pragma pack() - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi1_0.h b/BaseTools/Source/C/Include/IndustryStandard/Acpi1_0.h deleted file mode 100644 index 62bd9f477e0b..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/Acpi1_0.h +++ /dev/null @@ -1,285 +0,0 @@ -/** @file - ACPI 1.0b definitions from the ACPI Specification, revision 1.0b - - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _ACPI_1_0_H_ -#define _ACPI_1_0_H_ - -#include "IndustryStandard/Acpi.h" - -// -// Ensure proper structure formats -// -#pragma pack(1) -// -// ACPI 1.0b table structures -// -// -// Root System Description Pointer Structure -// -typedef struct { - UINT64 Signature; - UINT8 Checksum; - UINT8 OemId[6]; - UINT8 Reserved; - UINT32 RsdtAddress; -} EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER; - -// -// Root System Description Table -// No definition needed as it is a common description table header followed by a -// variable number of UINT32 table pointers. -// -// -// RSDT Revision (as defined in ACPI 1.0b spec.) -// -#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Fixed ACPI Description Table Structure (FADT) -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 FirmwareCtrl; - UINT32 Dsdt; - UINT8 IntModel; - UINT8 Reserved1; - UINT16 SciInt; - UINT32 SmiCmd; - UINT8 AcpiEnable; - UINT8 AcpiDisable; - UINT8 S4BiosReq; - UINT8 Reserved2; - UINT32 Pm1aEvtBlk; - UINT32 Pm1bEvtBlk; - UINT32 Pm1aCntBlk; - UINT32 Pm1bCntBlk; - UINT32 Pm2CntBlk; - UINT32 PmTmrBlk; - UINT32 Gpe0Blk; - UINT32 Gpe1Blk; - UINT8 Pm1EvtLen; - UINT8 Pm1CntLen; - UINT8 Pm2CntLen; - UINT8 PmTmLen; - UINT8 Gpe0BlkLen; - UINT8 Gpe1BlkLen; - UINT8 Gpe1Base; - UINT8 Reserved3; - UINT16 PLvl2Lat; - UINT16 PLvl3Lat; - UINT16 FlushSize; - UINT16 FlushStride; - UINT8 DutyOffset; - UINT8 DutyWidth; - UINT8 DayAlrm; - UINT8 MonAlrm; - UINT8 Century; - UINT8 Reserved4; - UINT8 Reserved5; - UINT8 Reserved6; - UINT32 Flags; -} EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE; - -// -// FADT Version (as defined in ACPI 1.0b spec.) -// -#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Fixed ACPI Description Table Fixed Feature Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_1_0_WBINVD (1 << 0) -#define EFI_ACPI_1_0_WBINVD_FLUSH (1 << 1) -#define EFI_ACPI_1_0_PROC_C1 (1 << 2) -#define EFI_ACPI_1_0_P_LVL2_UP (1 << 3) -#define EFI_ACPI_1_0_PWR_BUTTON (1 << 4) -#define EFI_ACPI_1_0_SLP_BUTTON (1 << 5) -#define EFI_ACPI_1_0_FIX_RTC (1 << 6) -#define EFI_ACPI_1_0_RTC_S4 (1 << 7) -#define EFI_ACPI_1_0_TMR_VAL_EXT (1 << 8) -#define EFI_ACPI_1_0_DCK_CAP (1 << 9) - -#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x0 -// -// Firmware ACPI Control Structure -// -typedef struct { - UINT32 Signature; - UINT32 Length; - UINT32 HardwareSignature; - UINT32 FirmwareWakingVector; - UINT32 GlobalLock; - UINT32 Flags; - UINT8 Reserved[40]; -} EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; - -// -// Firmware Control Structure Feature Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_1_0_S4BIOS_F (1 << 0) - -// -// Multiple APIC Description Table header definition. The rest of the table -// must be defined in a platform specific manner. -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 LocalApicAddress; - UINT32 Flags; -} EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; - -// -// MADT Revision (as defined in ACPI 1.0b spec.) -// -#define EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Multiple APIC Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_1_0_PCAT_COMPAT (1 << 0) - -// -// Multiple APIC Description Table APIC structure types -// All other values between 0x09 an 0xFF are reserved and -// will be ignored by OSPM. -// -#define EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC 0x00 -#define EFI_ACPI_1_0_IO_APIC 0x01 -#define EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE 0x02 -#define EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03 -#define EFI_ACPI_1_0_LOCAL_APIC_NMI 0x04 - -// -// APIC Structure Definitions -// -// -// Processor Local APIC Structure Definition -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT8 ApicId; - UINT32 Flags; -} EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE; - -// -// Local APIC Flags. All other bits are reserved and must be 0. -// -#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED (1 << 0) - -// -// IO APIC Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 IoApicId; - UINT8 Reserved; - UINT32 IoApicAddress; - UINT32 SystemVectorBase; -} EFI_ACPI_1_0_IO_APIC_STRUCTURE; - -// -// Interrupt Source Override Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 Bus; - UINT8 Source; - UINT32 GlobalSystemInterruptVector; - UINT16 Flags; -} EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; - -// -// Non-Maskable Interrupt Source Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Flags; - UINT32 GlobalSystemInterruptVector; -} EFI_ACPI_1_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; - -// -// Local APIC NMI Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT16 Flags; - UINT8 LocalApicInti; -} EFI_ACPI_1_0_LOCAL_APIC_NMI_STRUCTURE; - -// -// Smart Battery Description Table (SBST) -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 WarningEnergyLevel; - UINT32 LowEnergyLevel; - UINT32 CriticalEnergyLevel; -} EFI_ACPI_1_0_SMART_BATTERY_DESCRIPTION_TABLE; - -// -// Known table signatures -// -// -// "RSD PTR " Root System Description Pointer -// -#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL - -// -// "APIC" Multiple APIC Description Table -// -#define EFI_ACPI_1_0_APIC_SIGNATURE 0x43495041 - -// -// "DSDT" Differentiated System Description Table -// -#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344 - -// -// "FACS" Firmware ACPI Control Structure -// -#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146 - -// -// "FACP" Fixed ACPI Description Table -// -#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146 - -// -// "PSDT" Persistent System Description Table -// -#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350 - -// -// "RSDT" Root System Description Table -// -#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352 - -// -// "SBST" Smart Battery Specification Table -// -#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253 - -// -// "SSDT" Secondary System Description Table -// -#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353 - -#pragma pack() - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h b/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h deleted file mode 100644 index c95c996c0781..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h +++ /dev/null @@ -1,520 +0,0 @@ -/** @file - ACPI 2.0 definitions from the ACPI Specification, revision 2.0 - - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _ACPI_2_0_H_ -#define _ACPI_2_0_H_ - -#include "IndustryStandard/Acpi.h" - -// -// Ensure proper structure formats -// -#pragma pack(1) -// -// ACPI Specification Revision -// -#define EFI_ACPI_2_0_REVISION 0x02 - -// -// BUGBUG: OEM values need to be moved somewhere else, probably read from data hub -// and produced by a platform specific driver. -// -// -// ACPI OEM ID -// -#define EFI_ACPI_2_0_OEM_ID "INTEL " -#define EFI_ACPI_2_0_OEM_TABLE_ID 0x5034303738543245 // "E2T8704P" -// -// ACPI OEM Revision -// -#define EFI_ACPI_2_0_OEM_REVISION 0x00000002 - -// -// ACPI table creator ID -// -#define EFI_ACPI_2_0_CREATOR_ID 0x5446534D // TBD "MSFT" -// -// ACPI table creator revision -// -#define EFI_ACPI_2_0_CREATOR_REVISION 0x01000013 // TBD -// -// ACPI 2.0 Generic Address Space definition -// -typedef struct { - UINT8 AddressSpaceId; - UINT8 RegisterBitWidth; - UINT8 RegisterBitOffset; - UINT8 Reserved; - UINT64 Address; -} EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE; - -// -// Generic Address Space Address IDs -// -#define EFI_ACPI_2_0_SYSTEM_MEMORY 0 -#define EFI_ACPI_2_0_SYSTEM_IO 1 -#define EFI_ACPI_2_0_PCI_CONFIGURATION_SPACE 2 -#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER 3 -#define EFI_ACPI_2_0_SMBUS 4 -#define EFI_ACPI_2_0_FUNCTIONAL_FIXED_HARDWARE 0x7F - -// -// ACPI 2.0 table structures -// -// -// Root System Description Pointer Structure -// -typedef struct { - UINT64 Signature; - UINT8 Checksum; - UINT8 OemId[6]; - UINT8 Revision; - UINT32 RsdtAddress; - UINT32 Length; - UINT64 XsdtAddress; - UINT8 ExtendedChecksum; - UINT8 Reserved[3]; -} EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER; - -// -// RSD_PTR Revision (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 - -// -// Common table header, this prefaces all ACPI tables, including FACS, but -// excluding the RSD PTR structure -// -typedef struct { - UINT32 Signature; - UINT32 Length; -} EFI_ACPI_2_0_COMMON_HEADER; - -// -// Root System Description Table -// No definition needed as it is a common description table header followed by a -// variable number of UINT32 table pointers. -// -// -// RSDT Revision (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Extended System Description Table -// No definition needed as it is a common description table header followed by a -// variable number of UINT64 table pointers. -// -// -// XSDT Revision (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Fixed ACPI Description Table Structure (FADT) -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 FirmwareCtrl; - UINT32 Dsdt; - UINT8 Reserved0; - UINT8 PreferredPmProfile; - UINT16 SciInt; - UINT32 SmiCmd; - UINT8 AcpiEnable; - UINT8 AcpiDisable; - UINT8 S4BiosReq; - UINT8 PstateCnt; - UINT32 Pm1aEvtBlk; - UINT32 Pm1bEvtBlk; - UINT32 Pm1aCntBlk; - UINT32 Pm1bCntBlk; - UINT32 Pm2CntBlk; - UINT32 PmTmrBlk; - UINT32 Gpe0Blk; - UINT32 Gpe1Blk; - UINT8 Pm1EvtLen; - UINT8 Pm1CntLen; - UINT8 Pm2CntLen; - UINT8 PmTmrLen; - UINT8 Gpe0BlkLen; - UINT8 Gpe1BlkLen; - UINT8 Gpe1Base; - UINT8 CstCnt; - UINT16 PLvl2Lat; - UINT16 PLvl3Lat; - UINT16 FlushSize; - UINT16 FlushStride; - UINT8 DutyOffset; - UINT8 DutyWidth; - UINT8 DayAlrm; - UINT8 MonAlrm; - UINT8 Century; - UINT16 IaPcBootArch; - UINT8 Reserved1; - UINT32 Flags; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE ResetReg; - UINT8 ResetValue; - UINT8 Reserved2[3]; - UINT64 XFirmwareCtrl; - UINT64 XDsdt; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; -} EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE; - -// -// FADT Version (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x03 - -// -// Fixed ACPI Description Table Boot Architecture Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_2_0_LEGACY_DEVICES (1 << 0) -#define EFI_ACPI_2_0_8042 (1 << 1) - -// -// Fixed ACPI Description Table Fixed Feature Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_2_0_WBINVD (1 << 0) -#define EFI_ACPI_2_0_WBINVD_FLUSH (1 << 1) -#define EFI_ACPI_2_0_PROC_C1 (1 << 2) -#define EFI_ACPI_2_0_P_LVL2_UP (1 << 3) -#define EFI_ACPI_2_0_PWR_BUTTON (1 << 4) -#define EFI_ACPI_2_0_SLP_BUTTON (1 << 5) -#define EFI_ACPI_2_0_FIX_RTC (1 << 6) -#define EFI_ACPI_2_0_RTC_S4 (1 << 7) -#define EFI_ACPI_2_0_TMR_VAL_EXT (1 << 8) -#define EFI_ACPI_2_0_DCK_CAP (1 << 9) -#define EFI_ACPI_2_0_RESET_REG_SUP (1 << 10) -#define EFI_ACPI_2_0_SEALED_CASE (1 << 11) -#define EFI_ACPI_2_0_HEADLESS (1 << 12) -#define EFI_ACPI_2_0_CPU_SW_SLP (1 << 13) - -// -// Firmware ACPI Control Structure -// -typedef struct { - UINT32 Signature; - UINT32 Length; - UINT32 HardwareSignature; - UINT32 FirmwareWakingVector; - UINT32 GlobalLock; - UINT32 Flags; - UINT64 XFirmwareWakingVector; - UINT8 Version; - UINT8 Reserved[31]; -} EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; - -// -// FACS Version (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01 - -// -// Firmware Control Structure Feature Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_2_0_S4BIOS_F (1 << 0) - -// -// Multiple APIC Description Table header definition. The rest of the table -// must be defined in a platform specific manner. -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 LocalApicAddress; - UINT32 Flags; -} EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; - -// -// MADT Revision (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Multiple APIC Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_2_0_PCAT_COMPAT (1 << 0) - -// -// Multiple APIC Description Table APIC structure types -// All other values between 0x09 an 0xFF are reserved and -// will be ignored by OSPM. -// -#define EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC 0x00 -#define EFI_ACPI_2_0_IO_APIC 0x01 -#define EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE 0x02 -#define EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03 -#define EFI_ACPI_2_0_LOCAL_APIC_NMI 0x04 -#define EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05 -#define EFI_ACPI_2_0_IO_SAPIC 0x06 -#define EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC 0x07 -#define EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES 0x08 - -// -// APIC Structure Definitions -// -// -// Processor Local APIC Structure Definition -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT8 ApicId; - UINT32 Flags; -} EFI_ACPI_2_0_PROCESSOR_LOCAL_APIC_STRUCTURE; - -// -// Local APIC Flags. All other bits are reserved and must be 0. -// -#define EFI_ACPI_2_0_LOCAL_APIC_ENABLED (1 << 0) - -// -// IO APIC Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 IoApicId; - UINT8 Reserved; - UINT32 IoApicAddress; - UINT32 GlobalSystemInterruptBase; -} EFI_ACPI_2_0_IO_APIC_STRUCTURE; - -// -// Interrupt Source Override Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 Bus; - UINT8 Source; - UINT32 GlobalSystemInterrupt; - UINT16 Flags; -} EFI_ACPI_2_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; - -// -// Non-Maskable Interrupt Source Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Flags; - UINT32 GlobalSystemInterrupt; -} EFI_ACPI_2_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; - -// -// Local APIC NMI Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT16 Flags; - UINT8 LocalApicLint; -} EFI_ACPI_2_0_LOCAL_APIC_NMI_STRUCTURE; - -// -// Local APIC Address Override Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Reserved; - UINT64 LocalApicAddress; -} EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE; - -// -// IO SAPIC Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 IoApicId; - UINT8 Reserved; - UINT32 GlobalSystemInterruptBase; - UINT64 IoSapicAddress; -} EFI_ACPI_2_0_IO_SAPIC_STRUCTURE; - -// -// Local SAPIC Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT8 LocalSapicId; - UINT8 LocalSapicEid; - UINT8 Reserved[3]; - UINT32 Flags; -} EFI_ACPI_2_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE; - -// -// Platform Interrupt Sources Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Flags; - UINT8 InterruptType; - UINT8 ProcessorId; - UINT8 ProcessorEid; - UINT8 IoSapicVector; - UINT32 GlobalSystemInterrupt; - UINT32 Reserved; -} EFI_ACPI_2_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE; - -// -// Smart Battery Description Table (SBST) -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 WarningEnergyLevel; - UINT32 LowEnergyLevel; - UINT32 CriticalEnergyLevel; -} EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE; - -// -// SBST Version (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Embedded Controller Boot Resources Table (ECDT) -// The table is followed by a null terminated ASCII string that contains -// a fully qualified reference to the name space object. -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcControl; - EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE EcData; - UINT32 Uid; - UINT8 GpeBit; -} EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE; - -// -// ECDT Version (as defined in ACPI 2.0 spec.) -// -#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01 - -// -// Known table signatures -// -// -// "RSD PTR " Root System Description Pointer -// -#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352 - -// -// "SPIC" Multiple SAPIC Description Table -// -// BUGBUG: Don't know where this came from except SR870BN4 uses it. -// #define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495053 -// -#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041 - -// -// "BOOT" MS Simple Boot Spec -// -#define EFI_ACPI_2_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE 0x544F4F42 - -// -// "DBGP" MS Bebug Port Spec -// -#define EFI_ACPI_2_0_DEBUG_PORT_TABLE_SIGNATURE 0x50474244 - -// -// "DSDT" Differentiated System Description Table -// -#define EFI_ACPI_2_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344 - -// -// "ECDT" Embedded Controller Boot Resources Table -// -#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x54444345 - -// -// "ETDT" Event Timer Description Table -// -#define EFI_ACPI_2_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE 0x54445445 - -// -// "FACS" Firmware ACPI Control Structure -// -#define EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146 - -// -// "FACP" Fixed ACPI Description Table -// -#define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146 - -// -// "APIC" Multiple APIC Description Table -// -#define EFI_ACPI_2_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041 - -// -// "PSDT" Persistent System Description Table -// -#define EFI_ACPI_2_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350 - -// -// "RSDT" Root System Description Table -// -#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352 - -// -// "SBST" Smart Battery Specification Table -// -#define EFI_ACPI_2_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253 - -// -// "SLIT" System Locality Information Table -// -#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE 0x54494C53 - -// -// "SPCR" Serial Port Console Redirection Table -// -#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE 0x52435053 - -// -// "SRAT" Static Resource Affinity Table -// -#define EFI_ACPI_2_0_STATIC_RESOURCE_AFFINITY_TABLE_SIGNATURE 0x54415253 - -// -// "SSDT" Secondary System Description Table -// -#define EFI_ACPI_2_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353 - -// -// "SPMI" Server Platform Management Interface Table -// -#define EFI_ACPI_2_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_SIGNATURE 0x494D5053 - -// -// "XSDT" Extended System Description Table -// -#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445358 - -#pragma pack() - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h b/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h deleted file mode 100644 index 6c6e52f6bf07..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h +++ /dev/null @@ -1,668 +0,0 @@ -/** @file - ACPI 3.0 definitions from the ACPI Specification Revision 3.0 September 2, 2004 - - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _ACPI_3_0_H_ -#define _ACPI_3_0_H_ - -#include "IndustryStandard/Acpi.h" - -// -// Ensure proper structure formats -// -#pragma pack(1) -// -// ACPI Specification Revision -// -#define EFI_ACPI_3_0_REVISION 0x03 // BUGBUG: Not in spec yet. -// -// BUGBUG: OEM values need to be moved somewhere else, probably read from data hub -// and produced by a platform specific driver. -// -// -// ACPI 3.0 Generic Address Space definition -// -typedef struct { - UINT8 AddressSpaceId; - UINT8 RegisterBitWidth; - UINT8 RegisterBitOffset; - UINT8 AccessSize; - UINT64 Address; -} EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE; - -// -// Generic Address Space Address IDs -// -#define EFI_ACPI_3_0_SYSTEM_MEMORY 0 -#define EFI_ACPI_3_0_SYSTEM_IO 1 -#define EFI_ACPI_3_0_PCI_CONFIGURATION_SPACE 2 -#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER 3 -#define EFI_ACPI_3_0_SMBUS 4 -#define EFI_ACPI_3_0_FUNCTIONAL_FIXED_HARDWARE 0x7F - -// -// Generic Address Space Access Sizes -// -#define EFI_ACPI_3_0_UNDEFINED 0 -#define EFI_ACPI_3_0_BYTE 1 -#define EFI_ACPI_3_0_WORD 2 -#define EFI_ACPI_3_0_DWORD 3 -#define EFI_ACPI_3_0_QWORD 4 - -// -// ACPI 3.0 table structures -// -// -// Root System Description Pointer Structure -// -typedef struct { - UINT64 Signature; - UINT8 Checksum; - UINT8 OemId[6]; - UINT8 Revision; - UINT32 RsdtAddress; - UINT32 Length; - UINT64 XsdtAddress; - UINT8 ExtendedChecksum; - UINT8 Reserved[3]; -} EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER; - -// -// RSD_PTR Revision (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_REVISION 0x02 // ACPISpec30 (Revision 3.0 September 2, 2004) says current value is 2 -// -// Common table header, this prefaces all ACPI tables, including FACS, but -// excluding the RSD PTR structure -// -typedef struct { - UINT32 Signature; - UINT32 Length; -} EFI_ACPI_3_0_COMMON_HEADER; - -// -// Root System Description Table -// No definition needed as it is a common description table header followed by a -// variable number of UINT32 table pointers. -// -// -// RSDT Revision (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Extended System Description Table -// No definition needed as it is a common description table header followed by a -// variable number of UINT64 table pointers. -// -// -// XSDT Revision (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Fixed ACPI Description Table Structure (FADT) -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 FirmwareCtrl; - UINT32 Dsdt; - UINT8 Reserved0; - UINT8 PreferredPmProfile; - UINT16 SciInt; - UINT32 SmiCmd; - UINT8 AcpiEnable; - UINT8 AcpiDisable; - UINT8 S4BiosReq; - UINT8 PstateCnt; - UINT32 Pm1aEvtBlk; - UINT32 Pm1bEvtBlk; - UINT32 Pm1aCntBlk; - UINT32 Pm1bCntBlk; - UINT32 Pm2CntBlk; - UINT32 PmTmrBlk; - UINT32 Gpe0Blk; - UINT32 Gpe1Blk; - UINT8 Pm1EvtLen; - UINT8 Pm1CntLen; - UINT8 Pm2CntLen; - UINT8 PmTmrLen; - UINT8 Gpe0BlkLen; - UINT8 Gpe1BlkLen; - UINT8 Gpe1Base; - UINT8 CstCnt; - UINT16 PLvl2Lat; - UINT16 PLvl3Lat; - UINT16 FlushSize; - UINT16 FlushStride; - UINT8 DutyOffset; - UINT8 DutyWidth; - UINT8 DayAlrm; - UINT8 MonAlrm; - UINT8 Century; - UINT16 IaPcBootArch; - UINT8 Reserved1; - UINT32 Flags; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ResetReg; - UINT8 ResetValue; - UINT8 Reserved2[3]; - UINT64 XFirmwareCtrl; - UINT64 XDsdt; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aEvtBlk; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bEvtBlk; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1aCntBlk; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm1bCntBlk; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPm2CntBlk; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XPmTmrBlk; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe0Blk; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE XGpe1Blk; -} EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE; - -// -// FADT Version (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION 0x04 - -// -// Fixed ACPI Description Table Preferred Power Management Profile -// -#define EFI_ACPI_3_0_PM_PROFILE_UNSPECIFIED 0 -#define EFI_ACPI_3_0_PM_PROFILE_DESKTOP 1 -#define EFI_ACPI_3_0_PM_PROFILE_MOBILE 2 -#define EFI_ACPI_3_0_PM_PROFILE_WORKSTATION 3 -#define EFI_ACPI_3_0_PM_PROFILE_ENTERPRISE_SERVER 4 -#define EFI_ACPI_3_0_PM_PROFILE_SOHO_SERVER 5 -#define EFI_ACPI_3_0_PM_PROFILE_APPLIANCE_PC 6 -#define EFI_ACPI_3_0_PM_PROFILE_PERFORMANCE_SERVER 7 - -// -// Fixed ACPI Description Table Boot Architecture Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_3_0_LEGACY_DEVICES (1 << 0) -#define EFI_ACPI_3_0_8042 (1 << 1) -#define EFI_ACPI_3_0_VGA_NOT_PRESENT (1 << 2) -#define EFI_ACPI_3_0_MSI_NOT_SUPPORTED (1 << 3) -// -// Fixed ACPI Description Table Fixed Feature Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_3_0_WBINVD (1 << 0) -#define EFI_ACPI_3_0_WBINVD_FLUSH (1 << 1) -#define EFI_ACPI_3_0_PROC_C1 (1 << 2) -#define EFI_ACPI_3_0_P_LVL2_UP (1 << 3) -#define EFI_ACPI_3_0_PWR_BUTTON (1 << 4) -#define EFI_ACPI_3_0_SLP_BUTTON (1 << 5) -#define EFI_ACPI_3_0_FIX_RTC (1 << 6) -#define EFI_ACPI_3_0_RTC_S4 (1 << 7) -#define EFI_ACPI_3_0_TMR_VAL_EXT (1 << 8) -#define EFI_ACPI_3_0_DCK_CAP (1 << 9) -#define EFI_ACPI_3_0_RESET_REG_SUP (1 << 10) -#define EFI_ACPI_3_0_SEALED_CASE (1 << 11) -#define EFI_ACPI_3_0_HEADLESS (1 << 12) -#define EFI_ACPI_3_0_CPU_SW_SLP (1 << 13) -#define EFI_ACPI_3_0_PCI_EXP_WAK (1 << 14) -#define EFI_ACPI_3_0_USE_PLATFORM_CLOCK (1 << 15) -#define EFI_ACPI_3_0_S4_RTC_STS_VALID (1 << 16) -#define EFI_ACPI_3_0_REMOTE_POWER_ON_CAPABLE (1 << 17) -#define EFI_ACPI_3_0_FORCE_APIC_CLUSTER_MODEL (1 << 18) -#define EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE (1 << 19) - -// -// Firmware ACPI Control Structure -// -typedef struct { - UINT32 Signature; - UINT32 Length; - UINT32 HardwareSignature; - UINT32 FirmwareWakingVector; - UINT32 GlobalLock; - UINT32 Flags; - UINT64 XFirmwareWakingVector; - UINT8 Version; - UINT8 Reserved[31]; -} EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE; - -// -// FACS Version (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION 0x01 - -// -// Firmware Control Structure Feature Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_3_0_S4BIOS_F (1 << 0) - -// -// Differentiated System Description Table, -// Secondary System Description Table -// and Persistent System Description Table, -// no definition needed as they are common description table header followed by a -// definition block. -// -#define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02 -#define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x02 - -// -// Multiple APIC Description Table header definition. The rest of the table -// must be defined in a platform specific manner. -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 LocalApicAddress; - UINT32 Flags; -} EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER; - -// -// MADT Revision (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION 0x02 - -// -// Multiple APIC Flags -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_3_0_PCAT_COMPAT (1 << 0) - -// -// Multiple APIC Description Table APIC structure types -// All other values between 0x09 an 0xFF are reserved and -// will be ignored by OSPM. -// -#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC 0x00 -#define EFI_ACPI_3_0_IO_APIC 0x01 -#define EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE 0x02 -#define EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE 0x03 -#define EFI_ACPI_3_0_LOCAL_APIC_NMI 0x04 -#define EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE 0x05 -#define EFI_ACPI_3_0_IO_SAPIC 0x06 -#define EFI_ACPI_3_0_LOCAL_SAPIC 0x07 -#define EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES 0x08 - -// -// APIC Structure Definitions -// -// -// Processor Local APIC Structure Definition -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT8 ApicId; - UINT32 Flags; -} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_STRUCTURE; - -// -// Local APIC Flags. All other bits are reserved and must be 0. -// -#define EFI_ACPI_3_0_LOCAL_APIC_ENABLED (1 << 0) - -// -// IO APIC Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 IoApicId; - UINT8 Reserved; - UINT32 IoApicAddress; - UINT32 GlobalSystemInterruptBase; -} EFI_ACPI_3_0_IO_APIC_STRUCTURE; - -// -// Interrupt Source Override Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 Bus; - UINT8 Source; - UINT32 GlobalSystemInterrupt; - UINT16 Flags; -} EFI_ACPI_3_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE; - -// -// Platform Interrupt Sources Structure Definition -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Flags; - UINT8 InterruptType; - UINT8 ProcessorId; - UINT8 ProcessorEid; - UINT8 IoSapicVector; - UINT32 GlobalSystemInterrupt; - UINT32 PlatformInterruptSourceFlags; - UINT8 CpeiProcessorOverride; - UINT8 Reserved[31]; -} EFI_ACPI_3_0_PLATFORM_INTERRUPT_APIC_STRUCTURE; - -// -// MPS INTI flags. -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_3_0_POLARITY (3 << 0) -#define EFI_ACPI_3_0_TRIGGER_MODE (3 << 2) - -// -// Non-Maskable Interrupt Source Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Flags; - UINT32 GlobalSystemInterrupt; -} EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE; - -// -// Local APIC NMI Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT16 Flags; - UINT8 LocalApicLint; -} EFI_ACPI_3_0_LOCAL_APIC_NMI_STRUCTURE; - -// -// Local APIC Address Override Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Reserved; - UINT64 LocalApicAddress; -} EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE; - -// -// IO SAPIC Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 IoApicId; - UINT8 Reserved; - UINT32 GlobalSystemInterruptBase; - UINT64 IoSapicAddress; -} EFI_ACPI_3_0_IO_SAPIC_STRUCTURE; - -// -// Local SAPIC Structure -// This struct followed by a null-terminated ASCII string - ACPI Processor UID String -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 AcpiProcessorId; - UINT8 LocalSapicId; - UINT8 LocalSapicEid; - UINT8 Reserved[3]; - UINT32 Flags; - UINT32 ACPIProcessorUIDValue; -} EFI_ACPI_3_0_PROCESSOR_LOCAL_SAPIC_STRUCTURE; - -// -// Platform Interrupt Sources Structure -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT16 Flags; - UINT8 InterruptType; - UINT8 ProcessorId; - UINT8 ProcessorEid; - UINT8 IoSapicVector; - UINT32 GlobalSystemInterrupt; - UINT32 PlatformInterruptSourceFlags; -} EFI_ACPI_3_0_PLATFORM_INTERRUPT_SOURCES_STRUCTURE; - -// -// Platform Interrupt Source Flags. -// All other bits are reserved and must be set to 0. -// -#define EFI_ACPI_3_0_CPEI_PROCESSOR_OVERRIDE (1 << 0) - -// -// Smart Battery Description Table (SBST) -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 WarningEnergyLevel; - UINT32 LowEnergyLevel; - UINT32 CriticalEnergyLevel; -} EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE; - -// -// SBST Version (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_SMART_BATTERY_DESCRIPTION_TABLE_REVISION 0x01 - -// -// Embedded Controller Boot Resources Table (ECDT) -// The table is followed by a null terminated ASCII string that contains -// a fully qualified reference to the name space object. -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcControl; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE EcData; - UINT32 Uid; - UINT8 GpeBit; -} EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE; - -// -// ECDT Version (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_REVISION 0x01 - -// -// System Resource Affinity Table (SRAT. The rest of the table -// must be defined in a platform specific manner. -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT32 Reserved1; // Must be set to 1 - UINT64 Reserved2; -} EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER; - -// -// SRAT Version (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_REVISION 0x02 - -// -// SRAT structure types. -// All other values between 0x02 an 0xFF are reserved and -// will be ignored by OSPM. -// -#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY 0x00 -#define EFI_ACPI_3_0_MEMORY_AFFINITY 0x01 - -// -// Processor Local APIC/SAPIC Affinity Structure Definition -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT8 ProximityDomain7To0; - UINT8 ApicId; - UINT32 Flags; - UINT8 LocalSapicEid; - UINT8 ProximityDomain31To8[3]; - UINT8 Reserved[4]; -} EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_AFFINITY_STRUCTURE; - -// -// Local APIC/SAPIC Flags. All other bits are reserved and must be 0. -// -#define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0) - -// -// Memory Affinity Structure Definition -// -typedef struct { - UINT8 Type; - UINT8 Length; - UINT32 ProximityDomain; - UINT16 Reserved1; - UINT32 AddressBaseLow; - UINT32 AddressBaseHigh; - UINT32 LengthLow; - UINT32 LengthHigh; - UINT32 Reserved2; - UINT32 Flags; - UINT64 Reserved3; -} EFI_ACPI_3_0_MEMORY_AFFINITY_STRUCTURE; - -// -// Memory Flags. All other bits are reserved and must be 0. -// -#define EFI_ACPI_3_0_MEMORY_ENABLED (1 << 0) -#define EFI_ACPI_3_0_MEMORY_HOT_PLUGGABLE (1 << 1) -#define EFI_ACPI_3_0_MEMORY_NONVOLATILE (1 << 2) - -// -// System Locality Distance Information Table (SLIT). -// The rest of the table is a matrix. -// -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT64 NumberOfSystemLocalities; -} EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_HEADER; - -// -// SLIT Version (as defined in ACPI 3.0 spec.) -// -#define EFI_ACPI_3_0_SYSTEM_LOCALITY_DISTANCE_INFORMATION_TABLE_REVISION 0x01 - -// -// Known table signatures -// -// -// "RSD PTR " Root System Description Pointer -// -#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL - -// -// "APIC" Multiple APIC Description Table -// -#define EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE 0x43495041 - -// -// "DSDT" Differentiated System Description Table -// -#define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344 - -// -// "ECDT" Embedded Controller Boot Resources Table -// -#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x54444345 - -// -// "FACP" Fixed ACPI Description Table -// -#define EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146 - -// -// "FACS" Firmware ACPI Control Structure -// -#define EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146 - -// -// "PSDT" Persistent System Description Table -// -#define EFI_ACPI_3_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350 - -// -// "RSDT" Root System Description Table -// -#define EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352 - -// -// "SBST" Smart Battery Specification Table -// -#define EFI_ACPI_3_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253 - -// -// "SLIT" System Locality Information Table -// -#define EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE 0x54494C53 - -// -// "SRAT" System Resource Affinity Table -// -#define EFI_ACPI_3_0_SYSTEM_RESOURCE_AFFINITY_TABLE_SIGNATURE 0x54415253 - -// -// "SSDT" Secondary System Description Table -// -#define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353 - -// -// "XSDT" Extended System Description Table -// -#define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445358 - -// -// "BOOT" MS Simple Boot Spec -// -#define EFI_ACPI_3_0_SIMPLE_BOOT_FLAG_TABLE_SIGNATURE 0x544F4F42 - -// -// "CPEP" Corrected Platform Error Polling Table -// See -// -#define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE 0x50455043 - -// -// "DBGP" MS Debug Port Spec -// -#define EFI_ACPI_3_0_DEBUG_PORT_TABLE_SIGNATURE 0x50474244 - -// -// "ETDT" Event Timer Description Table -// -#define EFI_ACPI_3_0_EVENT_TIMER_DESCRIPTION_TABLE_SIGNATURE 0x54445445 - -// -// "HPET" IA-PC High Precision Event Timer Table -// -#define EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE 0x54455048 - -// -// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table -// -#define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE 0x4746434D - -// -// "SPCR" Serial Port Console Redirection Table -// -#define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE 0x52435053 - -// -// "SPMI" Server Platform Management Interface Table -// -#define EFI_ACPI_3_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_TABLE_SIGNATURE 0x494D5053 - -// -// "TCPA" Trusted Computing Platform Alliance Capabilities Table -// -#define EFI_ACPI_3_0_TRUSTED_COMPUTING_PLATFORM_ALLIANCE_CAPABILITIES_TABLE_SIGNATURE 0x41504354 - -// -// "WDRT" Watchdog Resource Table -// -#define EFI_ACPI_3_0_WATCHDOG_RESOURCE_TABLE_SIGNATURE 0x54524457 - -#pragma pack() - -#endif diff --git a/BaseTools/Source/C/Include/Protocol/DevicePath.h b/BaseTools/Source/C/Include/Protocol/DevicePath.h index 27f813579761..bcad2cfead4b 100644 --- a/BaseTools/Source/C/Include/Protocol/DevicePath.h +++ b/BaseTools/Source/C/Include/Protocol/DevicePath.h @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define __EFI_DEVICE_PATH_H__ #include -#include +#include #include /// diff --git a/BaseTools/Source/C/GenFw/GenFw.c b/BaseTools/Source/C/GenFw/GenFw.c index 80ee73a80399..0da25fd05541 100644 --- a/BaseTools/Source/C/GenFw/GenFw.c +++ b/BaseTools/Source/C/GenFw/GenFw.c @@ -26,9 +26,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Acpi Table definition // #include -#include -#include -#include +#include +#include +#include #include #include "CommonLib.h" @@ -368,7 +368,7 @@ Routine Description: if (Facs->Version > EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) { break; } - if ((Facs->Version != EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && + if ((Facs->Version != 0 /* field is reserved in ACPI 1.0 */) && (Facs->Version != EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION) && (Facs->Version != EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSION)){ Error (NULL, 0, 3000, "Invalid", "FACS version check failed."); diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile index 8a06d0da6fa5..d369908a0948 100644 --- a/BaseTools/Source/C/Makefiles/header.makefile +++ b/BaseTools/Source/C/Makefiles/header.makefile @@ -84,6 +84,7 @@ $(error Bad HOST_ARCH) endif INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) +INCLUDE += -I $(EDK2_PATH)/MdePkg/Include CPPFLAGS = $(INCLUDE) # keep EXTRA_OPTFLAGS last diff --git a/BaseTools/Source/C/Makefiles/ms.common b/BaseTools/Source/C/Makefiles/ms.common index 985d9498ccb8..fe7a59c28070 100644 --- a/BaseTools/Source/C/Makefiles/ms.common +++ b/BaseTools/Source/C/Makefiles/ms.common @@ -64,6 +64,7 @@ LD = link.exe LINKER = $(LD) INC = $(INC) -I . -I $(SOURCE_PATH)\Include -I $(ARCH_INCLUDE) -I $(SOURCE_PATH)\Common +INC = $(INC) -I $(EDK2_PATH)\MdePkg\Include CFLAGS = $(CFLAGS) /nologo /Z7 /c /O2 /MT /W4 /WX /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE CPPFLAGS = $(CPPFLAGS) /EHsc /nologo /Z7 /c /O2 /MT /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE -- 2.40.0