Thanks,
Chao
--------
Chao:This change should be placed together with other changes in BaseTools. Imean their commits can be placed together.The code change is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>ThanksLiming> -----邮件原件-----> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Chao Li> 发送时间: 2022年9月14日 17:43> 收件人: devel@edk2.groups.io> 抄送: Bob Feng <bob.c.feng@intel.com>; Liming Gao> <gaoliming@byosoft.com.cn>; Yuwei Chen <yuwei.chen@intel.com>; Baoqi> Zhang <zhangbaoqi@loongson.cn>> 主题: [edk2-devel] [PATCH v2 34/34] BaseTools: Add LoongArch64 binding.>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053>> Add LoongArch64 ProcessorBin.h and add LoongArch to Makefiles.>> Cc: Bob Feng <bob.c.feng@intel.com>> Cc: Liming Gao <gaoliming@byosoft.com.cn>> Cc: Yuwei Chen <yuwei.chen@intel.com>>> Signed-off-by: Chao Li <lichao@loongson.cn>> Co-authored-by: Baoqi Zhang <zhangbaoqi@loongson.cn>> ---> BaseTools/Source/C/GNUmakefile | 3 +> .../C/Include/LoongArch64/ProcessorBind.h | 80> +++++++++++++++++++> 2 files changed, 83 insertions(+)> create mode 100644> BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h>> diff --git a/BaseTools/Source/C/GNUmakefile> b/BaseTools/Source/C/GNUmakefile> index 8c191e0c38..5275f657ef 100644> --- a/BaseTools/Source/C/GNUmakefile> +++ b/BaseTools/Source/C/GNUmakefile> @@ -29,6 +29,9 @@ ifndef HOST_ARCH> ifneq (,$(findstring riscv64,$(uname_m)))>> HOST_ARCH=RISCV64>> endif>> + ifneq (,$(findstring loongarch64,$(uname_m)))>> + HOST_ARCH=LOONGARCH64>> + endif>> ifndef HOST_ARCH>> $(info Could not detected HOST_ARCH from uname results)>> $(error HOST_ARCH is not defined!)>> diff --git a/BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h> b/BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h> new file mode 100644> index 0000000000..0267859dee> --- /dev/null> +++ b/BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h> @@ -0,0 +1,80 @@> +/** @file>> + Processor or Compiler specific defines and types for LoongArch>> +>> + Copyright (c) 2022, Loongson Technology Corporation Limited. All rights> reserved.<BR>>> +>> + 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 <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;>> +>> +//>> +// Unsigned value of native width. (4 bytes on supported 32-bitprocessor> 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 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>> --> 2.27.0>>>> -=-=-=-=-=-=> Groups.io Links: You receive all messages sent to this group.> View/Reply Online (#93776): https://edk2.groups.io/g/devel/message/93776> Mute This Topic: https://groups.io/mt/93674251/4905953> Group Owner: devel+owner@edk2.groups.io> Unsubscribe: https://edk2.groups.io/g/devel/unsub> [gaoliming@byosoft.com.cn]> -=-=-=-=-=-=>