From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101659+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101659+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570268; cv=none; d=zohomail.com; s=zohoarc; b=kgvcOZr14rjxrLy/4/RkYwtAk69CdNxz7C0YVxM+4J0P5LiFX7SkavPmoI4dybJNquqOBLFhQExE8GR84dv7ZBteO292wOPlol4Te8qfBQ+Wglbfx5z3s+RBX4mUiPAJgNZVOOjT+/dazoO5997TTFuMcWeoNZuz5Im1OIa1+fo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570268; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=KObOQbo93c+Na/3QizU031p9AvGppsHLcUQlMhaA/+w=; b=j7VDKooLDh2hTYorhHCzMudBnSonwfG2Z4Gp6gbCbQjzxISdWjalKaVvScJ1M5XuUkVnFiYUSE/SdoyYAH2gCfy+G3duaNuTW2zjJg56NHYgpjqB0DKgctIRkZKfhA9ipV6pxF+2L4dkCbEjxVh8qhtrQQtWVREu/sEfcRkh/Es= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101659+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1679570268068865.1355034221525; Thu, 23 Mar 2023 04:17:48 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id CmVxYY1788612xgLvDeB2i4h; Thu, 23 Mar 2023 04:17:47 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web10.69890.1679570266694085235 for ; Thu, 23 Mar 2023 04:17:46 -0700 X-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-519-FqG2PA5aMN6FwCJN1Jvesw-1; Thu, 23 Mar 2023 07:17:41 -0400 X-MC-Unique: FqG2PA5aMN6FwCJN1Jvesw-1 X-Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 245158028AD; Thu, 23 Mar 2023 11:17:40 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BD3842166B29; Thu, 23 Mar 2023 11:17:35 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 9FA2418000AA; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 1/8] BaseTools: remove WinNtInclude.h Date: Thu, 23 Mar 2023 12:17:26 +0100 Message-Id: <20230323111733.690211-2-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: VE4ZFy0mU7a96fUkbFcpRmiOx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570267; bh=sYsYjQQ1SsMogcAu8aH4Y5TFKXE7PXk1Djwx97ZD1jg=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=shJZTGug3dRO1O0ReOM6XHsjvq9gH/F1bU23V7jif4NNtfLSHajoHfv+ZCLJWN2ekNO AJpeY6Wa6Zbf5DA2ofE0H77uc2i7UU6Chp8NR8vOFz1fwz+PP7suJILnWRKZ+1GyraJh0 poRknVF1oGQY71Iln1YPJ8oCcJZECTBP2NA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570269429100007 Content-Type: text/plain; charset="utf-8"; x-default="true" Appears to be a relic for ancient windows / compiler versions, windows builds in CI work just fine without it. Signed-off-by: Gerd Hoffmann --- BaseTools/Source/C/Common/WinNtInclude.h | 66 --------------------- BaseTools/Source/C/GenFv/GenFvInternalLib.c | 1 - BaseTools/Source/C/GenFw/Elf32Convert.c | 2 - BaseTools/Source/C/GenFw/Elf64Convert.c | 2 - BaseTools/Source/C/GenFw/ElfConvert.c | 2 - BaseTools/Source/C/GenFw/GenFw.c | 2 - 6 files changed, 75 deletions(-) delete mode 100644 BaseTools/Source/C/Common/WinNtInclude.h diff --git a/BaseTools/Source/C/Common/WinNtInclude.h b/BaseTools/Source/C/= Common/WinNtInclude.h deleted file mode 100644 index 181e6ac33370..000000000000 --- a/BaseTools/Source/C/Common/WinNtInclude.h +++ /dev/null @@ -1,66 +0,0 @@ -/** @file -Include file for the WinNt Library - -Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
-SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef __WIN_NT_INCLUDE_H__ -#define __WIN_NT_INCLUDE_H__ - -#define GUID _WINNT_DUP_GUID_____ -#define _LIST_ENTRY _WINNT_DUP_LIST_ENTRY_FORWARD -#define LIST_ENTRY _WINNT_DUP_LIST_ENTRY - -#if (_MSC_VER < 1800) -#define InterlockedIncrement _WINNT_DUP_InterlockedIncrement -#define InterlockedDecrement _WINNT_DUP_InterlockedDecrement -#define InterlockedCompareExchange64 _WINNT_DUP_InterlockedCompareExchange= 64 -#endif - -#undef UNALIGNED -#undef CONST -#undef VOID - -#ifndef __GNUC__ -#include "windows.h" - -// -// Win32 include files do not compile clean with /W4, so we use the warning -// pragma to suppress the warnings for Win32 only. This way our code can s= till -// compile at /W4 (highest warning level) with /WX (warnings cause build -// errors). -// -#pragma warning(disable : 4115) -#pragma warning(disable : 4201) -#pragma warning(disable : 4214) -#pragma warning(disable : 4028) -#pragma warning(disable : 4133) - -// -// Set the warnings back on as the EFI code must be /W4. -// -#pragma warning(default : 4115) -#pragma warning(default : 4201) -#pragma warning(default : 4214) - -#endif - -#undef GUID -#undef _LIST_ENTRY -#undef LIST_ENTRY -#undef InterlockedIncrement -#undef InterlockedDecrement -#undef InterlockedCompareExchange64 -#undef InterlockedCompareExchangePointer - -#define VOID void - -// -// Prevent collisions with Windows API name macros that deal with Unicode/= Not issues -// -#undef LoadImage -#undef CreateEvent - -#endif diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source= /C/GenFv/GenFvInternalLib.c index 2df7182f8b52..c8d5cac8e26e 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c @@ -25,7 +25,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 #include =20 -#include "WinNtInclude.h" #include "GenFvInternalLib.h" #include "FvLib.h" #include "PeCoffLib.h" diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/G= enFw/Elf32Convert.c index 87d7f133f132..e9fb3593a91b 100644 --- a/BaseTools/Source/C/GenFw/Elf32Convert.c +++ b/BaseTools/Source/C/GenFw/Elf32Convert.c @@ -9,8 +9,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ =20 -#include "WinNtInclude.h" - #ifndef __GNUC__ #include #include diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/G= enFw/Elf64Convert.c index 8b50774beb1e..2078ff42002f 100644 --- a/BaseTools/Source/C/GenFw/Elf64Convert.c +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c @@ -10,8 +10,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ =20 -#include "WinNtInclude.h" - #ifndef __GNUC__ #include #include diff --git a/BaseTools/Source/C/GenFw/ElfConvert.c b/BaseTools/Source/C/Gen= Fw/ElfConvert.c index be98544056ec..3205f61494b6 100644 --- a/BaseTools/Source/C/GenFw/ElfConvert.c +++ b/BaseTools/Source/C/GenFw/ElfConvert.c @@ -7,8 +7,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ =20 -#include "WinNtInclude.h" - #ifndef __GNUC__ #include #include diff --git a/BaseTools/Source/C/GenFw/GenFw.c b/BaseTools/Source/C/GenFw/Ge= nFw.c index 6f61f16788cd..3f79732a9160 100644 --- a/BaseTools/Source/C/GenFw/GenFw.c +++ b/BaseTools/Source/C/GenFw/GenFw.c @@ -6,8 +6,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ =20 -#include "WinNtInclude.h" - #ifndef __GNUC__ #include #include --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101659): https://edk2.groups.io/g/devel/message/101659 Mute This Topic: https://groups.io/mt/97798529/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101658+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101658+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570267; cv=none; d=zohomail.com; s=zohoarc; b=M5Ui4GqR4Rp7ExvjJbcWv7NXDg1BcLUbQL+BexWC+XcEQyCA2n/52TXR/OX6b8Ff6fyxczHnFVgu6ItTI3Ob6v0KI9RT4cbHEK3ih5Sxz2zVo2DX54FP7wV1nVCWB12TWREsulIdfN1Y2EJ5QnLrwaAtFUAEYtmhUDPaN2Umn4c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570267; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=PPAo3psxR2ERCtwWsWUuwHWUR5mkMWv4RLrpfwAnyCU=; b=UJKJB+ZN3BA0Sm8H/sOd69vdFppL0Pqe09/Wo2gGExAS4R53U2zUfqrdQEEUlZj8YP9T6m8UnDDBGrswsQM0bF7hwacSWIPzYO4zuSzsFInBpcQPFpYMw/3LzPQrOQKSnBaK0prqXD0IlGbxRbukuA3a/nETqWgSDeR/VuXXObA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101658+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1679570267671234.29881744230784; Thu, 23 Mar 2023 04:17:47 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id EzU0YY1788612xybM2ed2nhI; Thu, 23 Mar 2023 04:17:47 -0700 X-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.web11.69544.1679570266597016412 for ; Thu, 23 Mar 2023 04:17:46 -0700 X-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-404-8t3U2RVlMCS277e1LGwEkA-1; Thu, 23 Mar 2023 07:17:42 -0400 X-MC-Unique: 8t3U2RVlMCS277e1LGwEkA-1 X-Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E3C9E101A531; Thu, 23 Mar 2023 11:17:41 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 51B2140C6E67; Thu, 23 Mar 2023 11:17:41 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id A3B7918003A8; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 2/8] BaseTools: remove duplicate includes: /ProcessorBind.h Date: Thu, 23 Mar 2023 12:17:27 +0100 Message-Id: <20230323111733.690211-3-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: 25QaTLMUoMjqo3VC5u254ftgx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570267; bh=m6+eAvfLBVX5D3VSdOFEvcTefQd3C2vwqrbHI6yccEg=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=k4ACCMEYGz6ZYZn2dpK5/Xzi8xBtGwf4lkYUnRZxEzeBhpQx5FhO5a7bObsSzoqQEUC 34z/i1U+YtlhbS+zYZIJcRV3zQPv5yRFOfOqWSN2G6IIMTj8E+WVGsfAxRViD1Wcg2DeI JwSiJh7y2Ow3JflmhWrJ9P2GDXr5RygVv3E= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570269438100009 Content-Type: text/plain; charset="utf-8"; x-default="true" Use the MdePkg version instead of maintaining a copy in BaseTools. Signed-off-by: Gerd Hoffmann Reviewed-by: Chao Li --- .../Source/C/Include/AArch64/ProcessorBind.h | 148 -------------- .../Source/C/Include/Arm/ProcessorBind.h | 147 -------------- .../Source/C/Include/Ia32/ProcessorBind.h | 155 --------------- .../C/Include/LoongArch64/ProcessorBind.h | 80 -------- .../Source/C/Include/RiscV64/ProcessorBind.h | 85 -------- .../Source/C/Include/X64/ProcessorBind.h | 183 ------------------ BaseTools/Source/C/Common/Decompress.c | 1 + BaseTools/Source/C/Makefiles/header.makefile | 14 +- BaseTools/Source/C/Makefiles/ms.common | 12 +- 9 files changed, 19 insertions(+), 806 deletions(-) delete mode 100644 BaseTools/Source/C/Include/AArch64/ProcessorBind.h delete mode 100644 BaseTools/Source/C/Include/Arm/ProcessorBind.h delete mode 100644 BaseTools/Source/C/Include/Ia32/ProcessorBind.h delete mode 100644 BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h delete mode 100644 BaseTools/Source/C/Include/RiscV64/ProcessorBind.h delete mode 100644 BaseTools/Source/C/Include/X64/ProcessorBind.h diff --git a/BaseTools/Source/C/Include/AArch64/ProcessorBind.h b/BaseTools= /Source/C/Include/AArch64/ProcessorBind.h deleted file mode 100644 index dfa725b2e363..000000000000 --- a/BaseTools/Source/C/Include/AArch64/ProcessorBind.h +++ /dev/null @@ -1,148 +0,0 @@ -/** @file - Processor or Compiler specific defines and types for AArch64. - - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
- Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
- Portions copyright (c) 2013, ARM Ltd. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef __PROCESSOR_BIND_H__ -#define __PROCESSOR_BIND_H__ - -/// -/// Define the processor type so other code can make processor based choic= es -/// -#define MDE_CPU_AARCH64 - -// -// Make sure we are using the correct packing rules per EFI specification -// -#ifndef __GNUC__ -#pragma pack() -#endif - -#if _MSC_EXTENSIONS - // - // use Microsoft* C compiler dependent integer width types - // - typedef unsigned __int64 UINT64; - typedef __int64 INT64; - typedef unsigned __int32 UINT32; - typedef __int32 INT32; - typedef unsigned short UINT16; - typedef unsigned short CHAR16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef signed char INT8; -#else - // - // Use ANSI C 2000 stdint.h integer width declarations - // - #include - typedef uint8_t BOOLEAN; - typedef int8_t INT8; - typedef uint8_t UINT8; - typedef int16_t INT16; - typedef uint16_t UINT16; - typedef int32_t INT32; - typedef uint32_t UINT32; - typedef int64_t INT64; - typedef uint64_t UINT64; - typedef char CHAR8; - typedef uint16_t CHAR16; - -#endif - -/// -/// Unsigned value of native width. (4 bytes on supported 32-bit processo= r instructions, -/// 8 bytes on supported 64-bit processor instructions) -/// -typedef UINT64 UINTN; - -/// -/// Signed value of native width. (4 bytes on supported 32-bit processor = instructions, -/// 8 bytes on supported 64-bit processor instructions) -/// -typedef INT64 INTN; - -// -// Processor specific defines -// - -/// -/// A value of native width with the highest bit set. -/// -#define MAX_BIT 0x8000000000000000 - -/// -/// A value of native width with the two highest bits set. -/// -#define MAX_2_BITS 0xC000000000000000 - -/// -/// The stack alignment required for AARCH64 -/// -#define CPU_STACK_ALIGNMENT 16 - -// -// Modifier to ensure that all protocol member functions and EFI intrinsics -// use the correct C calling convention. All protocol member functions and -// EFI intrinsics are required to modify their member functions with EFIAP= I. -// -#define EFIAPI - -#if defined(__GNUC__) - /// - /// For GNU assembly code, .global or .globl can declare global symbols. - /// Define this macro to unify the usage. - /// - #define ASM_GLOBAL .globl - - #if !defined(__APPLE__) - /// - /// ARM EABI defines that the linker should not manipulate call reloca= tions - /// (do bl/blx conversion) unless the target symbol has function type. - /// CodeSourcery 2010.09 started requiring the .type to function prope= rly - /// - #define INTERWORK_FUNC(func__) .type ASM_PFX(func__), %function - - #define GCC_ASM_EXPORT(func__) \ - .global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\ - .type ASM_PFX(func__), %function - - #define GCC_ASM_IMPORT(func__) \ - .extern _CONCATENATE (__USER_LABEL_PREFIX__, func__) - - #else - // - // .type not supported by Apple Xcode tools - // - #define INTERWORK_FUNC(func__) - - #define GCC_ASM_EXPORT(func__) \ - .globl _CONCATENATE (__USER_LABEL_PREFIX__, func__) \ - - #define GCC_ASM_IMPORT(name) - - #endif -#endif - -/** - Return the pointer to the first instruction of a function given a functi= on pointer. - On ARM CPU architectures, these two pointer values are the same, - so the implementation of this macro is very simple. - - @param FunctionPointer A pointer to a function. - - @return The pointer to the first instruction of a function given a funct= ion pointer. - -**/ -#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPoin= ter) - -#endif - diff --git a/BaseTools/Source/C/Include/Arm/ProcessorBind.h b/BaseTools/Sou= rce/C/Include/Arm/ProcessorBind.h deleted file mode 100644 index 8fe4d5f1626a..000000000000 --- a/BaseTools/Source/C/Include/Arm/ProcessorBind.h +++ /dev/null @@ -1,147 +0,0 @@ -/** @file - Processor or Compiler specific defines and types for ARM. - - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
- Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef __PROCESSOR_BIND_H__ -#define __PROCESSOR_BIND_H__ - -/// -/// Define the processor type so other code can make processor based choic= es -/// -#define MDE_CPU_ARM - -// -// Make sure we are using the correct packing rules per EFI specification -// -#ifndef __GNUC__ -#pragma pack() -#endif - -#if _MSC_EXTENSIONS - // - // use Microsoft* C compiler dependent integer width types - // - typedef unsigned __int64 UINT64; - typedef __int64 INT64; - typedef unsigned __int32 UINT32; - typedef __int32 INT32; - typedef unsigned short UINT16; - typedef unsigned short CHAR16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef signed char INT8; -#else - // - // Assume standard ARM alignment. - // - typedef unsigned long long UINT64; - typedef long long INT64; - typedef unsigned int UINT32; - typedef int INT32; - typedef unsigned short UINT16; - typedef unsigned short CHAR16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef signed char INT8; - - #define UINT8_MAX 0xff -#endif - -/// -/// Unsigned value of native width. (4 bytes on supported 32-bit processo= r instructions, -/// 8 bytes on supported 64-bit processor instructions) -/// -typedef UINT32 UINTN; - -/// -/// Signed value of native width. (4 bytes on supported 32-bit processor = instructions, -/// 8 bytes on supported 64-bit processor instructions) -/// -typedef INT32 INTN; - -// -// Processor specific defines -// - -/// -/// A value of native width with the highest bit set. -/// -#define MAX_BIT 0x80000000 - -/// -/// A value of native width with the two highest bits set. -/// -#define MAX_2_BITS 0xC0000000 - -/// -/// The stack alignment required for ARM -/// -#define CPU_STACK_ALIGNMENT sizeof(UINT64) - -// -// Modifier to ensure that all protocol member functions and EFI intrinsics -// use the correct C calling convention. All protocol member functions and -// EFI intrinsics are required to modify their member functions with EFIAP= I. -// -#define EFIAPI - -#if defined(__GNUC__) - /// - /// For GNU assembly code, .global or .globl can declare global symbols. - /// Define this macro to unify the usage. - /// - #define ASM_GLOBAL .globl - - #if !defined(__APPLE__) - /// - /// ARM EABI defines that the linker should not manipulate call reloca= tions - /// (do bl/blx conversion) unless the target symbol has function type. - /// CodeSourcery 2010.09 started requiring the .type to function prope= rly - /// - #define INTERWORK_FUNC(func__) .type ASM_PFX(func__), %function - - #define GCC_ASM_EXPORT(func__) \ - .global _CONCATENATE (__USER_LABEL_PREFIX__, func__) ;\ - .type ASM_PFX(func__), %function - - #define GCC_ASM_IMPORT(func__) \ - .extern _CONCATENATE (__USER_LABEL_PREFIX__, func__) - - #else - // - // .type not supported by Apple Xcode tools - // - #define INTERWORK_FUNC(func__) - - #define GCC_ASM_EXPORT(func__) \ - .globl _CONCATENATE (__USER_LABEL_PREFIX__, func__) \ - - #define GCC_ASM_IMPORT(name) - - #endif -#endif - -/** - Return the pointer to the first instruction of a function given a functi= on pointer. - On ARM CPU architectures, these two pointer values are the same, - so the implementation of this macro is very simple. - - @param FunctionPointer A pointer to a function. - - @return The pointer to the first instruction of a function given a funct= ion pointer. - -**/ -#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPoin= ter) - -#endif - - diff --git a/BaseTools/Source/C/Include/Ia32/ProcessorBind.h b/BaseTools/So= urce/C/Include/Ia32/ProcessorBind.h deleted file mode 100644 index d1b77ad04a8b..000000000000 --- a/BaseTools/Source/C/Include/Ia32/ProcessorBind.h +++ /dev/null @@ -1,155 +0,0 @@ -/** @file - Processor or Compiler specific defines and types for x64. - - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef __PROCESSOR_BIND_H__ -#define __PROCESSOR_BIND_H__ - -// -// Define the processor type so other code can make processor based choices -// -#define MDE_CPU_IA32 - -// -// Make sure we are useing the correct packing rules per EFI specification -// -#ifndef __GNUC__ -#pragma pack() -#endif - -#if _MSC_EXTENSIONS - -// -// Disable warning that make it impossible to compile at /W4 -// This only works for Microsoft* tools -// - -// -// Disabling bitfield type checking warnings. -// -#pragma warning ( disable : 4214 ) - -// -// Disabling the unreferenced formal parameter warnings. -// -#pragma warning ( disable : 4100 ) - -// -// Disable slightly different base types warning as CHAR8 * can not be set -// to a constant string. -// -#pragma warning ( disable : 4057 ) - -// -// ASSERT(FALSE) or while (TRUE) are legal constructs so suppress this war= ning -// -#pragma warning ( disable : 4127 ) - - -#endif - - -#if !defined(__GNUC__) && (__STDC_VERSION__ < 199901L) - // - // No ANSI C 2000 stdint.h integer width declarations, so define equival= ents - // - - #if _MSC_EXTENSIONS - - // - // use Microsoft* C compiler dependent integer width types - // - typedef unsigned __int64 UINT64; - typedef __int64 INT64; - typedef unsigned __int32 UINT32; - typedef __int32 INT32; - typedef unsigned short UINT16; - typedef unsigned short CHAR16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef char INT8; - #else - - // - // Assume standard IA-32 alignment. - // BugBug: Need to check portability of long long - // - typedef unsigned long long UINT64; - typedef long long INT64; - typedef unsigned int UINT32; - typedef int INT32; - typedef unsigned short UINT16; - typedef unsigned short CHAR16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef char INT8; - #endif - - #define UINT8_MAX 0xff - -#else - // - // Use ANSI C 2000 stdint.h integer width declarations - // - #include "stdint.h" - typedef uint8_t BOOLEAN; - typedef int8_t INT8; - typedef uint8_t UINT8; - typedef int16_t INT16; - typedef uint16_t UINT16; - typedef int32_t INT32; - typedef uint32_t UINT32; - typedef int64_t INT64; - typedef uint64_t UINT64; - typedef char CHAR8; - typedef uint16_t CHAR16; - -#endif - -typedef UINT32 UINTN; -typedef INT32 INTN; - - -// -// Processor specific defines -// -#define MAX_BIT 0x80000000 -#define MAX_2_BITS 0xC0000000 - -// -// Modifier to ensure that all protocol member functions and EFI intrinsics -// use the correct C calling convention. All protocol member functions and -// EFI intrinsics are required to modify their member functions with EFIAP= I. -// -#if _MSC_EXTENSIONS - // - // Microsoft* compiler requires _EFIAPI usage, __cdecl is Microsoft* spe= cific C. - // - #define EFIAPI __cdecl -#endif - -#if __GNUC__ - #define EFIAPI __attribute__((cdecl)) -#endif - -// -// The Microsoft* C compiler can removed references to unreferenced data i= tems -// if the /OPT:REF linker option is used. We defined a macro as this is a -// a non standard extension -// -#if _MSC_EXTENSIONS - #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany) -#else - #define GLOBAL_REMOVE_IF_UNREFERENCED -#endif - -#endif diff --git a/BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h b/BaseT= ools/Source/C/Include/LoongArch64/ProcessorBind.h deleted file mode 100644 index 0267859deece..000000000000 --- a/BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h +++ /dev/null @@ -1,80 +0,0 @@ -/** @file - Processor or Compiler specific defines and types for LoongArch - - Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ -#ifndef PROCESSOR_BIND_H_ -#define PROCESSOR_BIND_H_ - -// -// Define the processor type so other code can make processor based choices -// -#define MDE_CPU_LOONGARCH64 - -#define EFIAPI - -// -// Make sure we are using the correct packing rules per EFI specification -// -#ifndef __GNUC__ -#pragma pack() -#endif - -// -// Use ANSI C 2000 stdint.h integer width declarations -// -#include -typedef uint8_t BOOLEAN; -typedef int8_t INT8; -typedef uint8_t UINT8; -typedef int16_t INT16; -typedef uint16_t UINT16; -typedef int32_t INT32; -typedef uint32_t UINT32; -typedef int64_t INT64; -typedef uint64_t UINT64; -typedef char CHAR8; -typedef uint16_t CHAR16; - -// -// Unsigned value of native width. (4 bytes on supported 32-bit processor= instructions, -// 8 bytes on supported 64-bit processor instructions) -// -typedef UINT64 UINTN; - -// -// Signed value of native width. (4 bytes on supported 32-bit processor i= nstructions, -// 8 bytes on supported 64-bit processor instructions) -// -typedef INT64 INTN; - -// -// Processor specific defines -// - -// -// A value of native width with the highest bit set. -// -#define MAX_BIT 0x8000000000000000ULL -// -// A value of native width with the two highest bits set. -// -#define MAX_2_BITS 0xC000000000000000ULL - -#if defined (__GNUC__) -// -// For GNU assembly code, .global or .globl can declare global symbols. -// Define this macro to unify the usage. -// -#define ASM_GLOBAL .globl -#endif - -// -// The stack alignment required for LoongArch -// -#define CPU_STACK_ALIGNMENT 16 - -#endif diff --git a/BaseTools/Source/C/Include/RiscV64/ProcessorBind.h b/BaseTools= /Source/C/Include/RiscV64/ProcessorBind.h deleted file mode 100644 index 1612d6ea7f16..000000000000 --- a/BaseTools/Source/C/Include/RiscV64/ProcessorBind.h +++ /dev/null @@ -1,85 +0,0 @@ -/** @file - Processor or Compiler specific defines and types for RISC-V. - - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef __PROCESSOR_BIND_H__ -#define __PROCESSOR_BIND_H__ - -// -// Define the processor type so other code can make processor based choices -// -#define MDE_CPU_RISCV64 - -// -// Make sure we are using the correct packing rules per EFI specification -// -#ifndef __GNUC__ -#pragma pack() -#endif - -// -// Use ANSI C 2000 stdint.h integer width declarations -// -#include -typedef uint8_t BOOLEAN; -typedef int8_t INT8; -typedef uint8_t UINT8; -typedef int16_t INT16; -typedef uint16_t UINT16; -typedef int32_t INT32; -typedef uint32_t UINT32; -typedef int64_t INT64; -typedef uint64_t UINT64; -typedef char CHAR8; -typedef uint16_t CHAR16; - -// -// Unsigned value of native width. (4 bytes on supported 32-bit processor= instructions, -// 8 bytes on supported 64-bit processor instructions) -// -typedef UINT64 UINTN; - -// -// Signed value of native width. (4 bytes on supported 32-bit processor i= nstructions, -// 8 bytes on supported 64-bit processor instructions) -// -typedef INT64 INTN; - -// -// Processor specific defines -// - -// -// A value of native width with the highest bit set. -// -#define MAX_BIT 0x8000000000000000 - -// -// A value of native width with the two highest bits set. -// -#define MAX_2_BITS 0xC000000000000000 - -// -// The stack alignment required for RISC-V -// -#define CPU_STACK_ALIGNMENT 16 - -// -// Modifier to ensure that all protocol member functions and EFI intrinsics -// use the correct C calling convention. All protocol member functions and -// EFI intrinsics are required to modify their member functions with EFIAP= I. -// -#define EFIAPI - -#if defined(__GNUC__) - // - // For GNU assembly code, .global or .globl can declare global symbols. - // Define this macro to unify the usage. - // - #define ASM_GLOBAL .globl -#endif - -#endif diff --git a/BaseTools/Source/C/Include/X64/ProcessorBind.h b/BaseTools/Sou= rce/C/Include/X64/ProcessorBind.h deleted file mode 100644 index fce179fe7e3a..000000000000 --- a/BaseTools/Source/C/Include/X64/ProcessorBind.h +++ /dev/null @@ -1,183 +0,0 @@ -/** @file - Processor or Compiler specific defines and types x64 (Intel(r) EM64T, AM= D64). - - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef __PROCESSOR_BIND_H__ -#define __PROCESSOR_BIND_H__ - -// -// Define the processor type so other code can make processor based choices -// -#define MDE_CPU_X64 - - -// -// Make sure we are useing the correct packing rules per EFI specification -// -#ifndef __GNUC__ -#pragma pack() -#endif - - -#if _MSC_EXTENSIONS - -// -// Disable warning that make it impossible to compile at /W4 -// This only works for Microsoft* tools -// - -// -// Disabling bitfield type checking warnings. -// -#pragma warning ( disable : 4214 ) - -// -// Disabling the unreferenced formal parameter warnings. -// -#pragma warning ( disable : 4100 ) - -// -// Disable slightly different base types warning as CHAR8 * can not be set -// to a constant string. -// -#pragma warning ( disable : 4057 ) - -// -// ASSERT(FALSE) or while (TRUE) are legal constructes so supress this war= ning -// -#pragma warning ( disable : 4127 ) - - -#endif - - -#if !defined(__GNUC__) && (__STDC_VERSION__ < 199901L) - // - // No ANSI C 2000 stdint.h integer width declarations, so define equival= ents - // - - #if _MSC_EXTENSIONS - - - // - // use Microsoft C compiler dependent integer width types - // - typedef unsigned __int64 UINT64; - typedef __int64 INT64; - typedef unsigned __int32 UINT32; - typedef __int32 INT32; - typedef unsigned short UINT16; - typedef unsigned short CHAR16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef char INT8; - #else - #ifdef _EFI_P64 - // - // P64 - is Intel Itanium(TM) speak for pointers being 64-bit and lo= ngs and ints - // are 32-bits - // - typedef unsigned long long UINT64; - typedef long long INT64; - typedef unsigned int UINT32; - typedef int INT32; - typedef unsigned short CHAR16; - typedef unsigned short UINT16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef char INT8; - #else - // - // Assume LP64 - longs and pointers are 64-bit. Ints are 32-bit. - // - typedef unsigned long UINT64; - typedef long INT64; - typedef unsigned int UINT32; - typedef int INT32; - typedef unsigned short UINT16; - typedef unsigned short CHAR16; - typedef short INT16; - typedef unsigned char BOOLEAN; - typedef unsigned char UINT8; - typedef char CHAR8; - typedef char INT8; - #endif - #endif - - #define UINT8_MAX 0xff - -#else - // - // Use ANSI C 2000 stdint.h integer width declarations - // - #include - typedef uint8_t BOOLEAN; - typedef int8_t INT8; - typedef uint8_t UINT8; - typedef int16_t INT16; - typedef uint16_t UINT16; - typedef int32_t INT32; - typedef uint32_t UINT32; - typedef int64_t INT64; - typedef uint64_t UINT64; - typedef char CHAR8; - typedef uint16_t CHAR16; - -#endif - -typedef UINT64 UINTN; -typedef INT64 INTN; - - -// -// Processor specific defines -// -#define MAX_BIT 0x8000000000000000ULL -#define MAX_2_BITS 0xC000000000000000ULL - -// -// Modifier to ensure that all protocol member functions and EFI intrinsics -// use the correct C calling convention. All protocol member functions and -// EFI intrinsics are required to modify their member functions with EFIAP= I. -// -#if _MSC_EXTENSIONS - /// - /// Define the standard calling convention regardless of optimization le= vel. - /// __cdecl is Microsoft* specific C extension. - /// - #define EFIAPI __cdecl -#elif __GNUC__ - /// - /// Define the standard calling convention regardless of optimization le= vel. - /// efidecl is an extension to GCC that supports the differnece between = x64 - /// GCC ABI and x64 Microsoft* ABI. EFI is closer to the Microsoft* ABI = and - /// EFIAPI makes sure the right ABI is used for public interfaces. - /// eficecl is a work in progress and we do not yet have the compiler - /// - #define EFIAPI -#else - #define EFIAPI -#endif - -// -// The Microsoft* C compiler can removed references to unreferenced data i= tems -// if the /OPT:REF linker option is used. We defined a macro as this is a -// a non standard extension -// -#if _MSC_EXTENSIONS - #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany) -#else - #define GLOBAL_REMOVE_IF_UNREFERENCED -#endif - -#endif - diff --git a/BaseTools/Source/C/Common/Decompress.c b/BaseTools/Source/C/Co= mmon/Decompress.c index d85098f13140..8625ccd03618 100644 --- a/BaseTools/Source/C/Common/Decompress.c +++ b/BaseTools/Source/C/Common/Decompress.c @@ -15,6 +15,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // Decompression algorithm begins here // +#define UINT8_MAX 0xff #define BITBUFSIZ 32 #define MAXMATCH 256 #define THRESHOLD 3 diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Sourc= e/C/Makefiles/header.makefile index 4e88a4fbd86b..cecca2c27462 100644 --- a/BaseTools/Source/C/Makefiles/header.makefile +++ b/BaseTools/Source/C/Makefiles/header.makefile @@ -8,6 +8,8 @@ # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent =20 +EDK2_PATH ?=3D $(MAKEROOT)/../../.. + ifndef HOST_ARCH # # If HOST_ARCH is not defined, then we use 'uname -m' to attempt @@ -59,22 +61,22 @@ BUILD_LD ?=3D ld endif LINKER ?=3D $(BUILD_CC) ifeq ($(HOST_ARCH), IA32) -ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/Ia32/ +ARCH_INCLUDE =3D -I $(EDK2_PATH)/MdePkg/Include/Ia32/ =20 else ifeq ($(HOST_ARCH), X64) -ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/X64/ +ARCH_INCLUDE =3D -I $(EDK2_PATH)/MdePkg/Include/X64/ =20 else ifeq ($(HOST_ARCH), ARM) -ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/Arm/ +ARCH_INCLUDE =3D -I $(EDK2_PATH)/MdePkg/Include/Arm/ =20 else ifeq ($(HOST_ARCH), AARCH64) -ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/AArch64/ +ARCH_INCLUDE =3D -I $(EDK2_PATH)/MdePkg/Include/AArch64/ =20 else ifeq ($(HOST_ARCH), RISCV64) -ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/RiscV64/ +ARCH_INCLUDE =3D -I $(EDK2_PATH)/MdePkg/Include/RiscV64/ =20 else ifeq ($(HOST_ARCH), LOONGARCH64) -ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/LoongArch64/ +ARCH_INCLUDE =3D -I $(EDK2_PATH)/MdePkg/Include/LoongArch64/ =20 else $(error Bad HOST_ARCH) diff --git a/BaseTools/Source/C/Makefiles/ms.common b/BaseTools/Source/C/Ma= kefiles/ms.common index 8391f10d5dd2..985d9498ccb8 100644 --- a/BaseTools/Source/C/Makefiles/ms.common +++ b/BaseTools/Source/C/Makefiles/ms.common @@ -17,6 +17,14 @@ HOST_ARCH =3D IA32 !ENDIF =20 +!IFNDEF MAKEROOT +MAKEROOT =3D $(SOURCE_PATH) +!ENDIF + +!IFNDEF EDK2_PATH +EDK2_PATH =3D $(MAKEROOT)\..\..\.. +!ENDIF + MAKE =3D nmake -nologo =20 # DOS del command doesn't support ":\\" in the file path, such as j:\\Base= Tools. Convert ":\\" to ":\" @@ -31,14 +39,14 @@ SYS_BIN_PATH=3D$(EDK_TOOLS_PATH)\Bin SYS_LIB_PATH=3D$(EDK_TOOLS_PATH)\Lib =20 !IF "$(HOST_ARCH)"=3D=3D"IA32" -ARCH_INCLUDE =3D $(SOURCE_PATH)\Include\Ia32 +ARCH_INCLUDE =3D $(EDK2_PATH)\MdePkg\Include\Ia32 BIN_PATH =3D $(BASE_TOOLS_PATH)\Bin\Win32 LIB_PATH =3D $(BASE_TOOLS_PATH)\Lib\Win32 SYS_BIN_PATH =3D $(EDK_TOOLS_PATH)\Bin\Win32 SYS_LIB_PATH =3D $(EDK_TOOLS_PATH)\Lib\Win32 =20 !ELSEIF "$(HOST_ARCH)"=3D=3D"X64" -ARCH_INCLUDE =3D $(SOURCE_PATH)\Include\X64 +ARCH_INCLUDE =3D $(EDK2_PATH)\MdePkg\Include\X64 BIN_PATH =3D $(BASE_TOOLS_PATH)\Bin\Win64 LIB_PATH =3D $(BASE_TOOLS_PATH)\Lib\Win64 SYS_BIN_PATH =3D $(EDK_TOOLS_PATH)\Bin\Win64 --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101658): https://edk2.groups.io/g/devel/message/101658 Mute This Topic: https://groups.io/mt/97798528/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101661+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101661+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570268; cv=none; d=zohomail.com; s=zohoarc; b=L8axE8kmHYJ4CWtJnzQc5oI16E8/3XqVxxYmYEnNWKxqNCe9nMV6/h/GQ/Ql7bcL3wbCXrqspZAfQC94oumpM1PeylIdvtkThsQ8xY2wJZfXvK2Wv3NVpwYzJllpphgHoYRrbTdjYJVk2BFfWduVRmx8cGahC4IuBru30C/UQU4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570268; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=fT/dDBauWyMfZhiYzNaqGY/iKjBr+npIoc1iliErflI=; b=SroAuYaEKriwcyXdlbZGDjzsaIq5MgR4qhl7tQIdqvZLdtjeCyNS20gSwGBYKXeDB/50KC9qaiLPVVHTpzipNHRYBILBUXteExojF65NwaXHBdXzT2tObl5U5TW6tj/Eft4S72XacmIZhx7h4DBJhc2K0ghZjFXAAGIFkxgmAI4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101661+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1679570268849908.1253743010465; Thu, 23 Mar 2023 04:17:48 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id iIEaYY1788612x1EcyOOSp53; Thu, 23 Mar 2023 04:17:48 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web10.69892.1679570267102982747 for ; Thu, 23 Mar 2023 04:17:47 -0700 X-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-19-4vfjUjIZNEGG9sJnZpXGbg-1; Thu, 23 Mar 2023 07:17:43 -0400 X-MC-Unique: 4vfjUjIZNEGG9sJnZpXGbg-1 X-Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 367D78028AD; Thu, 23 Mar 2023 11:17:42 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 53910492B01; Thu, 23 Mar 2023 11:17:41 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id A7D34180061A; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 3/8] BaseTools: remove duplicate includes: IndustryStandard/Acpi*.h Date: Thu, 23 Mar 2023 12:17:28 +0100 Message-Id: <20230323111733.690211-4-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: NalZmvokdvoC3D0h8YvTrUD4x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570268; bh=eJAGLODRcz89h7zLvO6qThO+ng6XMy40/UIkcGRq1yk=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=Vz7Q95VtMAsW42ge5d2WprTNyH4EWtgiZoLnjfYzuM0TfkaRvuFoiGuNZ2+nCXLcc7z m/6I1CvkK83ItLOgIk1ni8EM/Mih+Tgu+q7x7Jr3e9WNp31WbyhQM9HFK6K1n/Rq4btZ2 eBdtqDMgIBC9vm3d8kmI+/hWge0VzfYhFa0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570269490100011 Content-Type: text/plain; charset="utf-8"; 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 driv= ers - 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 ACP= I 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/BaseTo= ols/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 followe= d 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 tab= le -// 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 0x20525450= 20445352ULL - -// -// "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 0x= 54445344 - -// -// "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 0x5444= 5350 - -// -// "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 0x545342= 53 - -// -// "SSDT" Secondary System Description Table -// -#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x544453= 53 - -#pragma pack() - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h b/BaseTo= ols/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 followe= d 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 followe= d 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 tab= le -// 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 0x= 01 - -// -// Known table signatures -// -// -// "RSD PTR " Root System Description Pointer -// -#define EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x20525450= 20445352 - -// -// "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 0x43495= 053 -// -#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 0x= 54445344 - -// -// "ECDT" Embedded Controller Boot Resources Table -// -#define EFI_ACPI_2_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x= 54444345 - -// -// "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 0x5444= 5350 - -// -// "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 0x545342= 53 - -// -// "SLIT" System Locality Information Table -// -#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE 0x54494C= 53 - -// -// "SPCR" Serial Port Console Redirection Table -// -#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE 0x52= 435053 - -// -// "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 0x544453= 53 - -// -// "SPMI" Server Platform Management Interface Table -// -#define EFI_ACPI_2_0_SERVER_PLATFORM_MANAGEMENT_INTERFACE_SIGNATURE 0x494D= 5053 - -// -// "XSDT" Extended System Description Table -// -#define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x544453= 58 - -#pragma pack() - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h b/BaseTo= ols/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 // ACP= ISpec30 (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 followe= d 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 followe= d 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 follow= ed by a -// definition block. -// -#define EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x= 02 -#define EFI_ACPI_3_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_REVISION 0x= 02 - -// -// Multiple APIC Description Table header definition. The rest of the tab= le -// 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 0x= 01 - -// -// 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 0x20525450= 20445352ULL - -// -// "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 0x= 54445344 - -// -// "ECDT" Embedded Controller Boot Resources Table -// -#define EFI_ACPI_3_0_EMBEDDED_CONTROLLER_BOOT_RESOURCES_TABLE_SIGNATURE 0x= 54444345 - -// -// "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 0x5444= 5350 - -// -// "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 0x545342= 53 - -// -// "SLIT" System Locality Information Table -// -#define EFI_ACPI_3_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE 0x54494C= 53 - -// -// "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 0x544453= 53 - -// -// "XSDT" Extended System Description Table -// -#define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x544453= 58 - -// -// "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 0x50= 455043 - -// -// "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 Descr= iption Table -// -#define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_AD= DRESS_DESCRIPTION_TABLE_SIGNATURE 0x4746434D - -// -// "SPCR" Serial Port Console Redirection Table -// -#define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE 0x52= 435053 - -// -// "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_TABL= E_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/S= ource/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__ =20 #include -#include +#include #include =20 /// diff --git a/BaseTools/Source/C/GenFw/GenFw.c b/BaseTools/Source/C/GenFw/Ge= nFw.c index 3f79732a9160..2717f896a161 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 =20 #include "CommonLib.h" @@ -368,7 +368,7 @@ Routine Description: if (Facs->Version > EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_VERSI= ON) { break; } - if ((Facs->Version !=3D EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_V= ERSION) && + if ((Facs->Version !=3D 0 /* field is reserved in ACPI 1.0 */) && (Facs->Version !=3D EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_V= ERSION) && (Facs->Version !=3D EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_V= ERSION)){ Error (NULL, 0, 3000, "Invalid", "FACS version check failed."); diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Sourc= e/C/Makefiles/header.makefile index cecca2c27462..7dbe54a9bf04 100644 --- a/BaseTools/Source/C/Makefiles/header.makefile +++ b/BaseTools/Source/C/Makefiles/header.makefile @@ -83,6 +83,7 @@ $(error Bad HOST_ARCH) endif =20 INCLUDE =3D $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -= I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROO= T)/Common/ -I .. -I . $(ARCH_INCLUDE) +INCLUDE +=3D -I $(EDK2_PATH)/MdePkg/Include BUILD_CPPFLAGS =3D $(INCLUDE) =20 # keep EXTRA_OPTFLAGS last diff --git a/BaseTools/Source/C/Makefiles/ms.common b/BaseTools/Source/C/Ma= kefiles/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 =3D link.exe LINKER =3D $(LD) =20 INC =3D $(INC) -I . -I $(SOURCE_PATH)\Include -I $(ARCH_INCLUDE) -I $(SOUR= CE_PATH)\Common +INC =3D $(INC) -I $(EDK2_PATH)\MdePkg\Include =20 CFLAGS =3D $(CFLAGS) /nologo /Z7 /c /O2 /MT /W4 /WX /D _CRT_SECURE_NO_DEPR= ECATE /D _CRT_NONSTDC_NO_DEPRECATE CPPFLAGS =3D $(CPPFLAGS) /EHsc /nologo /Z7 /c /O2 /MT /D _CRT_SECURE_NO_DE= PRECATE /D _CRT_NONSTDC_NO_DEPRECATE --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101661): https://edk2.groups.io/g/devel/message/101661 Mute This Topic: https://groups.io/mt/97798531/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101663+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101663+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570275; cv=none; d=zohomail.com; s=zohoarc; b=HdxJoX+rScoc6sqg+p9IYugo6zM6/ikGfijPdO8HbVa8sZdfUYjj6YX16ryQbZYGOaAZpntFjZSYguojB7FDo2R+fHYOGA8H+amTWvSmqMITsdz1LOO9VVywh7WyhHTiIgoYT3TvVbbYh1z0wno9MJC9pbCdyTtYSMVny3358qQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570275; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=iGyUVRfz5UXiR8IsG+tOEQgRAzSPz4pA4gRW9b3VCxU=; b=HWfbK0M3pBAxBgPoUc24KC/1pQ4QBmjaXuGOSJOXsQVWCHG02GzFh+4Wnlr05HWs0Xd6dMswQ6BICNUE6VftPPOpyVHW8ZcLBUetVsjIAsnaSOuHDO3nY8U4dX5nshbpWLdK9KPbyowCOf9TTCyGYyM65cUDAzXKaJFGAAiyRF8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101663+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1679570275725627.7310290523106; Thu, 23 Mar 2023 04:17:55 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id BgnjYY1788612xCfczE0I1dI; Thu, 23 Mar 2023 04:17:55 -0700 X-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.web11.69548.1679570274887002467 for ; Thu, 23 Mar 2023 04:17:55 -0700 X-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-610-KkqsfuvwOjOaindXRAmHwA-1; Thu, 23 Mar 2023 07:17:49 -0400 X-MC-Unique: KkqsfuvwOjOaindXRAmHwA-1 X-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 57F2D85A588; Thu, 23 Mar 2023 11:17:48 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0965F1731B; Thu, 23 Mar 2023 11:17:43 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id AC4681800623; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 4/8] MdePkg/PeImage.h: add bits from BaseTools version Date: Thu, 23 Mar 2023 12:17:29 +0100 Message-Id: <20230323111733.690211-5-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-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 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: BtnAJ3YYkzHDYVuZES0WRjTtx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570275; bh=XTEe6p93YwhSd0WdoXZPmeu9ljz6v8y86pguj9vMlNM=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=ceBbDVO5LDR5BaRDeDDJDIwDPcrH6voU54ntoOOzreEod2rDZZmLg9tbr50fNEMCldC Gtv8PGFUJprWj2gLSeRp+oXlwpaRh3jz1IFz/GXA9UQ6PG/xrHBmHb6njZtyNAFij4nDC IyAUyjBuQfp/F1/39ALCeLfCccfANsCgKho= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570277478100001 Content-Type: text/plain; charset="utf-8"; x-default="true" The BaseTools and MdePkg versions of PeImage.h diverged over time, add some missing bits to the MdePkg header file in preparation for removing the BaseTools version. Signed-off-by: Gerd Hoffmann --- MdePkg/Include/IndustryStandard/PeImage.h | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/MdePkg/Include/IndustryStandard/PeImage.h b/MdePkg/Include/Ind= ustryStandard/PeImage.h index dd4cc25483bc..c232248cdc31 100644 --- a/MdePkg/Include/IndustryStandard/PeImage.h +++ b/MdePkg/Include/IndustryStandard/PeImage.h @@ -101,6 +101,7 @@ typedef struct { #define EFI_IMAGE_FILE_EXECUTABLE_IMAGE BIT1 ///< 0x0002 File is = executable (i.e. no unresolved externel references). #define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED BIT2 ///< 0x0004 Line num= bers stripped from file. #define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED BIT3 ///< 0x0008 Local sy= mbols stripped from file. +#define EFI_IMAGE_FILE_LARGE_ADDRESS_AWARE BIT5 ///< 0x0020 Supports= addresses > 2-GB #define EFI_IMAGE_FILE_BYTES_REVERSED_LO BIT7 ///< 0x0080 Bytes of= machine word are reversed. #define EFI_IMAGE_FILE_32BIT_MACHINE BIT8 ///< 0x0100 32 bit w= ord machine. #define EFI_IMAGE_FILE_DEBUG_STRIPPED BIT9 ///< 0x0200 Debuggin= g info stripped from file in .DBG file. @@ -577,6 +578,13 @@ typedef struct { UINT32 AddressOfNameOrdinals; } EFI_IMAGE_EXPORT_DIRECTORY; =20 +// +// Based export types. +// +#define EFI_IMAGE_EXPORT_ORDINAL_BASE 1 +#define EFI_IMAGE_EXPORT_ADDR_SIZE 4 +#define EFI_IMAGE_EXPORT_ORDINAL_SIZE 2 + /// /// Hint/Name Table. /// @@ -669,6 +677,29 @@ typedef struct { // } EFI_IMAGE_DEBUG_CODEVIEW_MTOC_ENTRY; =20 +// avoid conflict with windows header files +#ifndef RUNTIME_FUNCTION_INDIRECT + +// +// .pdata entries for X64 +// +typedef struct { + UINT32 FunctionStartAddress; + UINT32 FunctionEndAddress; + UINT32 UnwindInfoAddress; +} RUNTIME_FUNCTION; + +#endif + +typedef struct { + UINT8 Version : 3; + UINT8 Flags : 5; + UINT8 SizeOfProlog; + UINT8 CountOfUnwindCodes; + UINT8 FrameRegister : 4; + UINT8 FrameRegisterOffset : 4; +} UNWIND_INFO; + /// /// Resource format. /// --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101663): https://edk2.groups.io/g/devel/message/101663 Mute This Topic: https://groups.io/mt/97798535/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101660+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101660+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570268; cv=none; d=zohomail.com; s=zohoarc; b=YFxnhIJxLRySJfbO+ba4c2s5sAXJoj8xNgTM+BY+cQpv9kICxc+QWYMdt+U3meH+6HzGgOmDcXTkzfB6A5+v8wn2cFOucwrk7gPu3dHfhRHM1tFaa/0fipz0REus1u5PFm2stje/jyj7oHJok+qs4RJ5zZI1XhPpuydnT7Ooh1E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570268; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=HWKxVGPckuGEcAWZQiB3vqOR66scHVIKaMrImcJmJ/Q=; b=GHKtKGckYNkr/lYZ0WU84QpT0Q30Jp2VriMyYn+60xO82bCBLkP/yqowuFrpNAI8kZWNs1SUznLvSRuE7+7XehHGt78xrcDp06k/CwRBD8RxqJbXl/yWGbkxWCJLefswtNvVcxRJYH/H3r/5cc7FCym7uLwI48ABKhxq2EAC2mQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101660+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 167957026843470.88998882801582; Thu, 23 Mar 2023 04:17:48 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Quh5YY1788612xoadD77pKJA; Thu, 23 Mar 2023 04:17:48 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web10.69891.1679570266788079637 for ; Thu, 23 Mar 2023 04:17:47 -0700 X-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-343-8SpJU83nMn6vqZfg6zWlMA-1; Thu, 23 Mar 2023 07:17:44 -0400 X-MC-Unique: 8SpJU83nMn6vqZfg6zWlMA-1 X-Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 88A0985A5A3; Thu, 23 Mar 2023 11:17:43 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 47D9DC15BA0; Thu, 23 Mar 2023 11:17:43 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B0A341800627; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 5/8] BaseTools: drop IMAGE_FILE_MACHINE_ARM hacks Date: Thu, 23 Mar 2023 12:17:30 +0100 Message-Id: <20230323111733.690211-6-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: Q4C3X3uTjn5KiPpDWv6iLklpx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570268; bh=PsXf260UFR9Z4R0Rajg0KXLMqi9R63mRMw8kmdOKCQs=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=ccbcplTsLTJT71zrXF1Z16h5oILuKPAx8+Rjq2HLvayGGdUbSAre8XXrL8DgXMcivu3 EKfeMr/d01OPWbAG++AVQB+tepVRRTtpRaKoQyiLZLXdV5uaxcgfEImn2vnaBn52Yhk01 63doO5JSuBRcuiYsKpOkRnyls8WjqotuDS4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570269403100005 Content-Type: text/plain; charset="utf-8"; x-default="true" The #define for IMAGE_FILE_MACHINE_ARM is not present in MdePkg, this looks like a relic not used any more. Remove. Signed-off-by: Gerd Hoffmann --- BaseTools/Source/C/Common/BasePeCoff.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/BaseTools/Source/C/Common/BasePeCoff.c b/BaseTools/Source/C/Co= mmon/BasePeCoff.c index 30400d1341dc..78ef072bc354 100644 --- a/BaseTools/Source/C/Common/BasePeCoff.c +++ b/BaseTools/Source/C/Common/BasePeCoff.c @@ -195,25 +195,10 @@ Routine Description: ImageContext->Machine !=3D EFI_IMAGE_MACHINE_AARCH64 && \ ImageContext->Machine !=3D EFI_IMAGE_MACHINE_RISCV64 && \ ImageContext->Machine !=3D EFI_IMAGE_MACHINE_LOONGARCH64) { - if (ImageContext->Machine =3D=3D IMAGE_FILE_MACHINE_ARM) { - // - // There are two types of ARM images. Pure ARM and ARM/Thumb. - // If we see the ARM say it is the ARM/Thumb so there is only - // a single machine type we need to check for ARM. - // - ImageContext->Machine =3D EFI_IMAGE_MACHINE_ARMT; - if (ImageContext->IsTeImage =3D=3D FALSE) { - PeHdr->Pe32.FileHeader.Machine =3D ImageContext->Machine; - } else { - TeHdr->Machine =3D ImageContext->Machine; - } - - } else { - // - // unsupported PeImage machine type - // - return RETURN_UNSUPPORTED; - } + // + // unsupported PeImage machine type + // + return RETURN_UNSUPPORTED; } =20 // --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101660): https://edk2.groups.io/g/devel/message/101660 Mute This Topic: https://groups.io/mt/97798530/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101662+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101662+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570276; cv=none; d=zohomail.com; s=zohoarc; b=Dlz5iQcX5PAc2jmJe/HxRFjKHZsF4UOu2jvaUI/lsP+CQ9djJuYxfhQ6+GC6xDTvYy3QUC4Dkcwb5eBoZVHSpbqnU00SYGM1tayFZA86jS/sS5+was5m63TUsUlQs2Y6fNWKM3pxg8rVZ6BeK4DSzthwE5kpEy0jNW9b2Jdwduw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570276; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=UgaZZtswlAr9b2keJSCqMrKnKng9pCDzPI/lKOjRg9w=; b=nSz83vAlUTAfwxZaqTafwIVSchA1WOjzpPG2TVk8wRefInpg7x55/ZlPlBZ3ZZqODMXnBj/jFlQa9AqanowObHXikHc/qSdblidaXVDba3luMLCaTh0nJvpgHerUmk71BTDO7kFjFf2D2cKaCY0lgM4shNlzcnNgxrv0yH+OmFY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101662+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 167957027686581.22190911740279; Thu, 23 Mar 2023 04:17:56 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id f1BoYY1788612x7tVzM7m1Un; Thu, 23 Mar 2023 04:17:56 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web11.69545.1679570270434336002 for ; Thu, 23 Mar 2023 04:17:50 -0700 X-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-225-thdXf9rXNfSQJGaL7ydegg-1; Thu, 23 Mar 2023 07:17:46 -0400 X-MC-Unique: thdXf9rXNfSQJGaL7ydegg-1 X-Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 44A1585A5A3; Thu, 23 Mar 2023 11:17:45 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D31A940C6E67; Thu, 23 Mar 2023 11:17:44 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B4C07180062C; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 6/8] BaseTools: switch from EFI_IMAGE_MACHINE_* to IMAGE_FILE_MACHINE_* Date: Thu, 23 Mar 2023 12:17:31 +0100 Message-Id: <20230323111733.690211-7-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: GdE4Vz3BO9IaeQjtudZfmjCSx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570276; bh=nmNldAwNTiJLAcdoxbd2ZhDNj/TV0+AIlM8SQW3cYXY=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=WR/JYq4/Bftyl8JmlPB1xIB0omDPIqlAMFoi6m++l3EYdMT73iCwJ+eMMhhhEGjJKHH yKjnR2nZZdgBXZQEIhS4loDqueBEC6RKdpJQ6Ru+G77xOAafUJUB/nTBZtoup4mLl+KWQ NA68d4yGpYITVAH2LD4fkeMZjlm6jtaOucI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570277517100003 Content-Type: text/plain; charset="utf-8"; x-default="true" Use the newer versions of the machine #defines. Signed-off-by: Gerd Hoffmann Reviewed-by: Chao Li --- BaseTools/Source/C/EfiRom/EfiRom.h | 10 ++--- .../C/Include/IndustryStandard/PeImage.h | 1 + BaseTools/Source/C/Common/BasePeCoff.c | 28 ++++++------- BaseTools/Source/C/GenFv/GenFvInternalLib.c | 42 +++++++++---------- BaseTools/Source/C/GenFw/Elf32Convert.c | 6 +-- BaseTools/Source/C/GenFw/Elf64Convert.c | 10 ++--- BaseTools/Source/C/GenFw/GenFw.c | 8 +--- 7 files changed, 50 insertions(+), 55 deletions(-) diff --git a/BaseTools/Source/C/EfiRom/EfiRom.h b/BaseTools/Source/C/EfiRom= /EfiRom.h index 0b39e2af2e0c..887a6a51e25b 100644 --- a/BaseTools/Source/C/EfiRom/EfiRom.h +++ b/BaseTools/Source/C/EfiRom/EfiRom.h @@ -108,11 +108,11 @@ typedef struct { // Machine Types // static STRING_LOOKUP mMachineTypes[] =3D { - { EFI_IMAGE_MACHINE_IA32, "IA32" }, - { EFI_IMAGE_MACHINE_X64, "X64" }, - { EFI_IMAGE_MACHINE_EBC, "EBC" }, - { EFI_IMAGE_MACHINE_ARMT, "ARM" }, - { EFI_IMAGE_MACHINE_AARCH64, "AA64" }, + { IMAGE_FILE_MACHINE_I386, "IA32" }, + { IMAGE_FILE_MACHINE_X64, "X64" }, + { IMAGE_FILE_MACHINE_EBC, "EBC" }, + { IMAGE_FILE_MACHINE_ARMTHUMB_MIXED, "ARM" }, + { IMAGE_FILE_MACHINE_ARM64, "AA64" }, { 0, NULL } }; =20 diff --git a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h b/BaseTo= ols/Source/C/Include/IndustryStandard/PeImage.h index 77ded3f61139..6e044938f5c6 100644 --- a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h +++ b/BaseTools/Source/C/Include/IndustryStandard/PeImage.h @@ -42,6 +42,7 @@ #define IMAGE_FILE_MACHINE_X64 0x8664 #define IMAGE_FILE_MACHINE_ARM 0x01c0 // Thumb only #define IMAGE_FILE_MACHINE_ARMT 0x01c2 // 32bit Mixed ARM and Thum= b/Thumb 2 Little Endian +#define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED IMAGE_FILE_MACHINE_ARMT #define IMAGE_FILE_MACHINE_ARM64 0xAA64 // 64bit ARM Architecture, = Little Endian #define IMAGE_FILE_MACHINE_RISCV64 0x5064 // 64bit RISC-V ISA #define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 // 64bit LoongArch Architec= ture diff --git a/BaseTools/Source/C/Common/BasePeCoff.c b/BaseTools/Source/C/Co= mmon/BasePeCoff.c index 78ef072bc354..bd410fb97d3d 100644 --- a/BaseTools/Source/C/Common/BasePeCoff.c +++ b/BaseTools/Source/C/Common/BasePeCoff.c @@ -188,13 +188,13 @@ Routine Description: ImageContext->Machine =3D TeHdr->Machine; } =20 - if (ImageContext->Machine !=3D EFI_IMAGE_MACHINE_IA32 && \ - ImageContext->Machine !=3D EFI_IMAGE_MACHINE_X64 && \ - ImageContext->Machine !=3D EFI_IMAGE_MACHINE_ARMT && \ - ImageContext->Machine !=3D EFI_IMAGE_MACHINE_EBC && \ - ImageContext->Machine !=3D EFI_IMAGE_MACHINE_AARCH64 && \ - ImageContext->Machine !=3D EFI_IMAGE_MACHINE_RISCV64 && \ - ImageContext->Machine !=3D EFI_IMAGE_MACHINE_LOONGARCH64) { + if (ImageContext->Machine !=3D IMAGE_FILE_MACHINE_I386 && \ + ImageContext->Machine !=3D IMAGE_FILE_MACHINE_X64 && \ + ImageContext->Machine !=3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED && \ + ImageContext->Machine !=3D IMAGE_FILE_MACHINE_EBC && \ + ImageContext->Machine !=3D IMAGE_FILE_MACHINE_ARM64 && \ + ImageContext->Machine !=3D IMAGE_FILE_MACHINE_RISCV64 && \ + ImageContext->Machine !=3D IMAGE_FILE_MACHINE_LOONGARCH64) { // // unsupported PeImage machine type // @@ -801,16 +801,16 @@ Routine Description: =20 default: switch (MachineType) { - case EFI_IMAGE_MACHINE_IA32: + case IMAGE_FILE_MACHINE_I386: Status =3D PeCoffLoaderRelocateIa32Image (Reloc, Fixup, &FixupDa= ta, Adjust); break; - case EFI_IMAGE_MACHINE_ARMT: + case IMAGE_FILE_MACHINE_ARMTHUMB_MIXED: Status =3D PeCoffLoaderRelocateArmImage (&Reloc, Fixup, &FixupDa= ta, Adjust); break; - case EFI_IMAGE_MACHINE_RISCV64: + case IMAGE_FILE_MACHINE_RISCV64: Status =3D PeCoffLoaderRelocateRiscVImage (Reloc, Fixup, &FixupD= ata, Adjust); break; - case EFI_IMAGE_MACHINE_LOONGARCH64: + case IMAGE_FILE_MACHINE_LOONGARCH64: Status =3D PeCoffLoaderRelocateLoongArch64Image (Reloc, Fixup, &= FixupData, Adjust); break; default: @@ -1305,14 +1305,14 @@ PeCoffLoaderGetPdbPointer ( // generate PE32+ image with PE32 Magic. // switch (Hdr.Pe32->FileHeader.Machine) { - case EFI_IMAGE_MACHINE_IA32: - case EFI_IMAGE_MACHINE_ARMT: + case IMAGE_FILE_MACHINE_I386: + case IMAGE_FILE_MACHINE_ARMTHUMB_MIXED: // // Assume PE32 image with IA32 Machine field. // Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC; break; - case EFI_IMAGE_MACHINE_X64: + case IMAGE_FILE_MACHINE_X64: // // Assume PE32+ image with X64 Machine field // diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source= /C/GenFv/GenFvInternalLib.c index c8d5cac8e26e..f466324d6192 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c @@ -1655,8 +1655,8 @@ Routine Description: =20 if ( Vtf0Detected && - (MachineType =3D=3D EFI_IMAGE_MACHINE_IA32 || - MachineType =3D=3D EFI_IMAGE_MACHINE_X64) + (MachineType =3D=3D IMAGE_FILE_MACHINE_I386 || + MachineType =3D=3D IMAGE_FILE_MACHINE_X64) ) { // // If the SEC core code is IA32 or X64 and the VTF-0 signature @@ -1714,7 +1714,7 @@ Routine Description: DebugMsg (NULL, 0, 9, "PeiCore physical entry point address", "Address= =3D 0x%llX", (unsigned long long) PeiCorePhysicalAddress); } =20 -if (MachineType =3D=3D EFI_IMAGE_MACHINE_IA32 || MachineType =3D=3D EFI_IM= AGE_MACHINE_X64) { +if (MachineType =3D=3D IMAGE_FILE_MACHINE_I386 || MachineType =3D=3D IMAGE= _FILE_MACHINE_X64) { if (PeiCorePhysicalAddress !=3D 0) { // // Get the location to update @@ -1804,12 +1804,12 @@ if (MachineType =3D=3D EFI_IMAGE_MACHINE_IA32 || Ma= chineType =3D=3D EFI_IMAGE_MACHINE_X6 // Ia32ResetAddressPtr =3D (UINT32 *) ((UINTN) FvImage->Eof - 8); *Ia32ResetAddressPtr =3D IpiVector; - } else if (MachineType =3D=3D EFI_IMAGE_MACHINE_ARMT) { + } else if (MachineType =3D=3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) { // // Since the ARM reset vector is in the FV Header you really don't nee= d a // Volume Top File, but if you have one for some reason don't crash... // - } else if (MachineType =3D=3D EFI_IMAGE_MACHINE_AARCH64) { + } else if (MachineType =3D=3D IMAGE_FILE_MACHINE_ARM64) { // // Since the AArch64 reset vector is in the FV Header you really don't= need a // Volume Top File, but if you have one for some reason don't crash... @@ -2204,7 +2204,7 @@ Routine Description: return EFI_SUCCESS; } =20 - if (MachineType =3D=3D EFI_IMAGE_MACHINE_ARMT) { + if (MachineType =3D=3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) { // ARM: Array of 4 UINT32s: // 0 - is branch relative to SEC entry point // 1 - PEI Entry Point @@ -2258,7 +2258,7 @@ Routine Description: // memcpy(FvImage->FileImage, ResetVector, sizeof (ResetVector)); =20 - } else if (MachineType =3D=3D EFI_IMAGE_MACHINE_AARCH64) { + } else if (MachineType =3D=3D IMAGE_FILE_MACHINE_ARM64) { // AArch64: Used as UINT64 ResetVector[2] // 0 - is branch relative to SEC entry point // 1 - PEI Entry Point @@ -2377,7 +2377,7 @@ Routine Description: return EFI_ABORTED; } =20 - if (MachineType !=3D EFI_IMAGE_MACHINE_RISCV64) { + if (MachineType !=3D IMAGE_FILE_MACHINE_RISCV64) { Error(NULL, 0, 3000, "Invalid", "Could not update SEC core because Mac= hine type is not RiscV."); return EFI_ABORTED; } @@ -2478,7 +2478,7 @@ Routine Description: if (!UpdateVectorSec) return EFI_SUCCESS; =20 - if (MachineType =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) { + if (MachineType =3D=3D IMAGE_FILE_MACHINE_LOONGARCH64) { UINT32 ResetVector[1]; =20 memset(ResetVector, 0, sizeof (ResetVector)); @@ -2595,9 +2595,9 @@ Routine Description: // // Verify machine type is supported // - if ((*MachineType !=3D EFI_IMAGE_MACHINE_IA32) && (*MachineType !=3D EF= I_IMAGE_MACHINE_X64) && (*MachineType !=3D EFI_IMAGE_MACHINE_EBC) && - (*MachineType !=3D EFI_IMAGE_MACHINE_ARMT) && (*MachineType !=3D EFI= _IMAGE_MACHINE_AARCH64) && - (*MachineType !=3D EFI_IMAGE_MACHINE_RISCV64) && (*MachineType !=3D = EFI_IMAGE_MACHINE_LOONGARCH64)) { + if ((*MachineType !=3D IMAGE_FILE_MACHINE_I386) && (*MachineType !=3D I= MAGE_FILE_MACHINE_X64) && (*MachineType !=3D IMAGE_FILE_MACHINE_EBC) && + (*MachineType !=3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) && (*MachineTy= pe !=3D IMAGE_FILE_MACHINE_ARM64) && + (*MachineType !=3D IMAGE_FILE_MACHINE_RISCV64) && (*MachineType !=3D= IMAGE_FILE_MACHINE_LOONGARCH64)) { Error (NULL, 0, 3000, "Invalid", "Unrecognized machine type in the PE3= 2 file."); return EFI_UNSUPPORTED; } @@ -3547,13 +3547,13 @@ Routine Description: } =20 // machine type is ARM, set a flag so ARM reset vector processing oc= curs - if ((MachineType =3D=3D EFI_IMAGE_MACHINE_ARMT) || (MachineType =3D= =3D EFI_IMAGE_MACHINE_AARCH64)) { + if ((MachineType =3D=3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) || (Machi= neType =3D=3D IMAGE_FILE_MACHINE_ARM64)) { VerboseMsg("Located ARM/AArch64 SEC/PEI core in child FV"); mArm =3D TRUE; } =20 // Machine type is LOONGARCH64, set a flag so LoongArch64 reset vect= or processed. - if (MachineType =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) { + if (MachineType =3D=3D IMAGE_FILE_MACHINE_LOONGARCH64) { VerboseMsg("Located LoongArch64 SEC core in child FV"); mLoongArch =3D TRUE; } @@ -3706,16 +3706,16 @@ Routine Description: return Status; } =20 - if ( (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_ARMT) || - (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_AARCH64) ) { + if ( (ImageContext.Machine =3D=3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) || + (ImageContext.Machine =3D=3D IMAGE_FILE_MACHINE_ARM64) ) { mArm =3D TRUE; } =20 - if (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_RISCV64) { + if (ImageContext.Machine =3D=3D IMAGE_FILE_MACHINE_RISCV64) { mRiscV =3D TRUE; } =20 - if (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) { + if (ImageContext.Machine =3D=3D IMAGE_FILE_MACHINE_LOONGARCH64) { mLoongArch =3D TRUE; } =20 @@ -3991,12 +3991,12 @@ Routine Description: return Status; } =20 - if ( (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_ARMT) || - (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_AARCH64) ) { + if ( (ImageContext.Machine =3D=3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) || + (ImageContext.Machine =3D=3D IMAGE_FILE_MACHINE_ARM64) ) { mArm =3D TRUE; } =20 - if (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) { + if (ImageContext.Machine =3D=3D IMAGE_FILE_MACHINE_LOONGARCH64) { mLoongArch =3D TRUE; } =20 diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/G= enFw/Elf32Convert.c index e9fb3593a91b..de198e58db07 100644 --- a/BaseTools/Source/C/GenFw/Elf32Convert.c +++ b/BaseTools/Source/C/GenFw/Elf32Convert.c @@ -553,16 +553,16 @@ ScanSections32 ( =20 switch (mEhdr->e_machine) { case EM_386: - NtHdr->Pe32.FileHeader.Machine =3D EFI_IMAGE_MACHINE_IA32; + NtHdr->Pe32.FileHeader.Machine =3D IMAGE_FILE_MACHINE_I386; NtHdr->Pe32.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC; break; case EM_ARM: - NtHdr->Pe32.FileHeader.Machine =3D EFI_IMAGE_MACHINE_ARMT; + NtHdr->Pe32.FileHeader.Machine =3D IMAGE_FILE_MACHINE_ARMTHUMB_MIXED; NtHdr->Pe32.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC; break; default: VerboseMsg ("%s unknown e_machine type %hu. Assume IA-32", mInImageNam= e, mEhdr->e_machine); - NtHdr->Pe32.FileHeader.Machine =3D EFI_IMAGE_MACHINE_IA32; + NtHdr->Pe32.FileHeader.Machine =3D IMAGE_FILE_MACHINE_I386; NtHdr->Pe32.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC; } =20 diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/G= enFw/Elf64Convert.c index 2078ff42002f..585c3266afde 100644 --- a/BaseTools/Source/C/GenFw/Elf64Convert.c +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c @@ -1077,25 +1077,25 @@ ScanSections64 ( =20 switch (mEhdr->e_machine) { case EM_X86_64: - NtHdr->Pe32Plus.FileHeader.Machine =3D EFI_IMAGE_MACHINE_X64; + NtHdr->Pe32Plus.FileHeader.Machine =3D IMAGE_FILE_MACHINE_X64; NtHdr->Pe32Plus.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR64_M= AGIC; break; case EM_AARCH64: - NtHdr->Pe32Plus.FileHeader.Machine =3D EFI_IMAGE_MACHINE_AARCH64; + NtHdr->Pe32Plus.FileHeader.Machine =3D IMAGE_FILE_MACHINE_ARM64; NtHdr->Pe32Plus.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR64_M= AGIC; break; case EM_RISCV64: - NtHdr->Pe32Plus.FileHeader.Machine =3D EFI_IMAGE_MACHINE_RISCV64; + NtHdr->Pe32Plus.FileHeader.Machine =3D IMAGE_FILE_MACHINE_RISCV64; NtHdr->Pe32Plus.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR64_M= AGIC; break; case EM_LOONGARCH: - NtHdr->Pe32Plus.FileHeader.Machine =3D EFI_IMAGE_MACHINE_LOONGARCH64; + NtHdr->Pe32Plus.FileHeader.Machine =3D IMAGE_FILE_MACHINE_LOONGARCH64; NtHdr->Pe32Plus.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR64_M= AGIC; break; =20 default: VerboseMsg ("%u unknown e_machine type. Assume X64", (UINTN)mEhdr->e_m= achine); - NtHdr->Pe32Plus.FileHeader.Machine =3D EFI_IMAGE_MACHINE_X64; + NtHdr->Pe32Plus.FileHeader.Machine =3D IMAGE_FILE_MACHINE_X64; NtHdr->Pe32Plus.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR64_M= AGIC; } =20 diff --git a/BaseTools/Source/C/GenFw/GenFw.c b/BaseTools/Source/C/GenFw/Ge= nFw.c index 2717f896a161..06db6badf807 100644 --- a/BaseTools/Source/C/GenFw/GenFw.c +++ b/BaseTools/Source/C/GenFw/GenFw.c @@ -2197,12 +2197,6 @@ Routine Description: } } =20 - if (PeHdr->Pe32.FileHeader.Machine =3D=3D IMAGE_FILE_MACHINE_ARM) { - // Some tools kick out IMAGE_FILE_MACHINE_ARM (0x1c0) vs IMAGE_FILE_MA= CHINE_ARMT (0x1c2) - // so patch back to the official UEFI value. - PeHdr->Pe32.FileHeader.Machine =3D IMAGE_FILE_MACHINE_ARMT; - } - // // Set new base address into image // @@ -3116,7 +3110,7 @@ Routine Description: // Get Debug, Export and Resource EntryTable RVA address. // Resource Directory entry need to review. // - if (FileHdr->Machine =3D=3D EFI_IMAGE_MACHINE_IA32) { + if (FileHdr->Machine =3D=3D IMAGE_FILE_MACHINE_I386) { Optional32Hdr =3D (EFI_IMAGE_OPTIONAL_HEADER32 *) ((UINT8*) FileHdr + = sizeof (EFI_IMAGE_FILE_HEADER)); SectionHeader =3D (EFI_IMAGE_SECTION_HEADER *) ((UINT8 *) Optional32Hd= r + FileHdr->SizeOfOptionalHeader); if (Optional32Hdr->NumberOfRvaAndSizes > EFI_IMAGE_DIRECTORY_ENTRY_EXP= ORT && \ --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101662): https://edk2.groups.io/g/devel/message/101662 Mute This Topic: https://groups.io/mt/97798533/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101665+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101665+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570277; cv=none; d=zohomail.com; s=zohoarc; b=M/ojNqf6ahXWlsGB1VWZYFXMGFaS7lo1Hkd4oXcoMP5BPfV0yi3zAVNR+arm0NjtH2eEs/PccPpGtyLkAIZRt1lLr4kRZfEa1RyNSsFEGSbkTSAkuwLeMRZT/TaR1aAn9h6wPKz9Xow5gvGwinnRGgLNhxwqQ5XfvxVmuXMkrrE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570277; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=SmmYSY/EvujRI5vjY6eR+F/Pe8nOYWsZFe/KGuZX2vM=; b=CQe8/ZVRezM4cw8tZMGFJevz+6PcxzPOlVRPyCAt46n4gHuYSM0HqHaJ0JJFJp0qqjWFz+4PT9wzcwEXorSn2Pp8CDtNAWP1msSeuU4SKTtcQz88oJptJ7WH8DAOEhunXP7X8wEQ9v2DnNh79GCkTkQyPBwsGK3Znb6Gj2TNATM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101665+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1679570277650575.7391932935083; Thu, 23 Mar 2023 04:17:57 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id OxEAYY1788612xXSuvdapQjB; Thu, 23 Mar 2023 04:17:57 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web10.69896.1679570276369760967 for ; Thu, 23 Mar 2023 04:17:56 -0700 X-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-407-AYVIZ4kRPmuyh9ReOfw4rQ-1; Thu, 23 Mar 2023 07:17:49 -0400 X-MC-Unique: AYVIZ4kRPmuyh9ReOfw4rQ-1 X-Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4BFF0101A551; Thu, 23 Mar 2023 11:17:48 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 78C052027040; Thu, 23 Mar 2023 11:17:47 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B8F2B1800634; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 7/8] BaseTools: remove duplicate includes: IndustryStandard/PeImage.h Date: Thu, 23 Mar 2023 12:17:32 +0100 Message-Id: <20230323111733.690211-8-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: gcIbn3GEHPzDtXz3plYiBgvlx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570277; bh=MKJhmMpnXJMQt37J3o7LYW9b4gVwZU4b45+pbFwlb7E=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=gM5xEHR5UNVdO88r4piT3/S/x/o9odtJRnPes6wQHFC2w0F5PHnX9xx5Bayjd+UmgVd UDjFfuMa0Y8PSBxD6mXVjOqomzdlR/EAEMW+q+cabnSbTVn3hVoP4n2H/sawcAXQFyloj 7Y87E5UekNM6lmvrZQFAVmIUR7XPSo4iBbU= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570279491100013 Content-Type: text/plain; charset="utf-8"; x-default="true" Use the MdePkg version instead of maintaining a copy in BaseTools. Signed-off-by: Gerd Hoffmann Reviewed-by: Chao Li --- .../C/Include/IndustryStandard/PeImage.h | 779 ------------------ 1 file changed, 779 deletions(-) delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/PeImage.h diff --git a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h b/BaseTo= ols/Source/C/Include/IndustryStandard/PeImage.h deleted file mode 100644 index 6e044938f5c6..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h +++ /dev/null @@ -1,779 +0,0 @@ -/** @file - EFI image format for PE32+. Please note some data structures are differe= nt - for IA-32 and Itanium-based images, look for UINTN and the #ifdef EFI_IA= 64 - - @bug Fix text - doc as defined in MSFT EFI specification. - - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
- Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
- Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
- Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef __PE_IMAGE_H__ -#define __PE_IMAGE_H__ - -// -// PE32+ Subsystem type for EFI images -// -#define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION 10 -#define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11 -#define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 -#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER 13 - -// -// BugBug: Need to get a real answer for this problem. This is not in the -// PE specification. -// -// A SAL runtime driver does not get fixed up when a transition to -// virtual mode is made. In all other cases it should be treated -// like a EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER image -// -#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER 13 - -// -// PE32+ Machine type for EFI images -// -#define IMAGE_FILE_MACHINE_I386 0x014c -#define IMAGE_FILE_MACHINE_EBC 0x0EBC -#define IMAGE_FILE_MACHINE_X64 0x8664 -#define IMAGE_FILE_MACHINE_ARM 0x01c0 // Thumb only -#define IMAGE_FILE_MACHINE_ARMT 0x01c2 // 32bit Mixed ARM and Thum= b/Thumb 2 Little Endian -#define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED IMAGE_FILE_MACHINE_ARMT -#define IMAGE_FILE_MACHINE_ARM64 0xAA64 // 64bit ARM Architecture, = Little Endian -#define IMAGE_FILE_MACHINE_RISCV64 0x5064 // 64bit RISC-V ISA -#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 // 64bit LoongArch Architec= ture - -// -// Support old names for backward compatible -// -#define EFI_IMAGE_MACHINE_IA32 IMAGE_FILE_MACHINE_I386 -#define EFI_IMAGE_MACHINE_EBC IMAGE_FILE_MACHINE_EBC -#define EFI_IMAGE_MACHINE_X64 IMAGE_FILE_MACHINE_X64 -#define EFI_IMAGE_MACHINE_ARMT IMAGE_FILE_MACHINE_ARMT -#define EFI_IMAGE_MACHINE_AARCH64 IMAGE_FILE_MACHINE_ARM64 -#define EFI_IMAGE_MACHINE_RISCV64 IMAGE_FILE_MACHINE_RISCV64 -#define EFI_IMAGE_MACHINE_LOONGARCH64 IMAGE_FILE_MACHINE_LOONGARCH64 - -#define EFI_IMAGE_DOS_SIGNATURE 0x5A4D // MZ -#define EFI_IMAGE_OS2_SIGNATURE 0x454E // NE -#define EFI_IMAGE_OS2_SIGNATURE_LE 0x454C // LE -#define EFI_IMAGE_NT_SIGNATURE 0x00004550 // PE00 -#define EFI_IMAGE_EDOS_SIGNATURE 0x44454550 // PEED - -/// -/// PE images can start with an optional DOS header, so if an image is run -/// under DOS it can print an error message. -/// -typedef struct { - UINT16 e_magic; // Magic number - UINT16 e_cblp; // Bytes on last page of file - UINT16 e_cp; // Pages in file - UINT16 e_crlc; // Relocations - UINT16 e_cparhdr; // Size of header in paragraphs - UINT16 e_minalloc; // Minimum extra paragraphs needed - UINT16 e_maxalloc; // Maximum extra paragraphs needed - UINT16 e_ss; // Initial (relative) SS value - UINT16 e_sp; // Initial SP value - UINT16 e_csum; // Checksum - UINT16 e_ip; // Initial IP value - UINT16 e_cs; // Initial (relative) CS value - UINT16 e_lfarlc; // File address of relocation table - UINT16 e_ovno; // Overlay number - UINT16 e_res[4]; // Reserved words - UINT16 e_oemid; // OEM identifier (for e_oeminfo) - UINT16 e_oeminfo; // OEM information; e_oemid specific - UINT16 e_res2[10]; // Reserved words - UINT32 e_lfanew; // File address of new exe header -} EFI_IMAGE_DOS_HEADER; - -/// -/// File header format. -/// -typedef struct { - UINT16 Machine; - UINT16 NumberOfSections; - UINT32 TimeDateStamp; - UINT32 PointerToSymbolTable; - UINT32 NumberOfSymbols; - UINT16 SizeOfOptionalHeader; - UINT16 Characteristics; -} EFI_IMAGE_FILE_HEADER; - -#define EFI_IMAGE_SIZEOF_FILE_HEADER 20 - -#define EFI_IMAGE_FILE_RELOCS_STRIPPED 0x0001 // Relocation info str= ipped from file. -#define EFI_IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 // File is executable = (i.e. no unresolved externel references). -#define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 // Line nunbers stripp= ed from file. -#define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 // Local symbols strip= ped from file. -#define EFI_IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020 // Supports addresses = > 2-GB -#define EFI_IMAGE_FILE_BYTES_REVERSED_LO 0x0080 // Bytes of machine wo= rd are reversed. -#define EFI_IMAGE_FILE_32BIT_MACHINE 0x0100 // 32 bit word machine. -#define EFI_IMAGE_FILE_DEBUG_STRIPPED 0x0200 // Debugging info stri= pped from file in .DBG file -#define EFI_IMAGE_FILE_SYSTEM 0x1000 // System File. -#define EFI_IMAGE_FILE_DLL 0x2000 // File is a DLL. -#define EFI_IMAGE_FILE_BYTES_REVERSED_HI 0x8000 // Bytes of machine wo= rd are reversed. -#define EFI_IMAGE_FILE_MACHINE_UNKNOWN 0 -#define EFI_IMAGE_FILE_MACHINE_I386 0x14c // Intel 386. -#define EFI_IMAGE_FILE_MACHINE_R3000 0x162 // MIPS* little-endian= , 0540 big-endian -#define EFI_IMAGE_FILE_MACHINE_R4000 0x166 // MIPS* little-endian -#define EFI_IMAGE_FILE_MACHINE_ALPHA 0x184 // Alpha_AXP* -#define EFI_IMAGE_FILE_MACHINE_POWERPC 0x1F0 // IBM* PowerPC Little= -Endian -#define EFI_IMAGE_FILE_MACHINE_TAHOE 0x7cc // Intel EM machine -// -// * Other names and brands may be claimed as the property of others. -// - -/// -/// Directory format. -/// -typedef struct { - UINT32 VirtualAddress; - UINT32 Size; -} EFI_IMAGE_DATA_DIRECTORY; - -#define EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES 16 - -typedef struct { - UINT16 Magic; - UINT8 MajorLinkerVersion; - UINT8 MinorLinkerVersion; - UINT32 SizeOfCode; - UINT32 SizeOfInitializedData; - UINT32 SizeOfUninitializedData; - UINT32 AddressOfEntryPoint; - UINT32 BaseOfCode; - UINT32 BaseOfData; - UINT32 BaseOfBss; - UINT32 GprMask; - UINT32 CprMask[4]; - UINT32 GpValue; -} EFI_IMAGE_ROM_OPTIONAL_HEADER; - -#define EFI_IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107 -#define EFI_IMAGE_SIZEOF_ROM_OPTIONAL_HEADER sizeof (EFI_IMAGE_ROM_OPTION= AL_HEADER) - -typedef struct { - EFI_IMAGE_FILE_HEADER FileHeader; - EFI_IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; -} EFI_IMAGE_ROM_HEADERS; - -/// -/// @attention -/// EFI_IMAGE_OPTIONAL_HEADER32 and EFI_IMAGE_OPTIONAL_HEADER64 -/// are for use ONLY by tools. All proper EFI code MUST use -/// EFI_IMAGE_OPTIONAL_HEADER ONLY!!! -/// -#define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b - -typedef struct { - // - // Standard fields. - // - UINT16 Magic; - UINT8 MajorLinkerVersion; - UINT8 MinorLinkerVersion; - UINT32 SizeOfCode; - UINT32 SizeOfInitializedData; - UINT32 SizeOfUninitializedData; - UINT32 AddressOfEntryPoint; - UINT32 BaseOfCode; - UINT32 BaseOfData; - // - // NT additional fields. - // - UINT32 ImageBase; - UINT32 SectionAlignment; - UINT32 FileAlignment; - UINT16 MajorOperatingSystemVersion; - UINT16 MinorOperatingSystemVersion; - UINT16 MajorImageVersion; - UINT16 MinorImageVersion; - UINT16 MajorSubsystemVersion; - UINT16 MinorSubsystemVersion; - UINT32 Win32VersionValue; - UINT32 SizeOfImage; - UINT32 SizeOfHeaders; - UINT32 CheckSum; - UINT16 Subsystem; - UINT16 DllCharacteristics; - UINT32 SizeOfStackReserve; - UINT32 SizeOfStackCommit; - UINT32 SizeOfHeapReserve; - UINT32 SizeOfHeapCommit; - UINT32 LoaderFlags; - UINT32 NumberOfRvaAndSizes; - EFI_IMAGE_DATA_DIRECTORY DataDirectory[EFI_IMAGE_NUMBER_OF_DIRECTORY_EN= TRIES]; -} EFI_IMAGE_OPTIONAL_HEADER32; - -/// -/// @attention -/// EFI_IMAGE_OPTIONAL_HEADER32 and EFI_IMAGE_OPTIONAL_HEADER64 -/// are for use ONLY by tools. All proper EFI code MUST use -/// EFI_IMAGE_OPTIONAL_HEADER ONLY!!! -/// -#define EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b - -typedef struct { - // - // Standard fields. - // - UINT16 Magic; - UINT8 MajorLinkerVersion; - UINT8 MinorLinkerVersion; - UINT32 SizeOfCode; - UINT32 SizeOfInitializedData; - UINT32 SizeOfUninitializedData; - UINT32 AddressOfEntryPoint; - UINT32 BaseOfCode; - // - // NT additional fields. - // - UINT64 ImageBase; - UINT32 SectionAlignment; - UINT32 FileAlignment; - UINT16 MajorOperatingSystemVersion; - UINT16 MinorOperatingSystemVersion; - UINT16 MajorImageVersion; - UINT16 MinorImageVersion; - UINT16 MajorSubsystemVersion; - UINT16 MinorSubsystemVersion; - UINT32 Win32VersionValue; - UINT32 SizeOfImage; - UINT32 SizeOfHeaders; - UINT32 CheckSum; - UINT16 Subsystem; - UINT16 DllCharacteristics; - UINT64 SizeOfStackReserve; - UINT64 SizeOfStackCommit; - UINT64 SizeOfHeapReserve; - UINT64 SizeOfHeapCommit; - UINT32 LoaderFlags; - UINT32 NumberOfRvaAndSizes; - EFI_IMAGE_DATA_DIRECTORY DataDirectory[EFI_IMAGE_NUMBER_OF_DIRECTORY_EN= TRIES]; -} EFI_IMAGE_OPTIONAL_HEADER64; - -/// -/// @attention -/// EFI_IMAGE_NT_HEADERS32 and EFI_IMAGE_HEADERS64 are for use ONLY -/// by tools. All proper EFI code MUST use EFI_IMAGE_NT_HEADERS ONLY!!! -/// -typedef struct { - UINT32 Signature; - EFI_IMAGE_FILE_HEADER FileHeader; - EFI_IMAGE_OPTIONAL_HEADER32 OptionalHeader; -} EFI_IMAGE_NT_HEADERS32; - -#define EFI_IMAGE_SIZEOF_NT_OPTIONAL32_HEADER sizeof (EFI_IMAGE_NT_HEADERS= 32) - -typedef struct { - UINT32 Signature; - EFI_IMAGE_FILE_HEADER FileHeader; - EFI_IMAGE_OPTIONAL_HEADER64 OptionalHeader; -} EFI_IMAGE_NT_HEADERS64; - -#define EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER sizeof (EFI_IMAGE_NT_HEADERS= 64) - -// -// Subsystem Values -// -#define EFI_IMAGE_SUBSYSTEM_UNKNOWN 0 -#define EFI_IMAGE_SUBSYSTEM_NATIVE 1 -#define EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI 2 -#define EFI_IMAGE_SUBSYSTEM_WINDOWS_CUI 3. -#define EFI_IMAGE_SUBSYSTEM_OS2_CUI 5 -#define EFI_IMAGE_SUBSYSTEM_POSIX_CUI 7 - -// -// Directory Entries -// -#define EFI_IMAGE_DIRECTORY_ENTRY_EXPORT 0 -#define EFI_IMAGE_DIRECTORY_ENTRY_IMPORT 1 -#define EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE 2 -#define EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 -#define EFI_IMAGE_DIRECTORY_ENTRY_SECURITY 4 -#define EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC 5 -#define EFI_IMAGE_DIRECTORY_ENTRY_DEBUG 6 -#define EFI_IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 -#define EFI_IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 -#define EFI_IMAGE_DIRECTORY_ENTRY_TLS 9 -#define EFI_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 - -// -// Section header format. -// -#define EFI_IMAGE_SIZEOF_SHORT_NAME 8 - -typedef struct { - UINT8 Name[EFI_IMAGE_SIZEOF_SHORT_NAME]; - union { - UINT32 PhysicalAddress; - UINT32 VirtualSize; - } Misc; - UINT32 VirtualAddress; - UINT32 SizeOfRawData; - UINT32 PointerToRawData; - UINT32 PointerToRelocations; - UINT32 PointerToLinenumbers; - UINT16 NumberOfRelocations; - UINT16 NumberOfLinenumbers; - UINT32 Characteristics; -} EFI_IMAGE_SECTION_HEADER; - -#define EFI_IMAGE_SIZEOF_SECTION_HEADER 40 - -#define EFI_IMAGE_SCN_TYPE_NO_PAD 0x00000008 // Reserved. -#define EFI_IMAGE_SCN_CNT_CODE 0x00000020 -#define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 -#define EFI_IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 - -#define EFI_IMAGE_SCN_LNK_OTHER 0x00000100 // Reserved. -#define EFI_IMAGE_SCN_LNK_INFO 0x00000200 // Section conta= ins comments or some other type of information. -#define EFI_IMAGE_SCN_LNK_REMOVE 0x00000800 // Section conte= nts will not become part of image. -#define EFI_IMAGE_SCN_LNK_COMDAT 0x00001000 - -#define EFI_IMAGE_SCN_ALIGN_1BYTES 0x00100000 -#define EFI_IMAGE_SCN_ALIGN_2BYTES 0x00200000 -#define EFI_IMAGE_SCN_ALIGN_4BYTES 0x00300000 -#define EFI_IMAGE_SCN_ALIGN_8BYTES 0x00400000 -#define EFI_IMAGE_SCN_ALIGN_16BYTES 0x00500000 -#define EFI_IMAGE_SCN_ALIGN_32BYTES 0x00600000 -#define EFI_IMAGE_SCN_ALIGN_64BYTES 0x00700000 - -#define EFI_IMAGE_SCN_MEM_DISCARDABLE 0x02000000 -#define EFI_IMAGE_SCN_MEM_NOT_CACHED 0x04000000 -#define EFI_IMAGE_SCN_MEM_NOT_PAGED 0x08000000 -#define EFI_IMAGE_SCN_MEM_SHARED 0x10000000 -#define EFI_IMAGE_SCN_MEM_EXECUTE 0x20000000 -#define EFI_IMAGE_SCN_MEM_READ 0x40000000 -#define EFI_IMAGE_SCN_MEM_WRITE 0x80000000 - -/// -/// Symbol format. -/// -#define EFI_IMAGE_SIZEOF_SYMBOL 18 - -// -// Section values. -// -// Symbols have a section number of the section in which they are -// defined. Otherwise, section numbers have the following meanings: -// -#define EFI_IMAGE_SYM_UNDEFINED (UINT16) 0 // Symbol is undefined or is c= ommon. -#define EFI_IMAGE_SYM_ABSOLUTE (UINT16) -1 // Symbol is an absolute value. -#define EFI_IMAGE_SYM_DEBUG (UINT16) -2 // Symbol is a special debug i= tem. -// -// Type (fundamental) values. -// -#define EFI_IMAGE_SYM_TYPE_NULL 0 // no type. -#define EFI_IMAGE_SYM_TYPE_VOID 1 // -#define EFI_IMAGE_SYM_TYPE_CHAR 2 // type character. -#define EFI_IMAGE_SYM_TYPE_SHORT 3 // type short integer. -#define EFI_IMAGE_SYM_TYPE_INT 4 -#define EFI_IMAGE_SYM_TYPE_LONG 5 -#define EFI_IMAGE_SYM_TYPE_FLOAT 6 -#define EFI_IMAGE_SYM_TYPE_DOUBLE 7 -#define EFI_IMAGE_SYM_TYPE_STRUCT 8 -#define EFI_IMAGE_SYM_TYPE_UNION 9 -#define EFI_IMAGE_SYM_TYPE_ENUM 10 // enumeration. -#define EFI_IMAGE_SYM_TYPE_MOE 11 // member of enumeration. -#define EFI_IMAGE_SYM_TYPE_BYTE 12 -#define EFI_IMAGE_SYM_TYPE_WORD 13 -#define EFI_IMAGE_SYM_TYPE_UINT 14 -#define EFI_IMAGE_SYM_TYPE_DWORD 15 - -// -// Type (derived) values. -// -#define EFI_IMAGE_SYM_DTYPE_NULL 0 // no derived type. -#define EFI_IMAGE_SYM_DTYPE_POINTER 1 -#define EFI_IMAGE_SYM_DTYPE_FUNCTION 2 -#define EFI_IMAGE_SYM_DTYPE_ARRAY 3 - -// -// Storage classes. -// -#define EFI_IMAGE_SYM_CLASS_END_OF_FUNCTION (UINT8) -1 -#define EFI_IMAGE_SYM_CLASS_NULL 0 -#define EFI_IMAGE_SYM_CLASS_AUTOMATIC 1 -#define EFI_IMAGE_SYM_CLASS_EXTERNAL 2 -#define EFI_IMAGE_SYM_CLASS_STATIC 3 -#define EFI_IMAGE_SYM_CLASS_REGISTER 4 -#define EFI_IMAGE_SYM_CLASS_EXTERNAL_DEF 5 -#define EFI_IMAGE_SYM_CLASS_LABEL 6 -#define EFI_IMAGE_SYM_CLASS_UNDEFINED_LABEL 7 -#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8 -#define EFI_IMAGE_SYM_CLASS_ARGUMENT 9 -#define EFI_IMAGE_SYM_CLASS_STRUCT_TAG 10 -#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_UNION 11 -#define EFI_IMAGE_SYM_CLASS_UNION_TAG 12 -#define EFI_IMAGE_SYM_CLASS_TYPE_DEFINITION 13 -#define EFI_IMAGE_SYM_CLASS_UNDEFINED_STATIC 14 -#define EFI_IMAGE_SYM_CLASS_ENUM_TAG 15 -#define EFI_IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16 -#define EFI_IMAGE_SYM_CLASS_REGISTER_PARAM 17 -#define EFI_IMAGE_SYM_CLASS_BIT_FIELD 18 -#define EFI_IMAGE_SYM_CLASS_BLOCK 100 -#define EFI_IMAGE_SYM_CLASS_FUNCTION 101 -#define EFI_IMAGE_SYM_CLASS_END_OF_STRUCT 102 -#define EFI_IMAGE_SYM_CLASS_FILE 103 -#define EFI_IMAGE_SYM_CLASS_SECTION 104 -#define EFI_IMAGE_SYM_CLASS_WEAK_EXTERNAL 105 - -// -// type packing constants -// -#define EFI_IMAGE_N_BTMASK 017 -#define EFI_IMAGE_N_TMASK 060 -#define EFI_IMAGE_N_TMASK1 0300 -#define EFI_IMAGE_N_TMASK2 0360 -#define EFI_IMAGE_N_BTSHFT 4 -#define EFI_IMAGE_N_TSHIFT 2 - -// -// Communal selection types. -// -#define EFI_IMAGE_COMDAT_SELECT_NODUPLICATES 1 -#define EFI_IMAGE_COMDAT_SELECT_ANY 2 -#define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE 3 -#define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH 4 -#define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE 5 - -#define EFI_IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1 -#define EFI_IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2 -#define EFI_IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3 - -/// -/// Relocation format. -/// -typedef struct { - UINT32 VirtualAddress; - UINT32 SymbolTableIndex; - UINT16 Type; -} EFI_IMAGE_RELOCATION; - -#define EFI_IMAGE_SIZEOF_RELOCATION 10 - -// -// I386 relocation types. -// -#define EFI_IMAGE_REL_I386_ABSOLUTE 0 // Reference is absolute, no reloc= ation is necessary -#define EFI_IMAGE_REL_I386_DIR16 01 // Direct 16-bit reference to the = symbols virtual address -#define EFI_IMAGE_REL_I386_REL16 02 // PC-relative 16-bit reference to= the symbols virtual address -#define EFI_IMAGE_REL_I386_DIR32 06 // Direct 32-bit reference to the = symbols virtual address -#define EFI_IMAGE_REL_I386_DIR32NB 07 // Direct 32-bit reference to the = symbols virtual address, base not included -#define EFI_IMAGE_REL_I386_SEG12 09 // Direct 16-bit reference to the = segment-selector bits of a 32-bit virtual address -#define EFI_IMAGE_REL_I386_SECTION 010 -#define EFI_IMAGE_REL_I386_SECREL 011 -#define EFI_IMAGE_REL_I386_REL32 020 // PC-relative 32-bit reference to= the symbols virtual address - -// -// x64 processor relocation types. -// -#define IMAGE_REL_AMD64_ABSOLUTE 0x0000 -#define IMAGE_REL_AMD64_ADDR64 0x0001 -#define IMAGE_REL_AMD64_ADDR32 0x0002 -#define IMAGE_REL_AMD64_ADDR32NB 0x0003 -#define IMAGE_REL_AMD64_REL32 0x0004 -#define IMAGE_REL_AMD64_REL32_1 0x0005 -#define IMAGE_REL_AMD64_REL32_2 0x0006 -#define IMAGE_REL_AMD64_REL32_3 0x0007 -#define IMAGE_REL_AMD64_REL32_4 0x0008 -#define IMAGE_REL_AMD64_REL32_5 0x0009 -#define IMAGE_REL_AMD64_SECTION 0x000A -#define IMAGE_REL_AMD64_SECREL 0x000B -#define IMAGE_REL_AMD64_SECREL7 0x000C -#define IMAGE_REL_AMD64_TOKEN 0x000D -#define IMAGE_REL_AMD64_SREL32 0x000E -#define IMAGE_REL_AMD64_PAIR 0x000F -#define IMAGE_REL_AMD64_SSPAN32 0x0010 - -/// -/// Based relocation format. -/// -typedef struct { - UINT32 VirtualAddress; - UINT32 SizeOfBlock; -} EFI_IMAGE_BASE_RELOCATION; - -#define EFI_IMAGE_SIZEOF_BASE_RELOCATION 8 - -// -// Based relocation types. -// -#define EFI_IMAGE_REL_BASED_ABSOLUTE 0 -#define EFI_IMAGE_REL_BASED_HIGH 1 -#define EFI_IMAGE_REL_BASED_LOW 2 -#define EFI_IMAGE_REL_BASED_HIGHLOW 3 -#define EFI_IMAGE_REL_BASED_HIGHADJ 4 -#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR 5 -#define EFI_IMAGE_REL_BASED_ARM_MOV32A 5 -#define EFI_IMAGE_REL_BASED_RISCV_HI20 5 -#define EFI_IMAGE_REL_BASED_ARM_MOV32T 7 -#define EFI_IMAGE_REL_BASED_RISCV_LOW12I 7 -#define EFI_IMAGE_REL_BASED_RISCV_LOW12S 8 -#define EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA 8 -#define EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA 8 -#define EFI_IMAGE_REL_BASED_IA64_IMM64 9 -#define EFI_IMAGE_REL_BASED_DIR64 10 - - -/// -/// Line number format. -/// -typedef struct { - union { - UINT32 SymbolTableIndex; // Symbol table index of function name if Li= nenumber is 0. - UINT32 VirtualAddress; // Virtual address of line number. - } Type; - UINT16 Linenumber; // Line number. -} EFI_IMAGE_LINENUMBER; - -#define EFI_IMAGE_SIZEOF_LINENUMBER 6 - -// -// Archive format. -// -#define EFI_IMAGE_ARCHIVE_START_SIZE 8 -#define EFI_IMAGE_ARCHIVE_START "!\n" -#define EFI_IMAGE_ARCHIVE_END "`\n" -#define EFI_IMAGE_ARCHIVE_PAD "\n" -#define EFI_IMAGE_ARCHIVE_LINKER_MEMBER "/ " -#define EFI_IMAGE_ARCHIVE_LONGNAMES_MEMBER "// " - -typedef struct { - UINT8 Name[16]; // File member name - `/' terminated. - UINT8 Date[12]; // File member date - decimal. - UINT8 UserID[6]; // File member user id - decimal. - UINT8 GroupID[6]; // File member group id - decimal. - UINT8 Mode[8]; // File member mode - octal. - UINT8 Size[10]; // File member size - decimal. - UINT8 EndHeader[2]; // String to end header. -} EFI_IMAGE_ARCHIVE_MEMBER_HEADER; - -#define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60 - -// -// DLL support. -// - -/// -/// DLL Export Format -/// -typedef struct { - UINT32 Characteristics; - UINT32 TimeDateStamp; - UINT16 MajorVersion; - UINT16 MinorVersion; - UINT32 Name; - UINT32 Base; - UINT32 NumberOfFunctions; - UINT32 NumberOfNames; - UINT32 AddressOfFunctions; - UINT32 AddressOfNames; - UINT32 AddressOfNameOrdinals; -} EFI_IMAGE_EXPORT_DIRECTORY; - -// -// Based export types. -// -#define EFI_IMAGE_EXPORT_ORDINAL_BASE 1 -#define EFI_IMAGE_EXPORT_ADDR_SIZE 4 -#define EFI_IMAGE_EXPORT_ORDINAL_SIZE 2 - -/// -/// DLL support. -/// Import Format -/// -typedef struct { - UINT16 Hint; - UINT8 Name[1]; -} EFI_IMAGE_IMPORT_BY_NAME; - -typedef struct { - union { - UINT32 Function; - UINT32 Ordinal; - EFI_IMAGE_IMPORT_BY_NAME *AddressOfData; - } u1; -} EFI_IMAGE_THUNK_DATA; - -#define EFI_IMAGE_ORDINAL_FLAG 0x80000000 -#define EFI_IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & EFI_IMAGE_ORDINAL_= FLAG) !=3D 0) -#define EFI_IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff) - -typedef struct { - UINT32 Characteristics; - UINT32 TimeDateStamp; - UINT32 ForwarderChain; - UINT32 Name; - EFI_IMAGE_THUNK_DATA *FirstThunk; -} EFI_IMAGE_IMPORT_DESCRIPTOR; - -/// -/// Debug Format -/// -#define EFI_IMAGE_DEBUG_TYPE_CODEVIEW 2 - -typedef struct { - UINT32 Characteristics; - UINT32 TimeDateStamp; - UINT16 MajorVersion; - UINT16 MinorVersion; - UINT32 Type; - UINT32 SizeOfData; - UINT32 RVA; - UINT32 FileOffset; -} EFI_IMAGE_DEBUG_DIRECTORY_ENTRY; - -#define CODEVIEW_SIGNATURE_NB10 0x3031424E // "NB10" -typedef struct { - UINT32 Signature; // "NB10" - UINT32 Unknown; - UINT32 Unknown2; - UINT32 Unknown3; - // - // Filename of .PDB goes here - // -} EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY; - -#define CODEVIEW_SIGNATURE_RSDS 0x53445352 // "RSDS" -typedef struct { - UINT32 Signature; // "RSDS" - UINT32 Unknown; - UINT32 Unknown2; - UINT32 Unknown3; - UINT32 Unknown4; - UINT32 Unknown5; - // - // Filename of .PDB goes here - // -} EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY; - -/// -/// Debug Data Structure defined by Apple Mach-O to Coff utility -/// -#define CODEVIEW_SIGNATURE_MTOC SIGNATURE_32('M', 'T', 'O', 'C') -typedef struct { - UINT32 Signature; ///< "MTOC" - EFI_GUID MachOUuid; - // - // Filename of .DLL (Mach-O with debug info) goes here - // -} EFI_IMAGE_DEBUG_CODEVIEW_MTOC_ENTRY; - -// -// .pdata entries for X64 -// -typedef struct { - UINT32 FunctionStartAddress; - UINT32 FunctionEndAddress; - UINT32 UnwindInfoAddress; -} RUNTIME_FUNCTION; - -typedef struct { - UINT8 Version:3; - UINT8 Flags:5; - UINT8 SizeOfProlog; - UINT8 CountOfUnwindCodes; - UINT8 FrameRegister:4; - UINT8 FrameRegisterOffset:4; -} UNWIND_INFO; - -/// -/// Resource format. -/// -typedef struct { - UINT32 Characteristics; - UINT32 TimeDateStamp; - UINT16 MajorVersion; - UINT16 MinorVersion; - UINT16 NumberOfNamedEntries; - UINT16 NumberOfIdEntries; - // - // Array of EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY entries goes here. - // -} EFI_IMAGE_RESOURCE_DIRECTORY; - -/// -/// Resource directory entry format. -/// -typedef struct { - union { - struct { - UINT32 NameOffset:31; - UINT32 NameIsString:1; - } s; - UINT32 Id; - } u1; - union { - UINT32 OffsetToData; - struct { - UINT32 OffsetToDirectory:31; - UINT32 DataIsDirectory:1; - } s; - } u2; -} EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY; - -/// -/// Resource directory entry for string. -/// -typedef struct { - UINT16 Length; - CHAR16 String[1]; -} EFI_IMAGE_RESOURCE_DIRECTORY_STRING; - -/// -/// Resource directory entry for data array. -/// -typedef struct { - UINT32 OffsetToData; - UINT32 Size; - UINT32 CodePage; - UINT32 Reserved; -} EFI_IMAGE_RESOURCE_DATA_ENTRY; - -/// -/// Header format for TE images -/// -typedef struct { - UINT16 Signature; // signature for TE form= at =3D "VZ" - UINT16 Machine; // from the original fil= e header - UINT8 NumberOfSections; // from the original fil= e header - UINT8 Subsystem; // from original optiona= l header - UINT16 StrippedSize; // how many bytes we rem= oved from the header - UINT32 AddressOfEntryPoint; // offset to entry point= -- from original optional header - UINT32 BaseOfCode; // from original image -= - required for ITP debug - UINT64 ImageBase; // from original file he= ader - EFI_IMAGE_DATA_DIRECTORY DataDirectory[2]; // only base relocation = and debug directory -} EFI_TE_IMAGE_HEADER; - -#define EFI_TE_IMAGE_HEADER_SIGNATURE 0x5A56 // "VZ" - -// -// Data directory indexes in our TE image header -// -#define EFI_TE_IMAGE_DIRECTORY_ENTRY_BASERELOC 0 -#define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG 1 - - -// -// Union of PE32, PE32+, and TE headers -// -typedef union { - EFI_IMAGE_NT_HEADERS32 Pe32; - EFI_IMAGE_NT_HEADERS64 Pe32Plus; - EFI_TE_IMAGE_HEADER Te; -} EFI_IMAGE_OPTIONAL_HEADER_UNION; - -typedef union { - EFI_IMAGE_NT_HEADERS32 *Pe32; - EFI_IMAGE_NT_HEADERS64 *Pe32Plus; - EFI_TE_IMAGE_HEADER *Te; - EFI_IMAGE_OPTIONAL_HEADER_UNION *Union; -} EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION; - -#endif --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101665): https://edk2.groups.io/g/devel/message/101665 Mute This Topic: https://groups.io/mt/97798537/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 16:52:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+101664+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101664+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679570276; cv=none; d=zohomail.com; s=zohoarc; b=UApVpKJRuNdUzH4lfjlhu5x8p9wNLbs0tEgYh3+/HcWijs05xF+nTwgXagLd93e1Qb6X5fRP/MXJyPBNKz+x1+tImEM2acG3PYC+dAzaG0IXZ83V4MckT+yCZZRNrZLQtlE6OorqHuLSf6/hIbgi49QoH/hADX0g83srqK7KzOU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679570276; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=FvBCKrSJtI3S//o8v6AoSP95+M4RwypitQnHd9T5GKU=; b=PTQzJ79uJMJyJH8/1Yq7pXWelb/GgDvG2cNQx1h7HtI7gB1LFT/EdWlg6v69ro44yegci2eD9ws+ClbCYf02w9KX9hSdUYVlYhuv0iChIiLUJNeC5xIdFFJXlGZGvoGsVMnK+2dFfcox6RWLbPwSBJaHqQxeB9NZ7PaMQ0edoNc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+101664+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16795702762761016.7363930489753; Thu, 23 Mar 2023 04:17:56 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id YECAYY1788612xBB77rlGtBm; Thu, 23 Mar 2023 04:17:55 -0700 X-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.web11.69549.1679570274947088206 for ; Thu, 23 Mar 2023 04:17:55 -0700 X-Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-546-hVKv20uPO6mv8zCTaTXOgw-1; Thu, 23 Mar 2023 07:17:51 -0400 X-MC-Unique: hVKv20uPO6mv8zCTaTXOgw-1 X-Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6C06C2823810; Thu, 23 Mar 2023 11:17:50 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.241]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5DA1B4619F5; Thu, 23 Mar 2023 11:17:49 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id BD2A91801E91; Thu, 23 Mar 2023 12:17:33 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Leif Lindholm , Pawel Polawski , Bob Feng , Sunil V L , =?UTF-8?q?Marvin=20H=C3=A4user?= , Chao Li , Dongyan Qian , Michael D Kinney , Zhiguang Liu , Yuwei Chen , Liming Gao , Ard Biesheuvel , Baoqi Zhang , Oliver Steffen , Daniel Schaefer , Gerd Hoffmann Subject: [edk2-devel] [PATCH 8/8] BaseTools: remove duplicate includes: IndustryStandard/*.h Date: Thu, 23 Mar 2023 12:17:33 +0100 Message-Id: <20230323111733.690211-9-kraxel@redhat.com> In-Reply-To: <20230323111733.690211-1-kraxel@redhat.com> References: <20230323111733.690211-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: QdFBOVUwdwbxF5VE9T8dceYqx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1679570275; bh=DHipSS8RNK9G4O+L+f5x6rMshxUhIR84SuLB03FUiTo=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=gb2u2sUjAjJ/nRL7ZOut5Z5d1a9PsdIfSP5A12VTDjXnh6wg2RB5Ofw/N2ioXi38a9s TurKOGTNBv/2SM44rpyNZQCJrG9TJz1K+jozmE88hl1dFr+bPfcjoR6EVHWIkJwteVWr3 PM27BD5brZv7Ei+5yGTfd2Yk9uVqMfZq0e8= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1679570277539100005 Content-Type: text/plain; charset="utf-8"; x-default="true" Use the MdePkg versions instead of maintaining a copy in BaseTools. Signed-off-by: Gerd Hoffmann --- BaseTools/Source/C/EfiRom/EfiRom.h | 4 +- .../C/Include/IndustryStandard/Bluetooth.h | 56 -- .../C/Include/IndustryStandard/EfiPci.h | 51 -- ...emoryMappedConfigurationSpaceAccessTable.h | 39 -- .../Source/C/Include/IndustryStandard/pci22.h | 536 ------------------ .../Source/C/Include/IndustryStandard/pci23.h | 18 - .../Source/C/Include/IndustryStandard/pci30.h | 38 -- 7 files changed, 2 insertions(+), 740 deletions(-) delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/Bluetooth.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/EfiPci.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/MemoryMappe= dConfigurationSpaceAccessTable.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/pci22.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/pci23.h delete mode 100644 BaseTools/Source/C/Include/IndustryStandard/pci30.h diff --git a/BaseTools/Source/C/EfiRom/EfiRom.h b/BaseTools/Source/C/EfiRom= /EfiRom.h index 887a6a51e25b..dfb4c3207794 100644 --- a/BaseTools/Source/C/EfiRom/EfiRom.h +++ b/BaseTools/Source/C/EfiRom/EfiRom.h @@ -16,8 +16,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include #include // for PE32 structure definitions =20 -#include // for option ROM header structures -#include +#include // for option ROM header structures +#include =20 #include "Compress.h" #include "CommonLib.h" diff --git a/BaseTools/Source/C/Include/IndustryStandard/Bluetooth.h b/Base= Tools/Source/C/Include/IndustryStandard/Bluetooth.h deleted file mode 100644 index 82f5e6299e78..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/Bluetooth.h +++ /dev/null @@ -1,56 +0,0 @@ -/** @file - This file contains the Bluetooth definitions that are consumed by driver= s. - These definitions are from Bluetooth Core Specification Version 4.0 June= , 2010 - - Copyright (c) 2017, Intel Corporation. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _BLUETOOTH_H_ -#define _BLUETOOTH_H_ - -#pragma pack(1) - -/// -/// BLUETOOTH_ADDRESS -/// -typedef struct { - /// - /// 48bit Bluetooth device address. - /// - UINT8 Address[6]; -} BLUETOOTH_ADDRESS; - -/// -/// BLUETOOTH_CLASS_OF_DEVICE. See Bluetooth specification for detail. -/// -typedef struct { - UINT8 FormatType:2; - UINT8 MinorDeviceClass: 6; - UINT16 MajorDeviceClass: 5; - UINT16 MajorServiceClass:11; -} BLUETOOTH_CLASS_OF_DEVICE; - -/// -/// BLUETOOTH_LE_ADDRESS -/// -typedef struct { - /// - /// 48-bit Bluetooth device address - /// - UINT8 Address[6]; - /// - /// 0x00 - Public Device Address - /// 0x01 - Random Device Address - /// - UINT8 Type; -} BLUETOOTH_LE_ADDRESS; - -#pragma pack() - -#define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE 248 - -#define BLUETOOTH_HCI_LINK_KEY_SIZE 16 - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/EfiPci.h b/BaseToo= ls/Source/C/Include/IndustryStandard/EfiPci.h deleted file mode 100644 index aab27f9bf914..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/EfiPci.h +++ /dev/null @@ -1,51 +0,0 @@ -/** @file - Support for EFI PCI specification. - - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _EFI_PCI_H_ -#define _EFI_PCI_H_ - -//#include "pci22.h" -//#include "pci23.h" -//#include "pci30.h" - -#pragma pack(push, 1) - -typedef struct { - UINT8 Register; - UINT8 Function; - UINT8 Device; - UINT8 Bus; - UINT8 Reserved[4]; -} DEFIO_PCI_ADDR; - -#define EFI_ROOT_BRIDGE_LIST 'eprb' -#define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1 - -typedef struct { - UINT16 Signature; // 0xaa55 - UINT16 InitializationSize; - UINT32 EfiSignature; // 0x0EF1 - UINT16 EfiSubsystem; - UINT16 EfiMachineType; - UINT16 CompressionType; - UINT8 Reserved[8]; - UINT16 EfiImageHeaderOffset; - UINT16 PcirOffset; -} EFI_PCI_EXPANSION_ROM_HEADER; - -typedef union { - UINT8 *Raw; - PCI_EXPANSION_ROM_HEADER *Generic; - EFI_PCI_EXPANSION_ROM_HEADER *Efi; - EFI_LEGACY_EXPANSION_ROM_HEADER *PcAt; -} EFI_PCI_ROM_HEADER; - -#pragma pack(pop) - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/MemoryMappedConfig= urationSpaceAccessTable.h b/BaseTools/Source/C/Include/IndustryStandard/Mem= oryMappedConfigurationSpaceAccessTable.h deleted file mode 100644 index 3d435001fc4d..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/MemoryMappedConfiguration= SpaceAccessTable.h +++ /dev/null @@ -1,39 +0,0 @@ -/** @file - ACPI memory mapped configuration space access table definition, defined = at - in the PCI Firmware Specification, version 3.0 draft version 0.5. - Specification is available at http://www.pcisig.com. - - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_ -#define _MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_H_ - -// -// Ensure proper structure formats -// -#pragma pack(1) -// -// Memory Mapped Configuration Space Access Table (MCFG) -// This table is a basic description table header followed by -// a number of base address allocation structures. -// -typedef struct { - UINT64 BaseAddress; - UINT16 PciSegmentGroupNumber; - UINT8 StartBusNumber; - UINT8 EndBusNumber; - UINT32 Reserved; -} EFI_ACPI_MEMORY_MAPPED_ENHANCED_CONFIGURATION_SPACE_BASE_ADDRESS_ALLOCAT= ION_STRUCTURE; - -// -// MCFG Revision (defined in spec) -// -#define EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION = 0x01 - -#pragma pack() - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/pci22.h b/BaseTool= s/Source/C/Include/IndustryStandard/pci22.h deleted file mode 100644 index b43d74885e44..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/pci22.h +++ /dev/null @@ -1,536 +0,0 @@ -/** @file - Support for PCI 2.2 standard. - - Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _PCI22_H -#define _PCI22_H - -#define PCI_MAX_SEGMENT 0 - -#define PCI_MAX_BUS 255 - -#define PCI_MAX_DEVICE 31 -#define PCI_MAX_FUNC 7 - -// -// Command -// -#define PCI_VGA_PALETTE_SNOOP_DISABLED 0x20 - -#pragma pack(push, 1) -typedef struct { - UINT16 VendorId; - UINT16 DeviceId; - UINT16 Command; - UINT16 Status; - UINT8 RevisionID; - UINT8 ClassCode[3]; - UINT8 CacheLineSize; - UINT8 LatencyTimer; - UINT8 HeaderType; - UINT8 BIST; -} PCI_DEVICE_INDEPENDENT_REGION; - -typedef struct { - UINT32 Bar[6]; - UINT32 CISPtr; - UINT16 SubsystemVendorID; - UINT16 SubsystemID; - UINT32 ExpansionRomBar; - UINT8 CapabilityPtr; - UINT8 Reserved1[3]; - UINT32 Reserved2; - UINT8 InterruptLine; - UINT8 InterruptPin; - UINT8 MinGnt; - UINT8 MaxLat; -} PCI_DEVICE_HEADER_TYPE_REGION; - -typedef struct { - PCI_DEVICE_INDEPENDENT_REGION Hdr; - PCI_DEVICE_HEADER_TYPE_REGION Device; -} PCI_TYPE00; - -typedef struct { - UINT32 Bar[2]; - UINT8 PrimaryBus; - UINT8 SecondaryBus; - UINT8 SubordinateBus; - UINT8 SecondaryLatencyTimer; - UINT8 IoBase; - UINT8 IoLimit; - UINT16 SecondaryStatus; - UINT16 MemoryBase; - UINT16 MemoryLimit; - UINT16 PrefetchableMemoryBase; - UINT16 PrefetchableMemoryLimit; - UINT32 PrefetchableBaseUpper32; - UINT32 PrefetchableLimitUpper32; - UINT16 IoBaseUpper16; - UINT16 IoLimitUpper16; - UINT8 CapabilityPtr; - UINT8 Reserved[3]; - UINT32 ExpansionRomBAR; - UINT8 InterruptLine; - UINT8 InterruptPin; - UINT16 BridgeControl; -} PCI_BRIDGE_CONTROL_REGISTER; - -typedef struct { - PCI_DEVICE_INDEPENDENT_REGION Hdr; - PCI_BRIDGE_CONTROL_REGISTER Bridge; -} PCI_TYPE01; - -typedef union { - PCI_TYPE00 Device; - PCI_TYPE01 Bridge; -} PCI_TYPE_GENERIC; - -typedef struct { - UINT32 CardBusSocketReg; // Cardbus Socket/ExCA Base - // Address Register - // - UINT16 Reserved; - UINT16 SecondaryStatus; // Secondary Status - UINT8 PciBusNumber; // PCI Bus Number - UINT8 CardBusBusNumber; // CardBus Bus Number - UINT8 SubordinateBusNumber; // Subordinate Bus Number - UINT8 CardBusLatencyTimer; // CardBus Latency Timer - UINT32 MemoryBase0; // Memory Base Register 0 - UINT32 MemoryLimit0; // Memory Limit Register 0 - UINT32 MemoryBase1; - UINT32 MemoryLimit1; - UINT32 IoBase0; - UINT32 IoLimit0; // I/O Base Register 0 - UINT32 IoBase1; // I/O Limit Register 0 - UINT32 IoLimit1; - UINT8 InterruptLine; // Interrupt Line - UINT8 InterruptPin; // Interrupt Pin - UINT16 BridgeControl; // Bridge Control -} PCI_CARDBUS_CONTROL_REGISTER; - -// -// Definitions of PCI class bytes and manipulation macros. -// -#define PCI_CLASS_OLD 0x00 -#define PCI_CLASS_OLD_OTHER 0x00 -#define PCI_CLASS_OLD_VGA 0x01 - -#define PCI_CLASS_MASS_STORAGE 0x01 -#define PCI_CLASS_MASS_STORAGE_SCSI 0x00 -#define PCI_CLASS_MASS_STORAGE_IDE 0x01 // obsolete -#define PCI_CLASS_IDE 0x01 -#define PCI_CLASS_MASS_STORAGE_FLOPPY 0x02 -#define PCI_CLASS_MASS_STORAGE_IPI 0x03 -#define PCI_CLASS_MASS_STORAGE_RAID 0x04 -#define PCI_CLASS_MASS_STORAGE_OTHER 0x80 - -#define PCI_CLASS_NETWORK 0x02 -#define PCI_CLASS_NETWORK_ETHERNET 0x00 -#define PCI_CLASS_ETHERNET 0x00 // obsolete -#define PCI_CLASS_NETWORK_TOKENRING 0x01 -#define PCI_CLASS_NETWORK_FDDI 0x02 -#define PCI_CLASS_NETWORK_ATM 0x03 -#define PCI_CLASS_NETWORK_ISDN 0x04 -#define PCI_CLASS_NETWORK_OTHER 0x80 - -#define PCI_CLASS_DISPLAY 0x03 -#define PCI_CLASS_DISPLAY_CTRL 0x03 // obsolete -#define PCI_CLASS_DISPLAY_VGA 0x00 -#define PCI_CLASS_VGA 0x00 // obsolete -#define PCI_CLASS_DISPLAY_XGA 0x01 -#define PCI_CLASS_DISPLAY_3D 0x02 -#define PCI_CLASS_DISPLAY_OTHER 0x80 -#define PCI_CLASS_DISPLAY_GFX 0x80 -#define PCI_CLASS_GFX 0x80 // obsolete -#define PCI_CLASS_BRIDGE 0x06 -#define PCI_CLASS_BRIDGE_HOST 0x00 -#define PCI_CLASS_BRIDGE_ISA 0x01 -#define PCI_CLASS_ISA 0x01 // obsolete -#define PCI_CLASS_BRIDGE_EISA 0x02 -#define PCI_CLASS_BRIDGE_MCA 0x03 -#define PCI_CLASS_BRIDGE_P2P 0x04 -#define PCI_CLASS_BRIDGE_PCMCIA 0x05 -#define PCI_CLASS_BRIDGE_NUBUS 0x06 -#define PCI_CLASS_BRIDGE_CARDBUS 0x07 -#define PCI_CLASS_BRIDGE_RACEWAY 0x08 -#define PCI_CLASS_BRIDGE_ISA_PDECODE 0x80 -#define PCI_CLASS_ISA_POSITIVE_DECODE 0x80 // obsolete - -#define PCI_CLASS_SCC 0x07 // Simple communications contr= ollers -#define PCI_SUBCLASS_SERIAL 0x00 -#define PCI_IF_GENERIC_XT 0x00 -#define PCI_IF_16450 0x01 -#define PCI_IF_16550 0x02 -#define PCI_IF_16650 0x03 -#define PCI_IF_16750 0x04 -#define PCI_IF_16850 0x05 -#define PCI_IF_16950 0x06 -#define PCI_SUBCLASS_PARALLEL 0x01 -#define PCI_IF_PARALLEL_PORT 0x00 -#define PCI_IF_BI_DIR_PARALLEL_PORT 0x01 -#define PCI_IF_ECP_PARALLEL_PORT 0x02 -#define PCI_IF_1284_CONTROLLER 0x03 -#define PCI_IF_1284_DEVICE 0xFE -#define PCI_SUBCLASS_MULTIPORT_SERIAL 0x02 -#define PCI_SUBCLASS_MODEM 0x03 -#define PCI_IF_GENERIC_MODEM 0x00 -#define PCI_IF_16450_MODEM 0x01 -#define PCI_IF_16550_MODEM 0x02 -#define PCI_IF_16650_MODEM 0x03 -#define PCI_IF_16750_MODEM 0x04 -#define PCI_SUBCLASS_OTHER 0x80 - -#define PCI_CLASS_SYSTEM_PERIPHERAL 0x08 -#define PCI_SUBCLASS_PIC 0x00 -#define PCI_IF_8259_PIC 0x00 -#define PCI_IF_ISA_PIC 0x01 -#define PCI_IF_EISA_PIC 0x02 -#define PCI_IF_APIC_CONTROLLER 0x10 // I/O APIC interrupt controlle= r , 32 byte none-prefetchable memory. -#define PCI_IF_APIC_CONTROLLER2 0x20 -#define PCI_SUBCLASS_TIMER 0x02 -#define PCI_IF_8254_TIMER 0x00 -#define PCI_IF_ISA_TIMER 0x01 -#define PCI_EISA_TIMER 0x02 -#define PCI_SUBCLASS_RTC 0x03 -#define PCI_IF_GENERIC_RTC 0x00 -#define PCI_IF_ISA_RTC 0x00 -#define PCI_SUBCLASS_PNP_CONTROLLER 0x04 // HotPlug Controller - -#define PCI_CLASS_INPUT_DEVICE 0x09 -#define PCI_SUBCLASS_KEYBOARD 0x00 -#define PCI_SUBCLASS_PEN 0x01 -#define PCI_SUBCLASS_MOUSE_CONTROLLER 0x02 -#define PCI_SUBCLASS_SCAN_CONTROLLER 0x03 -#define PCI_SUBCLASS_GAMEPORT 0x04 - -#define PCI_CLASS_DOCKING_STATION 0x0A - -#define PCI_CLASS_PROCESSOR 0x0B -#define PCI_SUBCLASS_PROC_386 0x00 -#define PCI_SUBCLASS_PROC_486 0x01 -#define PCI_SUBCLASS_PROC_PENTIUM 0x02 -#define PCI_SUBCLASS_PROC_ALPHA 0x10 -#define PCI_SUBCLASS_PROC_POWERPC 0x20 -#define PCI_SUBCLASS_PROC_MIPS 0x30 -#define PCI_SUBCLASS_PROC_CO_PORC 0x40 // Co-Processor - -#define PCI_CLASS_SERIAL 0x0C -#define PCI_CLASS_SERIAL_FIREWIRE 0x00 -#define PCI_CLASS_SERIAL_ACCESS_BUS 0x01 -#define PCI_CLASS_SERIAL_SSA 0x02 -#define PCI_CLASS_SERIAL_USB 0x03 -#define PCI_CLASS_SERIAL_FIBRECHANNEL 0x04 -#define PCI_CLASS_SERIAL_SMB 0x05 - -#define PCI_CLASS_WIRELESS 0x0D -#define PCI_SUBCLASS_IRDA 0x00 -#define PCI_SUBCLASS_IR 0x01 -#define PCI_SUBCLASS_RF 0x02 - -#define PCI_CLASS_INTELLIGENT_IO 0x0E - -#define PCI_CLASS_SATELLITE 0x0F -#define PCI_SUBCLASS_TV 0x01 -#define PCI_SUBCLASS_AUDIO 0x02 -#define PCI_SUBCLASS_VOICE 0x03 -#define PCI_SUBCLASS_DATA 0x04 - -#define PCI_SECURITY_CONTROLLER 0x10 // Encryption and decryption co= ntroller -#define PCI_SUBCLASS_NET_COMPUT 0x00 -#define PCI_SUBCLASS_ENTERTAINMENT 0x10 - -#define PCI_CLASS_DPIO 0x11 - -#define IS_CLASS1(_p, c) ((_p)->Hdr.ClassCode[2] =3D=3D (c)) -#define IS_CLASS2(_p, c, s) (IS_CLASS1 (_p, c) && ((_p)->Hdr.Cla= ssCode[1] =3D=3D (s))) -#define IS_CLASS3(_p, c, s, p) (IS_CLASS2 (_p, c, s) && ((_p)->Hdr.= ClassCode[0] =3D=3D (p))) - -#define IS_PCI_DISPLAY(_p) IS_CLASS1 (_p, PCI_CLASS_DISPLAY) -#define IS_PCI_VGA(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PC= I_CLASS_DISPLAY_VGA, 0) -#define IS_PCI_8514(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PC= I_CLASS_DISPLAY_VGA, 1) -#define IS_PCI_GFX(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PC= I_CLASS_DISPLAY_GFX, 0) -#define IS_PCI_OLD(_p) IS_CLASS1 (_p, PCI_CLASS_OLD) -#define IS_PCI_OLD_VGA(_p) IS_CLASS2 (_p, PCI_CLASS_OLD, PCI_CL= ASS_OLD_VGA) -#define IS_PCI_IDE(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAG= E, PCI_CLASS_MASS_STORAGE_IDE) -#define IS_PCI_SCSI(_p) IS_CLASS3 (_p, PCI_CLASS_MASS_STORAG= E, PCI_CLASS_MASS_STORAGE_SCSI, 0) -#define IS_PCI_RAID(_p) IS_CLASS3 (_p, PCI_CLASS_MASS_STORAG= E, PCI_CLASS_MASS_STORAGE_RAID, 0) -#define IS_PCI_LPC(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI= _CLASS_BRIDGE_ISA, 0) -#define IS_PCI_P2P(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI= _CLASS_BRIDGE_P2P, 0) -#define IS_PCI_P2P_SUB(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI= _CLASS_BRIDGE_P2P, 1) -#define IS_PCI_USB(_p) IS_CLASS2 (_p, PCI_CLASS_SERIAL, PCI= _CLASS_SERIAL_USB) - -#define HEADER_TYPE_DEVICE 0x00 -#define HEADER_TYPE_PCI_TO_PCI_BRIDGE 0x01 -#define HEADER_TYPE_CARDBUS_BRIDGE 0x02 - -#define HEADER_TYPE_MULTI_FUNCTION 0x80 -#define HEADER_LAYOUT_CODE 0x7f - -#define IS_PCI_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYO= UT_CODE) =3D=3D (HEADER_TYPE_PCI_TO_PCI_BRIDGE)) -#define IS_CARDBUS_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYO= UT_CODE) =3D=3D (HEADER_TYPE_CARDBUS_BRIDGE)) -#define IS_PCI_MULTI_FUNC(_p) ((_p)->Hdr.HeaderType & HEADER_TYPE_= MULTI_FUNCTION) - -#define PCI_DEVICE_ROMBAR 0x30 -#define PCI_BRIDGE_ROMBAR 0x38 - -#define PCI_MAX_BAR 0x0006 -#define PCI_MAX_CONFIG_OFFSET 0x0100 - -#define PCI_VENDOR_ID_OFFSET 0x00 -#define PCI_DEVICE_ID_OFFSET 0x02 -#define PCI_COMMAND_OFFSET 0x04 -#define PCI_PRIMARY_STATUS_OFFSET 0x06 -#define PCI_REVISION_ID_OFFSET 0x08 -#define PCI_CLASSCODE_OFFSET 0x09 -#define PCI_CACHELINE_SIZE_OFFSET 0x0C -#define PCI_LATENCY_TIMER_OFFSET 0x0D -#define PCI_HEADER_TYPE_OFFSET 0x0E -#define PCI_BIST_OFFSET 0x0F -#define PCI_BASE_ADDRESSREG_OFFSET 0x10 -#define PCI_CARDBUS_CIS_OFFSET 0x28 -#define PCI_SVID_OFFSET 0x2C // SubSystem Vend= or id -#define PCI_SUBSYSTEM_VENDOR_ID_OFFSET 0x2C -#define PCI_SID_OFFSET 0x2E // SubSystem ID -#define PCI_SUBSYSTEM_ID_OFFSET 0x2E -#define PCI_EXPANSION_ROM_BASE 0x30 -#define PCI_CAPBILITY_POINTER_OFFSET 0x34 -#define PCI_INT_LINE_OFFSET 0x3C // Interrupt Line= Register -#define PCI_INT_PIN_OFFSET 0x3D // Interrupt Pin = Register -#define PCI_MAXGNT_OFFSET 0x3E // Max Grant Regi= ster -#define PCI_MAXLAT_OFFSET 0x3F // Max Latency Re= gister - -#define PCI_BRIDGE_CONTROL_REGISTER_OFFSET 0x3E -#define PCI_BRIDGE_STATUS_REGISTER_OFFSET 0x1E - -#define PCI_BRIDGE_PRIMARY_BUS_REGISTER_OFFSET 0x18 -#define PCI_BRIDGE_SECONDARY_BUS_REGISTER_OFFSET 0x19 -#define PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET 0x1a - -typedef union { - struct { - UINT32 Reg : 8; - UINT32 Func : 3; - UINT32 Dev : 5; - UINT32 Bus : 8; - UINT32 Reserved : 7; - UINT32 Enable : 1; - } Bits; - UINT32 Uint32; -} PCI_CONFIG_ACCESS_CF8; - -#pragma pack() - -#define PCI_EXPANSION_ROM_HEADER_SIGNATURE 0xaa55 -#define PCI_DATA_STRUCTURE_SIGNATURE SIGNATURE_32 ('P',= 'C', 'I', 'R') -#define PCI_CODE_TYPE_PCAT_IMAGE 0x00 -#define PCI_CODE_TYPE_EFI_IMAGE 0x03 -#define EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED 0x0001 - -#define EFI_PCI_COMMAND_IO_SPACE 0x0001 -#define EFI_PCI_COMMAND_MEMORY_SPACE 0x0002 -#define EFI_PCI_COMMAND_BUS_MASTER 0x0004 -#define EFI_PCI_COMMAND_SPECIAL_CYCLE 0x0008 -#define EFI_PCI_COMMAND_MEMORY_WRITE_AND_INVALIDATE 0x0010 -#define EFI_PCI_COMMAND_VGA_PALETTE_SNOOP 0x0020 -#define EFI_PCI_COMMAND_PARITY_ERROR_RESPOND 0x0040 -#define EFI_PCI_COMMAND_STEPPING_CONTROL 0x0080 -#define EFI_PCI_COMMAND_SERR 0x0100 -#define EFI_PCI_COMMAND_FAST_BACK_TO_BACK 0x0200 - -#define EFI_PCI_BRIDGE_CONTROL_PARITY_ERROR_RESPONSE 0x0001 -#define EFI_PCI_BRIDGE_CONTROL_SERR 0x0002 -#define EFI_PCI_BRIDGE_CONTROL_ISA 0x0004 -#define EFI_PCI_BRIDGE_CONTROL_VGA 0x0008 -#define EFI_PCI_BRIDGE_CONTROL_VGA_16 0x0010 -#define EFI_PCI_BRIDGE_CONTROL_MASTER_ABORT 0x0020 -#define EFI_PCI_BRIDGE_CONTROL_RESET_SECONDARY_BUS 0x0040 -#define EFI_PCI_BRIDGE_CONTROL_FAST_BACK_TO_BACK 0x0080 -#define EFI_PCI_BRIDGE_CONTROL_PRIMARY_DISCARD_TIMER 0x0100 -#define EFI_PCI_BRIDGE_CONTROL_SECONDARY_DISCARD_TIMER 0x0200 -#define EFI_PCI_BRIDGE_CONTROL_TIMER_STATUS 0x0400 -#define EFI_PCI_BRIDGE_CONTROL_DISCARD_TIMER_SERR 0x0800 - -// -// Following are the PCI-CARDBUS bridge control bit -// -#define EFI_PCI_BRIDGE_CONTROL_IREQINT_ENABLE 0x0080 -#define EFI_PCI_BRIDGE_CONTROL_RANGE0_MEMORY_TYPE 0x0100 -#define EFI_PCI_BRIDGE_CONTROL_RANGE1_MEMORY_TYPE 0x0200 -#define EFI_PCI_BRIDGE_CONTROL_WRITE_POSTING_ENABLE 0x0400 - -// -// Following are the PCI status control bit -// -#define EFI_PCI_STATUS_CAPABILITY 0x0010 -#define EFI_PCI_STATUS_66MZ_CAPABLE 0x0020 -#define EFI_PCI_FAST_BACK_TO_BACK_CAPABLE 0x0080 -#define EFI_PCI_MASTER_DATA_PARITY_ERROR 0x0100 - -#define EFI_PCI_CAPABILITY_PTR 0x34 -#define EFI_PCI_CARDBUS_BRIDGE_CAPABILITY_PTR 0x14 - -#pragma pack(1) -typedef struct { - UINT16 Signature; // 0xaa55 - UINT8 Reserved[0x16]; - UINT16 PcirOffset; -} PCI_EXPANSION_ROM_HEADER; - -typedef struct { - UINT16 Signature; // 0xaa55 - UINT8 Size512; - UINT8 InitEntryPoint[3]; - UINT8 Reserved[0x12]; - UINT16 PcirOffset; -} EFI_LEGACY_EXPANSION_ROM_HEADER; - -typedef struct { - UINT32 Signature; // "PCIR" - UINT16 VendorId; - UINT16 DeviceId; - UINT16 Reserved0; - UINT16 Length; - UINT8 Revision; - UINT8 ClassCode[3]; - UINT16 ImageLength; - UINT16 CodeRevision; - UINT8 CodeType; - UINT8 Indicator; - UINT16 Reserved1; -} PCI_DATA_STRUCTURE; - -// -// PCI Capability List IDs and records -// -#define EFI_PCI_CAPABILITY_ID_PMI 0x01 -#define EFI_PCI_CAPABILITY_ID_AGP 0x02 -#define EFI_PCI_CAPABILITY_ID_VPD 0x03 -#define EFI_PCI_CAPABILITY_ID_SLOTID 0x04 -#define EFI_PCI_CAPABILITY_ID_MSI 0x05 -#define EFI_PCI_CAPABILITY_ID_HOTPLUG 0x06 -#define EFI_PCI_CAPABILITY_ID_PCIX 0x07 - -typedef struct { - UINT8 CapabilityID; - UINT8 NextItemPtr; -} EFI_PCI_CAPABILITY_HDR; - -// -// Capability EFI_PCI_CAPABILITY_ID_PMI -// -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT16 PMC; - UINT16 PMCSR; - UINT8 BridgeExtention; - UINT8 Data; -} EFI_PCI_CAPABILITY_PMI; - -// -// Capability EFI_PCI_CAPABILITY_ID_AGP -// -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT8 Rev; - UINT8 Reserved; - UINT32 Status; - UINT32 Command; -} EFI_PCI_CAPABILITY_AGP; - -// -// Capability EFI_PCI_CAPABILITY_ID_VPD -// -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT16 AddrReg; - UINT32 DataReg; -} EFI_PCI_CAPABILITY_VPD; - -// -// Capability EFI_PCI_CAPABILITY_ID_SLOTID -// -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT8 ExpnsSlotReg; - UINT8 ChassisNo; -} EFI_PCI_CAPABILITY_SLOTID; - -// -// Capability EFI_PCI_CAPABILITY_ID_MSI -// -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT16 MsgCtrlReg; - UINT32 MsgAddrReg; - UINT16 MsgDataReg; -} EFI_PCI_CAPABILITY_MSI32; - -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT16 MsgCtrlReg; - UINT32 MsgAddrRegLsdw; - UINT32 MsgAddrRegMsdw; - UINT16 MsgDataReg; -} EFI_PCI_CAPABILITY_MSI64; - -// -// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG -// -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - // - // not finished - fields need to go here - // -} EFI_PCI_CAPABILITY_HOTPLUG; - -// -// Capability EFI_PCI_CAPABILITY_ID_PCIX -// -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT16 CommandReg; - UINT32 StatusReg; -} EFI_PCI_CAPABILITY_PCIX; - -typedef struct { - EFI_PCI_CAPABILITY_HDR Hdr; - UINT16 SecStatusReg; - UINT32 StatusReg; - UINT32 SplitTransCtrlRegUp; - UINT32 SplitTransCtrlRegDn; -} EFI_PCI_CAPABILITY_PCIX_BRDG; - -#define DEVICE_ID_NOCARE 0xFFFF - -#define PCI_ACPI_UNUSED 0 -#define PCI_BAR_NOCHANGE 0 -#define PCI_BAR_OLD_ALIGN 0xFFFFFFFFFFFFFFFFULL -#define PCI_BAR_EVEN_ALIGN 0xFFFFFFFFFFFFFFFEULL -#define PCI_BAR_SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL -#define PCI_BAR_DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL - -#define PCI_BAR_IDX0 0x00 -#define PCI_BAR_IDX1 0x01 -#define PCI_BAR_IDX2 0x02 -#define PCI_BAR_IDX3 0x03 -#define PCI_BAR_IDX4 0x04 -#define PCI_BAR_IDX5 0x05 -#define PCI_BAR_ALL 0xFF - -#pragma pack(pop) - -// -// NOTE: The following header files are included here for -// compatibility consideration. -// -#include "pci23.h" -#include "pci30.h" -#include "EfiPci.h" - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/pci23.h b/BaseTool= s/Source/C/Include/IndustryStandard/pci23.h deleted file mode 100644 index 7b8cea3e8f31..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/pci23.h +++ /dev/null @@ -1,18 +0,0 @@ -/** @file - Support for PCI 2.3 standard. - - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _PCI23_H -#define _PCI23_H - -//#include "pci22.h" - -#define PCI_EXP_MAX_CONFIG_OFFSET 0x1000 -#define EFI_PCI_CAPABILITY_ID_PCIEXP 0x10 - -#endif diff --git a/BaseTools/Source/C/Include/IndustryStandard/pci30.h b/BaseTool= s/Source/C/Include/IndustryStandard/pci30.h deleted file mode 100644 index e39df6da7636..000000000000 --- a/BaseTools/Source/C/Include/IndustryStandard/pci30.h +++ /dev/null @@ -1,38 +0,0 @@ -/** @file - Support for PCI 3.0 standard. - - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#ifndef _PCI30_H -#define _PCI30_H - -//#include "pci23.h" - -#define PCI_CLASS_MASS_STORAGE_SATADPA 0x06 - -#pragma pack(push, 1) - -typedef struct { - UINT32 Signature; // "PCIR" - UINT16 VendorId; - UINT16 DeviceId; - UINT16 DeviceListOffset; - UINT16 Length; - UINT8 Revision; - UINT8 ClassCode[3]; - UINT16 ImageLength; - UINT16 CodeRevision; - UINT8 CodeType; - UINT8 Indicator; - UINT16 MaxRuntimeImageLength; - UINT16 ConfigUtilityCodeHeaderOffset; - UINT16 DMTFCLPEntryPointOffset; -} PCI_3_0_DATA_STRUCTURE; - -#pragma pack(pop) - -#endif --=20 2.39.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101664): https://edk2.groups.io/g/devel/message/101664 Mute This Topic: https://groups.io/mt/97798536/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-