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 <gaoliming@byosoft. com.cn> Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Chao Li > 发送时间: 2022年9月14日 17:43 > 收件人: devel@edk2.groups.io > 抄送: Bob Feng <bob.c.f...@intel.com>; Liming Gao > <gaolim...@byosoft.com.cn>; Yuwei Chen <yuwei.c...@intel.com>; Baoqi > Zhang <zhangba...@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.f...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Yuwei Chen <yuwei.c...@intel.com> > > Signed-off-by: Chao Li <lic...@loongson.cn> > Co-authored-by: Baoqi Zhang <zhangba...@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-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+ow...@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub > [gaolim...@byosoft.com.cn] > -=-=-=-=-=-= > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#93806): https://edk2.groups.io/g/devel/message/93806 Mute This Topic: https://groups.io/mt/93695009/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-