From nobody Mon Sep 16 19:48:08 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-