From nobody Tue Feb 10 20:50:25 2026 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+94422+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+94422+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277283; cv=none; d=zohomail.com; s=zohoarc; b=OwzB/TpCLVpN3fi60m9FhjSUCCvp+2iBheovaxB0/eo8lX4yc6Wh6lfS0fEXt4G+keTKXgsCs3dlTQlB8sMDfGb4t68SdDf/FsWidvmSpmZCOKqx1LAF3ZD4+EmVRkKs7XxhlWegeFULr5/aJiqbVbavw4S1tLRkODp2cdv0aNQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277283; h=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=Vu/GP4O7xTtegh5GmYnIw2mq1nqhAoum2HZXKTMOx8I=; b=IQE0IGHeOeYWmTq2AV7L+/1sIreOoydNNMp7DtSlYGzt9cVrbZb+dx3oAPkiD0VE8JLnOB46nye8xEyZCPSh7ZQUIGMZ+6XT9Gl8THWo3cIroqq9SBC+sp59xTFsecVDnFm806NLqsBLobv3IhakujvT5pMzazJwVHK0YPEwps0= 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+94422+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277283008166.3883060585896; Tue, 27 Sep 2022 04:14:43 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id vgZ3YY1788612xaFXOStUNDP; Tue, 27 Sep 2022 04:14:42 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.9758.1664277281681738182 for ; Tue, 27 Sep 2022 04:14:42 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S30; Tue, 27 Sep 2022 19:14:40 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 28/34] MdePkg/BaseCpuLib: LoongArch Base CPU library implementation. Date: Tue, 27 Sep 2022 19:13:48 +0800 Message-Id: <20220927111354.4107719-29-lichao@loongson.cn> In-Reply-To: <20220927111354.4107719-1-lichao@loongson.cn> References: <20220927111354.4107719-1-lichao@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Cxrmv02jJjirsiAA--.49762S30 X-Coremail-Antispam: 1UD129KBjvJXoWxJFWxWrW3Jr4xWF4DKw18Grg_yoW7Gr1rpr n3Gw43Gw17JrWxXrZxG3WUJrs8G3WkJr9rJFsYyrn7ZF4DAw1kCw17tw18GFy5Aryj93yv gF4Ygwnxua1kAF7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAqsI 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,lichao@loongson.cn X-Gm-Message-State: DBfZalzrwHpEvcLawvY5k58Ax1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277282; bh=EP9GB0JisNLENsI3QolfvGVeCiPtt1dUROtgBCcT9eU=; h=Cc:Date:From:Reply-To:Subject:To; b=qbGENBunkDDgFMvFdVX15DrVeRgy6zWaB8MT+1pnNHMBx0q9bxeRptaGdiqjA3Ep+rV Iq7h9HqA2BBKVTzLJh/2uczylFJ7ZwvLIICmFC8HHfCLMc3KMO5U/56all4N2M6JCEP/X 5sH2JFQJg7elZVPd9wlhfwxL+Olpj7TPqOg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277283259100079 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Implement LoongArch CPU related functions in BaseCpuLib. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 7 ++++++- MdePkg/Library/BaseCpuLib/BaseCpuLib.uni | 5 +++-- MdePkg/Library/BaseCpuLib/LoongArch/CpuFlushTlb.S | 15 +++++++++++++++ MdePkg/Library/BaseCpuLib/LoongArch/CpuSleep.S | 15 +++++++++++++++ 4 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/CpuFlushTlb.S create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/CpuSleep.S diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf b/MdePkg/Library/Base= CpuLib/BaseCpuLib.inf index c4cd29a783..6b230f6e6d 100644 --- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf +++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf @@ -8,6 +8,7 @@ # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Portions Copyright (c) 2022, Loongson Technology Corporation Limited. A= ll rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -25,7 +26,7 @@ =20 =20 # -# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 LOON= GARCH64 # =20 [Sources.IA32] @@ -61,6 +62,10 @@ [Sources.RISCV64] RiscV/Cpu.S =20 +[Sources.LOONGARCH64] + LoongArch/CpuFlushTlb.S | GCC + LoongArch/CpuSleep.S | GCC + [Packages] MdePkg/MdePkg.dec =20 diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.uni b/MdePkg/Library/Base= CpuLib/BaseCpuLib.uni index 80dc495786..7c5c8dfb37 100644 --- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.uni +++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.uni @@ -1,13 +1,14 @@ // /** @file // Instance of CPU Library for various architecture. // -// CPU Library implemented using ASM functions for IA-32, X64 and RISCV64, +// CPU Library implemented using ASM functions for IA-32, X64, RISCV64 and= LoongArch64, // PAL CALLs for IPF, and empty functions for EBC. // // Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
// Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
// Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
// Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+// Portions Copyright (c) 2022, Loongson Technology Corporation Limited. A= ll rights reserved.
// // SPDX-License-Identifier: BSD-2-Clause-Patent // @@ -16,5 +17,5 @@ =20 #string STR_MODULE_ABSTRACT #language en-US "Instance of CPU L= ibrary for various architectures" =20 -#string STR_MODULE_DESCRIPTION #language en-US "CPU Library imple= mented using ASM functions for IA-32, X64 and RISCV64, PAL CALLs for IPF, a= nd empty functions for EBC." +#string STR_MODULE_DESCRIPTION #language en-US "CPU Library imple= mented using ASM functions for IA-32, X64, RISCV64 and LoongArch64, PAL CAL= Ls for IPF, and empty functions for EBC." =20 diff --git a/MdePkg/Library/BaseCpuLib/LoongArch/CpuFlushTlb.S b/MdePkg/Lib= rary/BaseCpuLib/LoongArch/CpuFlushTlb.S new file mode 100644 index 0000000000..8b792f0a37 --- /dev/null +++ b/MdePkg/Library/BaseCpuLib/LoongArch/CpuFlushTlb.S @@ -0,0 +1,15 @@ +#-------------------------------------------------------------------------= ----- +# +# CpuFlushTlb() for LoongArch64 +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- +ASM_GLOBAL ASM_PFX(CpuFlushTlb) + +ASM_PFX(CpuFlushTlb): + tlbflush + jirl $zero, $ra, 0 + .end diff --git a/MdePkg/Library/BaseCpuLib/LoongArch/CpuSleep.S b/MdePkg/Librar= y/BaseCpuLib/LoongArch/CpuSleep.S new file mode 100644 index 0000000000..eb31b10714 --- /dev/null +++ b/MdePkg/Library/BaseCpuLib/LoongArch/CpuSleep.S @@ -0,0 +1,15 @@ +#-------------------------------------------------------------------------= ----- +# +# CpuSleep() for LoongArch64 +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- +ASM_GLOBAL ASM_PFX(CpuSleep) + +ASM_PFX(CpuSleep): + idle 0 + jirl $zero, $ra, 0 + .end --=20 2.27.0 -=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 (#94422): https://edk2.groups.io/g/devel/message/94422 Mute This Topic: https://groups.io/mt/93947385/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-