Re: [edk2-devel] 回复: edk2-devel] [PATCH v2 34/34] BaseTools: Add LoongArch64 binding.

Chao Li lichao at loongson.cn
Thu Sep 15 07:45:27 UTC 2022


Liming,
Ok, in V3, I will put this patch together with BaseTools changes.

Thanks,
Chao
--------

On 9月 15 2022, at 2:34 下午, "gaoliming" <gaoliming at byosoft.com.cn> 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 <gaoliming at byosoft.
> com.cn>
>
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Chao Li
> > 发送时间: 2022年9月14日 17:43
> > 收件人: devel at edk2.groups.io
> > 抄送: Bob Feng <bob.c.feng at intel.com>; Liming Gao
> > <gaoliming at byosoft.com.cn>; Yuwei Chen <yuwei.chen at intel.com>; Baoqi
> > Zhang <zhangbaoqi at 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 at intel.com>
> > Cc: Liming Gao <gaoliming at byosoft.com.cn>
> > Cc: Yuwei Chen <yuwei.chen at intel.com>
> >
> > Signed-off-by: Chao Li <lichao at loongson.cn>
> > Co-authored-by: Baoqi Zhang <zhangbaoqi at 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+owner at edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub
> > [gaoliming at byosoft.com.cn]
> > -=-=-=-=-=-=
> >
>
>
>
>
>
> 
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#93810): https://edk2.groups.io/g/devel/message/93810
Mute This Topic: https://groups.io/mt/93695547/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20220915/8144be9a/attachment.htm>


More information about the edk2-devel-archive mailing list