Liming, Ok, in V3, I will put this patch together with BaseTools changes. Thanks, Chao -------- On 9月 15 2022, at 2:34 下午, "gaoliming" wrote: > Chao: > This change should be placed together with other changes in BaseTools. I > mean their commits can be placed together. > > The code change is good to me. Reviewed-by: Liming Gao com.cn> > > Thanks > Liming > > -----邮件原件----- > > 发件人: devel@edk2.groups.io 代表 Chao Li > > 发送时间: 2022年9月14日 17:43 > > 收件人: devel@edk2.groups.io > > 抄送: Bob Feng ; Liming Gao > > ; Yuwei Chen ; Baoqi > > Zhang > > 主题: [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 > > Cc: Liming Gao > > Cc: Yuwei Chen > > > > Signed-off-by: Chao Li > > Co-authored-by: Baoqi Zhang > > --- > > 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.
> > > > + > > > > + 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 > > 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] > > -=-=-=-=-=-= > > > > > > > > >