From nobody Wed May 8 22:49:14 2024 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+94396+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+94396+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277249; cv=none; d=zohomail.com; s=zohoarc; b=XH/Z7DNVwUkH8FLvrCmXVIA/9Y3b/udvhVllJh0NR0RfVlIkzXzg9MZQ93sDKCigcIxo7MrlEiLbfNr6GCmEeASrZEol9kXTL92sqLOtJZUn3WjYoLtX77a3KiTwz1FT/bQ63AmgJvfYnqPTo9RjPYZz3s31NcfCOWdrmuLfIRo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277249; 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=0Uhi+EyDNntqFnZ4btvR1cJG+pIbu2ZV803H2koT/+k=; b=PuzZupr1exeswpPOh/zxm1/4B2mdhRNwVQCstP+z9E5ulQ2lAUU/KCL0UzGmgN4ELtviuEbTrtZP1tUMfTl4IZ/vDS2AGdzLJKSUR0ecYcEKC8l7BTzZNTT6waugLXSCBBglRPeotWNwgFS3PbS23nLTdk8r7vC7U8ys8sp+uPk= 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+94396+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 166427724965110.315778759323507; Tue, 27 Sep 2022 04:14:09 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id qSQsYY1788612xbrB1snGDqZ; Tue, 27 Sep 2022 04:14:09 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.9749.1664277246546956210 for ; Tue, 27 Sep 2022 04:14:08 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S3; Tue, 27 Sep 2022 19:14:03 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 01/34] MdePkg: Added file of DebugSupport.h to MdePkg.ci.yaml Date: Tue, 27 Sep 2022 19:13:21 +0800 Message-Id: <20220927111354.4107719-2-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--.49762S3 X-Coremail-Antispam: 1UD129KBjvdXoW7JFy5Jr4rJFW3Zr47uFW8Xrb_yoWDJFgEy3 WxXr18Wr48GFW7tF4Sk3WkZ395Xw1kJw1FkwnxJFnxu34Duw1FgasxWrsrCr47WwsFvryx uFn2vr1akw45WjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJ3UbIYCTnIWIevJa73UjIFyTuYvj4RJUUUUUUUU X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgABsj 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: GneF3dmnmfsK8gJEd8RVAEIKx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277249; bh=+rayRGj27hWVuEtNFTELxCEITb9OoIQ0Ppl9tXeZqhk=; h=Cc:Date:From:Reply-To:Subject:To; b=kOgCZ/McH8Lz6jwaPDKBNTiz0AsL20wDfBj1qB7Lp3HHCT17SDMNndK8oo8bWMcs4Ma NZVZ+bA5T4XvHPHgpiRAhZo//VoHYhBr7l0dMA1O4QGGpY31g22F9eiM4oJQwLk/x1+Ab qoaKrE4zrs8YFWa1uIeMBwglgM/5asnKb2o= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277250536100002 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 DebugSupport.h is all defined by UEFI Spec, most of the code doesn't fit EDKII coding style, add it to IgnoreFiles field to make CI ECC check pass. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- MdePkg/MdePkg.ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/MdePkg/MdePkg.ci.yaml b/MdePkg/MdePkg.ci.yaml index 054233ebc7..9d141aa3cb 100644 --- a/MdePkg/MdePkg.ci.yaml +++ b/MdePkg/MdePkg.ci.yaml @@ -52,6 +52,7 @@ "Include/IndustryStandard/UefiTcgPlatform.h", "Include/Library/PcdLib.h", "Include/Library/SafeIntLib.h", + "Include/Protocol/DebugSupport.h", "Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLib.c" ] }, --=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 (#94396): https://edk2.groups.io/g/devel/message/94396 Mute This Topic: https://groups.io/mt/93947352/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- From nobody Wed May 8 22:49:14 2024 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+94395+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+94395+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277248; cv=none; d=zohomail.com; s=zohoarc; b=EevNwYqprLOZHSbA6pEpSEI/riaRCUef0cGiBISSjHJgWC6XPkHKR5NLKJ2NRQNUSa4oRZQJn8YJwRKw5ReTtHQqHlaXPp7GLrLTCWA9znQFsaKpBGzq9jQbdq0ZoNMBx4IKMW+OAaRrTxKe8wMgEOR6VDvGJSOs6u+ZsEdhAFM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277248; 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=j4rLxUyY+GGeGrjVmArhJp+vp1lUihfsHUCbTnQTa0A=; b=d3uo0QDUsHD+2G65aPWBnH2fP8mUzI9pDMKEIEq8OkRYqxCBNd9QO4ycG2heaXE8OkhvZc+hUGSfQPtNyHOjhydYkQy09DOa+BY6ZXSjCJq+kB7hqt171FSnJ15EQTgj405fVpAxKyhCvtVxAWJztZcHJoLSVRJzubto2hm7lT8= 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+94395+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277248919377.22768407314504; Tue, 27 Sep 2022 04:14:08 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id svkeYY1788612xk0YiBtExU8; Tue, 27 Sep 2022 04:14:08 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web08.9457.1664277247152996297 for ; Tue, 27 Sep 2022 04:14:07 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S4; Tue, 27 Sep 2022 19:14:05 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 02/34] MdePkg: Added LoongArch jump buffer register definition to MdePkg.ci.yaml Date: Tue, 27 Sep 2022 19:13:22 +0800 Message-Id: <20220927111354.4107719-3-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--.49762S4 X-Coremail-Antispam: 1UD129KBjvJXoW7WFykGw47KryDKr1kCFyUWrg_yoW8XF1xp3 W7Aw4UKF97Xr17K3yfurs0gFnYkr9Yyr4DWFWDAr1vqF18t3ZrWa15AayrGrW0kFyv9w45 ArWSq3W8Zw4kZrDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgACsg 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: BOL2cotkGwuakos2P2XDCdqAx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277248; bh=Fr+bWQho0NonzyQ6mMUWiJ2oGj7GQ9U6p023idC6Am0=; h=Cc:Date:From:Reply-To:Subject:To; b=XtiLYGhB8h9g4Tr7BHCFXor+IwQTexg+bWheMpLDsxm1AlufVgDkhrLR2ObaZtSD/Pv 6/gqa+/c8urM1LIZC0grLHmImg2i7Pn350X2Zbk11l9ny5KE0hiQ/S8LEHVOXZn1/9BFm r/WNYnxuiG/d9K/7IZVKlTuJfL+wfWbYGbI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277250542100003 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 If the new Arch register is defined in BaseLib.h when running the CI tests, it will give an ECC check error. Add the LoongArch register defined in the IgnoreFiles field to make the CI ECC check pass. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- MdePkg/MdePkg.ci.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/MdePkg/MdePkg.ci.yaml b/MdePkg/MdePkg.ci.yaml index 9d141aa3cb..19bc0138cb 100644 --- a/MdePkg/MdePkg.ci.yaml +++ b/MdePkg/MdePkg.ci.yaml @@ -27,6 +27,18 @@ "8005", "void", "8005", "va_list.__ap", "8005", "__stack_chk_guard", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S0", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S1", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S2", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S3", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S4", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S5", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S6", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S7", + "8005", "BASE_LIBRARY_JUMP_BUFFER.S8", + "8005", "BASE_LIBRARY_JUMP_BUFFER.SP", + "8005", "BASE_LIBRARY_JUMP_BUFFER.FP", + "8005", "BASE_LIBRARY_JUMP_BUFFER.RA", "8001", "MSG_IPv6_DP", "8001", "MSG_IPv4_DP", "8001", "DEFAULT_ToS", --=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 (#94395): https://edk2.groups.io/g/devel/message/94395 Mute This Topic: https://groups.io/mt/93947351/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- From nobody Wed May 8 22:49:14 2024 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+94397+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+94397+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277250; cv=none; d=zohomail.com; s=zohoarc; b=n6eFr3zVnthh0syKy6DNoISvBUDCWwCFpJinYmXftjwqZqfHjkujryMsuAH1s/wOS2dXtVTp7Oi4m8qvJusiRDfsyzLjgaimlu9wqjUhrmcIXubz+puzN+o3PgpWc+07CnDOPrXraDw8sa5GYD0lK8ZnR1jk+2k0YnLCCURDghk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277250; 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=v9jZP1KzCDddaMDopUHnTGnX++SInJjcKwQGpR+r098=; b=moNr6JlTmCPSUXA8QNcLr++j53vdFGTLfFWJj8AVGWZOL6fCUeDTjbD7xBMHIi9GILUc8/8t8w7cNxUglNAsFZEvVLC6oCauWZTDvFspwVJVH/9lgRccjg7ip70L8FJv8tzE9/zXyHy5/OHAh4HKCi49dYvjrz1yDiN3WceL8eA= 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+94397+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277250005405.41664366365194; Tue, 27 Sep 2022 04:14:10 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id R0EZYY1788612x5AQ1wdI28i; Tue, 27 Sep 2022 04:14:09 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9745.1664277248308704680 for ; Tue, 27 Sep 2022 04:14:08 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S5; Tue, 27 Sep 2022 19:14:07 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Ray Ni , Liming Gao Subject: [edk2-devel] [PATCH v3 03/34] FatPkg: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:23 +0800 Message-Id: <20220927111354.4107719-4-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--.49762S5 X-Coremail-Antispam: 1UD129KBjvJXoWrKFWxWF1UtFW3GF1kKFW5Awb_yoW8Jryfpr 4vqws5Wa4Iq3WIkFs8Wa97Xw1vq398Wr4DXF4vvF4S9anrXa4vva45tr4jvF4Utrs0ya98 u3ZIv34j9F18Z3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgADsh 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: MtyRsp1S8LGfPUdEpagrJCmDx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277249; bh=kNqNCDoRvh9AyEAlsW22sqd9INCylMZbnEx//CSkvjA=; h=Cc:Date:From:Reply-To:Subject:To; b=N00y+11gegpNqyDHVoqiM4YTJoOrTYAuQJ9aAXyT/6QbHBL4p2zV0nImgnrz8Qd1T62 RgII/PoSpmVPg2runBCs1quE+8DPtxUpiQM2kQg2Z7AyTXn7oxvYJihznfrup/cAyDwmG kbrwspIOQBnS7vqOJtyZ4NA4ZltD6LRAQx0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277250544100005 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture for EDK2 CI testing. Cc: Ray Ni Signed-off-by: Chao Li Reviewed-by: Liming Gao --- FatPkg/FatPkg.dsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FatPkg/FatPkg.dsc b/FatPkg/FatPkg.dsc index 6fa439e440..076b577972 100644 --- a/FatPkg/FatPkg.dsc +++ b/FatPkg/FatPkg.dsc @@ -5,6 +5,7 @@ # for EDK II Prime release. # Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -15,7 +16,7 @@ PLATFORM_GUID =3D 25b55dbc-9d0b-4a32-80da-46e1273d622c PLATFORM_VERSION =3D 0.3 DSC_SPECIFICATION =3D 0x00010005 - SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64|LOON= GARCH64 OUTPUT_DIRECTORY =3D Build/Fat BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT --=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 (#94397): https://edk2.groups.io/g/devel/message/94397 Mute This Topic: https://groups.io/mt/93947353/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- From nobody Wed May 8 22:49:14 2024 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+94398+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+94398+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277251; cv=none; d=zohomail.com; s=zohoarc; b=hUpnG8e2AvYTp/B+SZmmbD6jmp5IN0maPKNzpX79H3yCrfPr/3HLktE7E+4u9GLvEXVdxBtZKUxJAUFlXNg7X0RnlvFJomne4ScMixW0//OZzKNxeyZwrdVJdPix03QuUGm7T0iM0HHl5Bt/oLiLjQ2jyzDGKIFMshXL57CeWyM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277251; 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=wPAl/ubbc4NIfPb4Mv6FOv08+FRrbYfH15MDgBlzJUg=; b=g2betWHQSgSeHx2DgNqxhq8jTM+DSoaylNsJmfIbTNAKXOuF+c7q3hQ4sQgkpI3tbxp6hdglNoEwAUsE+tbRqjnMnGMl5w7H0AedwGwJhPM6EqzolTK3KuVjQ63UBxNItYa6UzJv0wfGzRfPOUDuKfrrc9PWjzNtadhPq9drMW8= 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+94398+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277251253486.2949865500823; Tue, 27 Sep 2022 04:14:11 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id foSBYY1788612xo83jK6AU9Y; Tue, 27 Sep 2022 04:14:10 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.9692.1664277249932535752 for ; Tue, 27 Sep 2022 04:14:10 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S6; Tue, 27 Sep 2022 19:14:09 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Liming Gao , Michael D Kinney , Guomin Jiang , Wei6 Xu Subject: [edk2-devel] [PATCH v3 04/34] FmpDevicePkg: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:24 +0800 Message-Id: <20220927111354.4107719-5-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--.49762S6 X-Coremail-Antispam: 1UD129KBjvJXoW7AFW3tFyktry3AF45KF48JFb_yoW8GFWfpr 48Z3yDJa4fW3WSkFZxWFW7Xwn0qa9xXr10qF4UZF1S9F4DXa9Yg34Fqr4UtF1rtr1v9as0 93Z0v340g3W8ArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAEsm 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: ntwYgZj2BaLBTvGBbJnlXhB3x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277250; bh=xhkD/aorb1QJ5fdSlTzDDsmcxLV4/iIbAb64adLMDCw=; h=Cc:Date:From:Reply-To:Subject:To; b=NfAzRP63t60aiokPmZinI6b80kCi+BjYGm6ozY+QvFYj3lmuQLyUGODf9mpEC0or90r TB27CZuJrKj7y0LmYHG9h5+Ks3WPYH9l4AAcopfQgpYj+AQn4uydpEhTZsxGnSRVcsgRB xyTimSQkTtdqsujkeZXerk36CvPX1OTjk28= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277252538100016 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture for EDK2 CI testing. Cc: Liming Gao Cc: Michael D Kinney Cc: Guomin Jiang Cc: Wei6 Xu Signed-off-by: Chao Li Reviewed-by: Liming Gao --- FmpDevicePkg/FmpDevicePkg.dsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FmpDevicePkg/FmpDevicePkg.dsc b/FmpDevicePkg/FmpDevicePkg.dsc index 7b1af285dd..f9f26c54bb 100644 --- a/FmpDevicePkg/FmpDevicePkg.dsc +++ b/FmpDevicePkg/FmpDevicePkg.dsc @@ -9,6 +9,7 @@ # Copyright (c) Microsoft Corporation.
# Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -20,7 +21,7 @@ PLATFORM_VERSION =3D 0.1 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/FmpDevicePkg - SUPPORTED_ARCHITECTURES =3D IA32|X64|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|ARM|AARCH64|RISCV64|LOONGARC= H64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 --=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 (#94398): https://edk2.groups.io/g/devel/message/94398 Mute This Topic: https://groups.io/mt/93947354/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- From nobody Wed May 8 22:49:14 2024 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+94399+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+94399+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277253; cv=none; d=zohomail.com; s=zohoarc; b=WDO9pl75jEgsmjYzy3oG1yrb36XHjG9gVHjpSPscM9QPDrpiZ2f6siwAHF5KVTO2HEkjm1duo/oVJ31g6LRL8DsMEECYmkZhM8nxaSRYlZTtN8Aq6zTKVHYKmF4RPXPjL9ngmU2pQFJTN29EGevyxMCw4qFdEXyAtJOTX56dL9I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277253; 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=vXyoCWUeQ1KlmeTn9jmlmRP4gHEB1YUqFOHIkpzST0o=; b=RQsRVSB/0ZGVLVqQX4wOw6pEtDIPYQk8u8bOEHSOC1gaxrJblZi3huDZjUsDZLQg3uYFsD805KjcCG6+xMEiPC+Cgq6UUhRnFnvfdf/0lMkDxsxtYaNfpHo9SmYoMKqZ5nbPhvPhEaM5E/1RqC1tTZt97GAaBQTXX0LdOvUP3So= 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+94399+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277253753214.28963732339355; Tue, 27 Sep 2022 04:14:13 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id N6LcYY1788612xTgf3D1Drtj; Tue, 27 Sep 2022 04:14:13 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web08.9459.1664277252326081062 for ; Tue, 27 Sep 2022 04:14:12 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S7; Tue, 27 Sep 2022 19:14:09 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Maciej Rabeda , Jiaxin Wu , Siyuan Fu Subject: [edk2-devel] [PATCH v3 05/34] NetworkPkg: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:25 +0800 Message-Id: <20220927111354.4107719-6-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--.49762S7 X-Coremail-Antispam: 1UD129KBjvJXoW7Ww1UXr48JrykGryxKrW8Crg_yoW8GF18pr 4Ikw15Ja4xKr1xKF9xWFWrJw1qg395Gr1UGFWUZwn3uanrXasY9asFvr4SvrWYvr4ayFW5 urnIvw13uF1UAr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAGsk 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: YIsBdQAXBPIlJYJTyr2tpNpEx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277253; bh=hFQ/xH+wdVAT3acex9SR5BxmnP/LbOzFDTGT3aA03/g=; h=Cc:Date:From:Reply-To:Subject:To; b=DcoFXPHZhuwBo2Mk0XPTmgljH3FwGUpCdxCx4ODGYSFyr4Zj6qR70slUP+g/pdMogfJ 98NXk5TYQoU9Es+Yet2L+UaPKd2Qx/djSUGfQo+4XktKBct6WfzzwA1oNT1FXumggu+zQ BEb3af49oiAnBpX2TaO3dC8zAPVbg+uwLg0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277254556100021 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture for EDK2 CI testing. Cc: Maciej Rabeda Cc: Jiaxin Wu Cc: Siyuan Fu Signed-off-by: Chao Li Reviewed-by: Jiaxin Wu --- NetworkPkg/NetworkPkg.dsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc index 762134023d..6c231c97b5 100644 --- a/NetworkPkg/NetworkPkg.dsc +++ b/NetworkPkg/NetworkPkg.dsc @@ -4,6 +4,7 @@ # (C) Copyright 2014 Hewlett-Packard Development Company, L.P.
# Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -14,7 +15,7 @@ PLATFORM_VERSION =3D 0.98 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/NetworkPkg - SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64|LOON= GARCH64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 --=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 (#94399): https://edk2.groups.io/g/devel/message/94399 Mute This Topic: https://groups.io/mt/93947355/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- From nobody Wed May 8 22:49:14 2024 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+94400+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+94400+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277255; cv=none; d=zohomail.com; s=zohoarc; b=e/ZM/82Ou3+eci1STaXDMFRoKisvPmuuf6b4Uyv+jlduYZSnY8Mx71bOinSDiRae1DgnNM0x6pV6Mb+537nUqE6X4xRP3EJPP9pjAzcUq4M5zh+iw0wXw4caapGWeuG88eHGZPW/iD+Y8a7VeqjUX+gq3iMKHSvS0XGzy+MdhkU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277255; 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=qmDmCHyZBqRXcR7ZucB/fmjkgsrVLVWnuD5xcsY/0Dw=; b=EBk2fnKWg1QoLqBiXhh3G9hjipEBdIa8sZuNb5klz8yvKI/15fObK749LinH8rOWJHQ5ITgnEqG8AAWu4neDBIUAqC3cj7+jF53EHnqAj3S+cQ7OKXwzwefzqZNkN3xzRUFll6Jv0jRpskVyq8q5lmaLiLy03u52uZNP/95pHds= 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+94400+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277255871909.324582436952; Tue, 27 Sep 2022 04:14:15 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id pChGYY1788612xdeIZKJmIlw; Tue, 27 Sep 2022 04:14:15 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web09.9608.1664277253437252136 for ; Tue, 27 Sep 2022 04:14:14 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S8; Tue, 27 Sep 2022 19:14:12 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Maciej Rabeda , Jiaxin Wu , Siyuan Fu Subject: [edk2-devel] [PATCH v3 06/34] NetworkPkg/HttpBootDxe: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:26 +0800 Message-Id: <20220927111354.4107719-7-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--.49762S8 X-Coremail-Antispam: 1UD129KBjvJXoW7Ww1UXr48JrykGryxWw18Grg_yoW8Xr43pw 1kCr4fK34rKas29as3XF9rurnIgws5WFWUWFZrZwnavF1DJa9Yv39rCF4fXrW5XFsxCryr Wwn09w1UWF17Ar7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAHsl 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: dDxEBhHWwg0sEXOFPf4a9pMhx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277255; bh=BMLn5QKg8cLu5D/k9TLtYEyNreH5/mt0433WGTWkib8=; h=Cc:Date:From:Reply-To:Subject:To; b=r0aaCULCh7xy/3f1FlIHI/nOxfs6GCxjZ5DouCiQ6sdTyy1AkBL22xfbQPv/YWQosNu XNVD/L69S/gxe6kO/U78j4RZlLaY7NbWPI6Y6KmNggcDLZay6qlW1OBkdmYD1Kxwu4eO0 OVzW85qpsn73DBa0E6sTKx+2a0Neh0d780o= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277256607100026 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH architecture for EDK2 CI testing. Cc: Maciej Rabeda Cc: Jiaxin Wu Cc: Siyuan Fu Signed-off-by: Chao Li Reviewed-by: Jiaxin Wu --- NetworkPkg/HttpBootDxe/HttpBootDhcp4.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h b/NetworkPkg/HttpBootDx= e/HttpBootDhcp4.h index d76f0e84d6..f00fabead2 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h +++ b/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h @@ -3,6 +3,7 @@ =20 Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights = reserved.
+Copyright (c) 2022, Loongson Technology Corporation Limited. All rights re= served.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -40,6 +41,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_RISCV64 #elif defined (MDE_CPU_EBC) #define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_EBC +#elif defined (MDE_CPU_LOONGARCH64) +#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_LOONGAR= CH64 #endif =20 /// DHCP offer types among HTTP boot. --=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 (#94400): https://edk2.groups.io/g/devel/message/94400 Mute This Topic: https://groups.io/mt/93947356/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- From nobody Wed May 8 22:49:14 2024 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+94401+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+94401+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277257; cv=none; d=zohomail.com; s=zohoarc; b=PU87X1C6v6MjvjZ1EshV07xtty+tNY3d11w7BzXwWu15nEjHwVnU2D6ktSrGup9QllJeB608wHxpCDPVBh70vyNaAlzBC+juqpk34rEau5DehuJl47MemefgNPgRqceAyQB62zCge3MFMfOaN335MC7mv9OjxQ5dUfIqnNM9PNw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277257; 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=xqu6lX15ECxeb6uyg4yUQvC8f2w0wuIYl0getBx3GEg=; b=Q3Rrgkark2PcmKP0LRR3Bxwea3LSyGRIj8MH1QkXpYrmsziqO7d8chfItsjANXTI2UNoDRI7maCOPzZUQ+s3sgr75ER6IZvGk7lN0VsagyvVmRbu1Lb5PRTWHWzZ0pK39bPrfwQxihyoM2B8Xg5PMwbZzMqgJXF4Ky4RqGpHRWg= 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+94401+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277257474657.1994222479825; Tue, 27 Sep 2022 04:14:17 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id oWSfYY1788612xb7C0dlEMKt; Tue, 27 Sep 2022 04:14:16 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.9693.1664277255118418439 for ; Tue, 27 Sep 2022 04:14:15 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S9; Tue, 27 Sep 2022 19:14:13 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Jiewen Yao , Jian J Wang , Xiaoyu Lu , Guomin Jiang , Jiewen Yao Subject: [edk2-devel] [PATCH v3 07/34] CryptoPkg: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:27 +0800 Message-Id: <20220927111354.4107719-8-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--.49762S9 X-Coremail-Antispam: 1UD129KBjvAXoWfJr47Xr4UKF18CryDKrykXwb_yoW8JrW8Ko W7Gr4vgwsFk3s7Gayag3sxJr1jga9xW3WUJr48GF18GF92yrnrCay5Aw1fJryUXr18Aas8 GrZ5Wa9ayFZxKr18n29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRUUUUUUUUU= X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAKso 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: 4Isgg89GzZCtfUcTeExEtGkMx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277256; bh=Gp3SOk22yPSsqIaVEqzbKjK9rA33MNPm+Jsl2kbSWJw=; h=Cc:Date:From:Reply-To:Subject:To; b=CAbwh5si6ZJgvbF5YPiAsH0ms+EUE2p2Ot44iLrjgDxqMLMg9LMtAMEdPlfJ6lXb7Ec yNezQW6okiRBy8mXB6wYrmz4tYUuYb6FDPXLM60lI6TOjv1J+tx6O7FmQAPqAmvhh8+8c Rlz1wez1yX3yExdgINocSP9CDltZ2Shh4cw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277259049100003 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture for EDK2 CI testing. Cc: Jiewen Yao Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Guomin Jiang Signed-off-by: Chao Li Reviewed-by: Jiewen Yao --- CryptoPkg/CryptoPkg.dsc | 3 ++- CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 6 +++++- CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 4 ++++ CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf | 3 ++- CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf | 3 ++- CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 3 ++- CryptoPkg/Library/Include/CrtLibSupport.h | 3 ++- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 2 ++ CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 2 ++ CryptoPkg/Library/TlsLib/TlsLib.inf | 3 ++- CryptoPkg/Library/TlsLibNull/TlsLibNull.inf | 3 ++- 11 files changed, 27 insertions(+), 8 deletions(-) diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc index e4e7bc0dbf..8c6906acf0 100644 --- a/CryptoPkg/CryptoPkg.dsc +++ b/CryptoPkg/CryptoPkg.dsc @@ -4,6 +4,7 @@ # # Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -19,7 +20,7 @@ PLATFORM_VERSION =3D 0.98 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/CryptoPkg - SUPPORTED_ARCHITECTURES =3D IA32|X64|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|ARM|AARCH64|RISCV64|LOONGARC= H64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Li= brary/BaseCryptLib/BaseCryptLib.inf index 9634bd5fea..8896e47095 100644 --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf @@ -8,6 +8,7 @@ # # Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -24,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 LOONGARC= H64 # =20 [Sources] @@ -78,6 +79,9 @@ [Sources.RISCV64] Rand/CryptRand.c =20 +[Sources.LOONGARCH64] + Rand/CryptRand.c + [Packages] MdePkg/MdePkg.dec CryptoPkg/CryptoPkg.dec diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg= /Library/BaseCryptLib/RuntimeCryptLib.inf index 845708bf1a..bb66604e32 100644 --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf @@ -13,6 +13,7 @@ # # Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.
# Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -80,6 +81,9 @@ [Sources.RISCV64] Rand/CryptRand.c =20 +[Sources.LOONGARCH64] + Rand/CryptRand.c + [Packages] MdePkg/MdePkg.dec CryptoPkg/CryptoPkg.dec diff --git a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf b/Cryp= toPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf index 9cb8d42ff4..80afb62f76 100644 --- a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf +++ b/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf @@ -8,6 +8,7 @@ # # Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -24,7 +25,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 LOONGARC= H64 # =20 [Sources] diff --git a/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf b/= CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf index baa4433cbe..b4945de336 100644 --- a/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf @@ -4,6 +4,7 @@ # # Copyright (C) Microsoft Corporation. All rights reserved. # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -22,7 +23,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 LOONGARCH64 # =20 [Packages] diff --git a/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf b/= CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf index 038ca71890..e7d153db0b 100644 --- a/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf @@ -4,6 +4,7 @@ # # Copyright (C) Microsoft Corporation. All rights reserved. # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -21,7 +22,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 LOONGARCH64 # =20 [Packages] diff --git a/CryptoPkg/Library/Include/CrtLibSupport.h b/CryptoPkg/Library/= Include/CrtLibSupport.h index e49060124f..5072c343da 100644 --- a/CryptoPkg/Library/Include/CrtLibSupport.h +++ b/CryptoPkg/Library/Include/CrtLibSupport.h @@ -4,6 +4,7 @@ =20 Copyright (c) 2010 - 2022, Intel Corporation. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights = reserved.
+Copyright (c) 2022, Loongson Technology Corporation Limited. All rights re= served.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -46,7 +47,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define CONFIG_HEADER_BN_H =20 #if !defined (SIXTY_FOUR_BIT) && !defined (THIRTY_TWO_BIT) - #if defined (MDE_CPU_X64) || defined (MDE_CPU_AARCH64) || defined (MDE_C= PU_IA64) || defined (MDE_CPU_RISCV64) + #if defined (MDE_CPU_X64) || defined (MDE_CPU_AARCH64) || defined (MDE_C= PU_IA64) || defined (MDE_CPU_RISCV64) || defined (MDE_CPU_LOONGARCH64) // // With GCC we would normally use SIXTY_FOUR_BIT_LONG, but MSVC needs // SIXTY_FOUR_BIT, because 'long' is 32-bit and only 'long long' is diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Librar= y/OpensslLib/OpensslLib.inf index c899b811b1..f0ca72eeed 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -3,6 +3,7 @@ # # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.
# (C) Copyright 2020 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -675,6 +676,7 @@ GCC:*_*_ARM_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uniniti= alized -Wno-error=3Dunused-but-set-variable GCC:*_*_AARCH64_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uniniti= alized -Wno-format -Wno-error=3Dunused-but-set-variable GCC:*_*_RISCV64_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uniniti= alized -Wno-format -Wno-error=3Dunused-but-set-variable + GCC:*_*_LOONGARCH64_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uni= nitialized -Wno-format -Wno-error=3Dunused-but-set-variable GCC:*_CLANG35_*_CC_FLAGS =3D -std=3Dc99 -Wno-error=3Duninitialized GCC:*_CLANG38_*_CC_FLAGS =3D -std=3Dc99 -Wno-error=3Duninitialized GCC:*_CLANGPDB_*_CC_FLAGS =3D -std=3Dc99 -Wno-error=3Duninitialized -Wno= -error=3Dincompatible-pointer-types -Wno-error=3Dpointer-sign -Wno-error=3D= implicit-function-declaration -Wno-error=3Dignored-pragma-optimize diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/= Library/OpensslLib/OpensslLibCrypto.inf index 0ec3724541..195016fd3d 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -3,6 +3,7 @@ # # Copyright (c) 2010 - 2020, Intel Corporation. All rights reserved.
# (C) Copyright 2020 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -624,6 +625,7 @@ GCC:*_*_ARM_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uniniti= alized -Wno-error=3Dunused-but-set-variable GCC:*_*_AARCH64_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uniniti= alized -Wno-format -Wno-error=3Dunused-but-set-variable GCC:*_*_RISCV64_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uniniti= alized -Wno-format -Wno-error=3Dunused-but-set-variable + GCC:*_*_LOONGARCH64_CC_FLAGS =3D $(OPENSSL_FLAGS) -Wno-error=3Dmaybe-uni= nitialized -Wno-format -Wno-error=3Dunused-but-set-variable GCC:*_CLANG35_*_CC_FLAGS =3D -std=3Dc99 -Wno-error=3Duninitialized GCC:*_CLANG38_*_CC_FLAGS =3D -std=3Dc99 -Wno-error=3Duninitialized GCC:*_CLANGPDB_*_CC_FLAGS =3D -std=3Dc99 -Wno-error=3Duninitialized -Wno= -error=3Dincompatible-pointer-types -Wno-error=3Dpointer-sign -Wno-error=3D= implicit-function-declaration -Wno-error=3Dignored-pragma-optimize diff --git a/CryptoPkg/Library/TlsLib/TlsLib.inf b/CryptoPkg/Library/TlsLib= /TlsLib.inf index bc61cda745..20b0ea6832 100644 --- a/CryptoPkg/Library/TlsLib/TlsLib.inf +++ b/CryptoPkg/Library/TlsLib/TlsLib.inf @@ -3,6 +3,7 @@ # # Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
# (C) Copyright 2016-2020 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -19,7 +20,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 LOONGARC= H64 # =20 [Sources] diff --git a/CryptoPkg/Library/TlsLibNull/TlsLibNull.inf b/CryptoPkg/Librar= y/TlsLibNull/TlsLibNull.inf index b2920ddacf..12d7cc764a 100644 --- a/CryptoPkg/Library/TlsLibNull/TlsLibNull.inf +++ b/CryptoPkg/Library/TlsLibNull/TlsLibNull.inf @@ -3,6 +3,7 @@ # # Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
# (C) Copyright 2016-2020 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -19,7 +20,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 LOONGARC= H64 # =20 [Sources] --=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 (#94401): https://edk2.groups.io/g/devel/message/94401 Mute This Topic: https://groups.io/mt/93947357/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- From nobody Wed May 8 22:49:14 2024 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+94402+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+94402+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277257; cv=none; d=zohomail.com; s=zohoarc; b=HFKg+Ut0yNjM2deIMkuDAuGta/DXW9mqEKwZodThykE7kiyy8JSkwKjxttVWSef7InTCb1LV70XpAIh1g+duwEuuhEhm0YhzIKq7LGUt1tLnCs0jIckUeyHpgeiUnIi8cijbVzE2nItVrAcvR8KQ+BSJ317y5CxH80PuTdcrhEI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277257; 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=Kj3nGu5+VUNhtDbeuj7clIihM7tgj3Cl/LG13fgyubk=; b=BMYjwMaTmKBJhG8JP0ZyWnPJ/3k7Df7DJFgkmhzYiWmhZ1XhMD8eYVtLXkp/bg0CwO1jACf+NsU6NbpSoxYaoAVu+x1OnbF6CqLAyTuvviJqdOMU2yA/BDFBvppPY76PhHdsdXRKbzz0C5XymSmSN5lYv2a5XAW21UDu5IqKlAM= 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+94402+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 166427725791620.639256553726455; Tue, 27 Sep 2022 04:14:17 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Tl45YY1788612xJs4qN8ptUi; Tue, 27 Sep 2022 04:14:17 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web08.9460.1664277256490546054 for ; Tue, 27 Sep 2022 04:14:17 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S10; Tue, 27 Sep 2022 19:14:15 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 08/34] MdePkg/Include: Add LOONGARCH related definitions EDK2 CI. Date: Tue, 27 Sep 2022 19:13:28 +0800 Message-Id: <20220927111354.4107719-9-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--.49762S10 X-Coremail-Antispam: 1UD129KBjvJXoWxAF1fXF1UZFy5AF1xur13XFb_yoWrZFyDpr 18AFy5X397KF13uF97Ka1UC34xWr4rt3s5Xry2q3yUCF1jy3y8Kw1DWFW5KryDXr48XryF gFn3A3W0gFnxArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgALsp 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: syuadnpfr3x3DB6QOuFp8taWx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277257; bh=SVq297A1Ojrja0QGxozkhb+C4SmwZqVbP5nhMYkR8lY=; h=Cc:Date:From:Reply-To:Subject:To; b=JRKI6hFEHeYQ1y9mTHIAl/FLA60u4AD/7cqifaPxnt7O9sDl98ACnhK3rfvE7fHeCz+ 31TtporWMgznn56BBOfLaJxBOSFQvRxR+Kojuy/maw5j8wo0e2oPoMqqnxB8nHHfOdTM4 k1jSwOy0CB4JiFDs961Y/EaWN0/ILjNVAsM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277259011100001 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 HTTP/PXE boot LOONGARCH64 related definitions for EDK2 CI. For the LOONGARCH values, please seeing following URL section "Processor Architecture Types": https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- MdePkg/Include/IndustryStandard/Dhcp.h | 45 ++++++++++++++------------ 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/MdePkg/Include/IndustryStandard/Dhcp.h b/MdePkg/Include/Indust= ryStandard/Dhcp.h index f209f1b2eb..46ab4f8e75 100644 --- a/MdePkg/Include/IndustryStandard/Dhcp.h +++ b/MdePkg/Include/IndustryStandard/Dhcp.h @@ -4,6 +4,7 @@ =20 Copyright (c) 2016, Intel Corporation. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+ Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ =20 @@ -256,27 +257,31 @@ typedef enum { =20 /// /// Processor Architecture Types -/// These identifiers are defined by IETF: -/// http://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml +/// These identifiers are defined by IANA: +/// https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.x= html /// -#define PXE_CLIENT_ARCH_X86_BIOS 0x0000 /// x86 BIOS for PXE -#define PXE_CLIENT_ARCH_IPF 0x0002 /// Itanium for PXE -#define PXE_CLIENT_ARCH_IA32 0x0006 /// x86 uefi for PXE -#define PXE_CLIENT_ARCH_X64 0x0007 /// x64 uefi for PXE -#define PXE_CLIENT_ARCH_EBC 0x0009 /// EBC for PXE -#define PXE_CLIENT_ARCH_ARM 0x000A /// Arm uefi 32 for PXE -#define PXE_CLIENT_ARCH_AARCH64 0x000B /// Arm uefi 64 for PXE -#define PXE_CLIENT_ARCH_RISCV32 0x0019 /// RISC-V uefi 32 for = PXE -#define PXE_CLIENT_ARCH_RISCV64 0x001B /// RISC-V uefi 64 for = PXE -#define PXE_CLIENT_ARCH_RISCV128 0x001D /// RISC-V uefi 128 for= PXE +#define PXE_CLIENT_ARCH_X86_BIOS 0x0000 /// x86 BIOS for PXE +#define PXE_CLIENT_ARCH_IPF 0x0002 /// Itanium for PXE +#define PXE_CLIENT_ARCH_IA32 0x0006 /// x86 uefi for PXE +#define PXE_CLIENT_ARCH_X64 0x0007 /// x64 uefi for PXE +#define PXE_CLIENT_ARCH_EBC 0x0009 /// EBC for PXE +#define PXE_CLIENT_ARCH_ARM 0x000A /// Arm uefi 32 for P= XE +#define PXE_CLIENT_ARCH_AARCH64 0x000B /// Arm uefi 64 for P= XE +#define PXE_CLIENT_ARCH_RISCV32 0x0019 /// RISC-V uefi 32 fo= r PXE +#define PXE_CLIENT_ARCH_RISCV64 0x001B /// RISC-V uefi 64 fo= r PXE +#define PXE_CLIENT_ARCH_RISCV128 0x001D /// RISC-V uefi 128 f= or PXE +#define PXE_CLIENT_ARCH_LOONGARCH32 0x0025 /// LoongArch uefi 32= for PXE +#define PXE_CLIENT_ARCH_LOONGARCH64 0x0027 /// LoongArch uefi 64= for PXE =20 -#define HTTP_CLIENT_ARCH_IA32 0x000F /// x86 uefi boot from = http -#define HTTP_CLIENT_ARCH_X64 0x0010 /// x64 uefi boot from = http -#define HTTP_CLIENT_ARCH_EBC 0x0011 /// EBC boot from http -#define HTTP_CLIENT_ARCH_ARM 0x0012 /// Arm uefi 32 boot fr= om http -#define HTTP_CLIENT_ARCH_AARCH64 0x0013 /// Arm uefi 64 boot fr= om http -#define HTTP_CLIENT_ARCH_RISCV32 0x001A /// RISC-V uefi 32 boot= from http -#define HTTP_CLIENT_ARCH_RISCV64 0x001C /// RISC-V uefi 64 boot= from http -#define HTTP_CLIENT_ARCH_RISCV128 0x001E /// RISC-V uefi 128 boo= t from http +#define HTTP_CLIENT_ARCH_IA32 0x000F /// x86 uefi boot fr= om http +#define HTTP_CLIENT_ARCH_X64 0x0010 /// x64 uefi boot fr= om http +#define HTTP_CLIENT_ARCH_EBC 0x0011 /// EBC boot from ht= tp +#define HTTP_CLIENT_ARCH_ARM 0x0012 /// Arm uefi 32 boot= from http +#define HTTP_CLIENT_ARCH_AARCH64 0x0013 /// Arm uefi 64 boot= from http +#define HTTP_CLIENT_ARCH_RISCV32 0x001A /// RISC-V uefi 32 b= oot from http +#define HTTP_CLIENT_ARCH_RISCV64 0x001C /// RISC-V uefi 64 b= oot from http +#define HTTP_CLIENT_ARCH_RISCV128 0x001E /// RISC-V uefi 128 = boot from http +#define HTTP_CLIENT_ARCH_LOONGARCH32 0x0026 /// LoongArch uefi 3= 2 boot from http +#define HTTP_CLIENT_ARCH_LOONGARCH64 0x0028 /// LoongArch uefi 6= 4 boot from http =20 #endif --=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 (#94402): https://edk2.groups.io/g/devel/message/94402 Mute This Topic: https://groups.io/mt/93947358/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- From nobody Wed May 8 22:49:14 2024 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+94403+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+94403+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277260; cv=none; d=zohomail.com; s=zohoarc; b=nHAVWXqvNeSpUvb9UeSl2oP129/35bYaLFZvHtURayN4Xti5Uz+Gj9xLW3QxTn/w3r2nmIbHhAdbIZWB57cBLiZl/ZT9WvfcQKzOj4cJvLHB8/SXvdT+HzKfopMzNyy77df8hOL2vlprXztDsFkSGx+MKMk+qu7tDnlF91OF+QA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277260; 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=vaqxDUVc4msz//j/VHNmF+h5WeDAKrqEQbej4jwjkPs=; b=USbMUzPG+8BAZYG+QiVBsD4wjH3nG3SMvQKFqR95YDMoc99VxqjItWDL00ibn0tWFS64rL7bkiYlEfwq2kNXKrr6ANTu+akjiqwvChwIq54tq1PmErWh44G5InfQwPIPxW7Vwd0D2bKqCoMdcOMVcgkb11w6Yp++/YhB8WUHdYY= 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+94403+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277260099841.1056194146216; Tue, 27 Sep 2022 04:14:20 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id uRxKYY1788612x3TP0RbLVxr; Tue, 27 Sep 2022 04:14:18 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.9752.1664277257519043572 for ; Tue, 27 Sep 2022 04:14:18 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S11; Tue, 27 Sep 2022 19:14:16 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Jiewen Yao , Jian J Wang , Jiewen Yao Subject: [edk2-devel] [PATCH v3 09/34] SecurityPkg: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:29 +0800 Message-Id: <20220927111354.4107719-10-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--.49762S11 X-Coremail-Antispam: 1UD129KBjvJXoW7Wry5Xw13urWkuFyftryxKrg_yoW8JF4rpr 4rKa1UGayfXF1IgFn5WFW2qrnIqa90kr4vgF4rXr48Wan7A34vvry2yr42kryUAr4qya4Y kwsI9r4FgF1UZr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgANsv 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: oc8SRwgeoyxwJ3ECRDERK7V6x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277258; bh=SIuq+MsIoNdX/PzuFm3K8lYbJU1zd1TSlh47fCfXIQ8=; h=Cc:Date:From:Reply-To:Subject:To; b=GP0+s/5CH87kufoor4lcrvknS++9PH+IonVTOYnHyPeieHY5Lmunlv3JJDS3Bh1XYC+ Pzwz5NRmUvFqYvIAedTn/KFzP5CFBnxl3D1AMS0nIkmkhrW+SQMj8S6FSsd/Sd5VbimGh 4yY+hGhAJ+iT+3Pbc3MCoGsEh6ALR+W4d58= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277261065100010 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture to SecurityPkg for EDK2 CI testing. Cc: Jiewen Yao Cc: Jian J Wang Signed-off-by: Chao Li Reviewed-by: Jiewen Yao --- SecurityPkg/SecurityPkg.dsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc index f48187650f..6bf53c5658 100644 --- a/SecurityPkg/SecurityPkg.dsc +++ b/SecurityPkg/SecurityPkg.dsc @@ -3,6 +3,7 @@ # # Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.
# (C) Copyright 2015-2020 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -13,7 +14,7 @@ PLATFORM_VERSION =3D 0.98 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/SecurityPkg - SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64|LOON= GARCH64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 --=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 (#94403): https://edk2.groups.io/g/devel/message/94403 Mute This Topic: https://groups.io/mt/93947359/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- From nobody Wed May 8 22:49:14 2024 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+94404+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+94404+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277260; cv=none; d=zohomail.com; s=zohoarc; b=LaNairLYsoyhdXISKw43fTo9g+IO+fB40XMQdg0jU79TgDtr0b6e3+YhpzGQKOztUvXjy4IPRNM41qa84RRo7d52t4BaL2bBdMjqf0kpchGzuyWxAm96cic1M/v5IQCka8C7jfjW2Xhi6Y2GFVhBQlfy4ujBrI1IiuQ1PZCwtak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277260; 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=IETcqirwG1If5k1j8lk+l52wxNyZt0sJaWW3NU7OrKg=; b=dx4TtrrIWZplq87b1EFFNe4g21tZUH57PHnybyMnvd+qMM5Htmp1eXmbdZIWrjGWhJkDPHcTBRphFPsn4bgugYnMswP9N1ofqkH94F7bIhxOximQlUuIc+wSA/Iz87q2lU9Rs9r/BSwCWwvMis3pPRUuSRsfqfejkcIpkcTyocw= 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+94404+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277260012643.065006434514; Tue, 27 Sep 2022 04:14:20 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id AOmrYY1788612xGt0fv5yNDT; Tue, 27 Sep 2022 04:14:19 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9748.1664277258501378960 for ; Tue, 27 Sep 2022 04:14:19 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S12; Tue, 27 Sep 2022 19:14:17 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Ray Ni , Zhichao Gao , Michael D Kinney Subject: [edk2-devel] [PATCH v3 10/34] ShellPkg: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:30 +0800 Message-Id: <20220927111354.4107719-11-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--.49762S12 X-Coremail-Antispam: 1UD129KBjvJXoW7tryrAryxAr47ZFWkCw1ftFb_yoW8GrW5pw 18Jws5WFyxGw1I9a98WFWUXwn0qan8Jr1DWF4DAF18XF4kX39aqryDKr42qry5tr4aya45 WFZIv3yj9F1UZr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAOss 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: 7c1KWOgUCRvG6d7QJZy0493yx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277259; bh=v1eu0kRKxUBwtpVEIzZkIPeCG6m3FmUdz25+/A/BBWc=; h=Cc:Date:From:Reply-To:Subject:To; b=XoW42KFumuUNigl+JWV7pLdofiA92iy0Klt+wb99lQ09xS0LqWK+6j8ZI7OFHgGkj+M k9OpWXLyiPw72y3IHJVUV3BmDOOZu+JhU/PKqkeYCu4TnVTubLG9wt85eU2p6tEskuJWp 6SP/rzg7yBO8VzxmIxwy45FAx5/5zUaWJZs= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277261058100007 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture to ShellPkg for EDK2 CI testing. Cc: Ray Ni Cc: Zhichao Gao Signed-off-by: Chao Li Reviewed-by: Michael D Kinney Reviewed-by: Zhichao Gao --- ShellPkg/ShellPkg.dsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc index 38fde3dc71..dd0d88603f 100644 --- a/ShellPkg/ShellPkg.dsc +++ b/ShellPkg/ShellPkg.dsc @@ -4,6 +4,7 @@ # Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2018 - 2020, Arm Limited. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -15,7 +16,7 @@ PLATFORM_VERSION =3D 1.02 DSC_SPECIFICATION =3D 0x00010006 OUTPUT_DIRECTORY =3D Build/Shell - SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64|LOON= GARCH64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 --=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 (#94404): https://edk2.groups.io/g/devel/message/94404 Mute This Topic: https://groups.io/mt/93947360/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- From nobody Wed May 8 22:49:14 2024 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+94405+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+94405+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277261; cv=none; d=zohomail.com; s=zohoarc; b=RjipSbydhHpdHZhtDTMKQjvkZim1ISPmIrLo6alf6yyr34ZZ5xxFabxeI7rrG2v6Hgqj51efcR5huAMnyzx3vKfkxHquDGkiK4GyqPSFqEsMSDceKRs2oJRYGzZIsIL+vXPXrYOwEQhPSM8tLOoCAcN5+klLlg/bQ5meFefA274= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277261; 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=vj9Y+/2tI94JOrwzc4PoPX8j+uUQwHaTpNO+2I+O1jc=; b=GEVhY0w9D4W+cqAC4FBc0DZKuOAG5cDXJNDoxD6tOeq5jgsAEuMRp1sodsgqjwIL+lgvbddKLvwIDMSyH0yRqUFThg80AWdAcSAxAjdIIUG/VanT9bA1JNs1r5xeAx6rb0YrEsp0L0hb2eMA1z7lXl397z39tbzrj86ikwaiai0= 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+94405+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 166427726139843.259897427177066; Tue, 27 Sep 2022 04:14:21 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id dTSqYY1788612xbK1yBCOux9; Tue, 27 Sep 2022 04:14:21 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9749.1664277259497650227 for ; Tue, 27 Sep 2022 04:14:19 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S13; Tue, 27 Sep 2022 19:14:18 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney Subject: [edk2-devel] [PATCH v3 11/34] UnitTestFrameworkPkg: Add LOONGARCH64 architecture for EDK2 CI. Date: Tue, 27 Sep 2022 19:13:31 +0800 Message-Id: <20220927111354.4107719-12-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--.49762S13 X-Coremail-Antispam: 1UD129KBjvJXoW7ZFWfXw1fZF1rKw4rZw4fXwb_yoW8GF4fpr Z7tr1Fq34Fvw1I9FW5JFWUtFn09ws3twsrGF4UJw45ZFsrJ3yYvFyUtFWSvw4Yvr4vvas0 9F1ayryjg3WUArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAPst 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: PhgZQYpIVJVOVks8tQGT7ZwGx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277261; bh=m0YIhFFkrTyx7cHCN29iPs85oZ8HAvgLyJ/5icYFeZM=; h=Cc:Date:From:Reply-To:Subject:To; b=kmUqlSFAiqZ6rTFm2yx/r4Ebpnc28Iif/XIxr+WyzM+Addk57wnL8BqoyEU2vT8FpKH X2IIR4XbzViStwBWt7mskIVR+JjiGTCncuk17cHtV+6YjuUfp1CrzcJyN0EVVQ+dUh8yD 8YR3t0rCCAnTRPRLVEeF9JMmtd5OU7Xq9c0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277263040100016 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture to UnitTestFramworkPkg for LOONGARCH64 EDK2 CI. Cc: Michael D Kinney Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc b/UnitTestFramew= orkPkg/UnitTestFrameworkPkg.dsc index 23baef87d6..e4f9fb6eb6 100644 --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc @@ -3,6 +3,7 @@ # # Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -14,7 +15,7 @@ PLATFORM_VERSION =3D 1.00 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/UnitTestFrameworkPkg - SUPPORTED_ARCHITECTURES =3D IA32|X64|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|ARM|AARCH64|RISCV64|LOONGARCH64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 --=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 (#94405): https://edk2.groups.io/g/devel/message/94405 Mute This Topic: https://groups.io/mt/93947361/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- From nobody Wed May 8 22:49:14 2024 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+94406+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+94406+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277262; cv=none; d=zohomail.com; s=zohoarc; b=m0kUZJQtBaWRtFVfeB/f/GijeL1fwpPdbXsOkcwgq0HcM612GiBdOV2+qkGvinZNGr9V430MK0e7sJJ/3H4V4acxoJjc8II8x/qLhVwsVthdsh1VJBpq2hPD2C+znptEyxuLe0bKmXUZ7Kb/P4CGC4YUUbIARWu+dz3Of5dp3+A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277262; 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=Onj+Dr4ki+a4cNw5Bjgcp+qCMtMEU5c6w013h3njKYM=; b=eVHdp2B3TJhqVBjrbZfsOJmVujeKvkHXMyjVYNi9LvHrc7LWQGQ5JV5UTj1tZXbU5D7xMBJ6FH85sjtjb3znmWRPRkIa/0LngvLd4f9KIeY75XlaUBteKARSJSH/I1dDFDN5ZGfLE99kOv98AcgnkNhfPEdY1CBm5FBQe9Ia4jU= 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+94406+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277262920619.9728322699881; Tue, 27 Sep 2022 04:14:22 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id EFMSYY1788612xrsyy9eGEv6; Tue, 27 Sep 2022 04:14:21 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web08.9461.1664277260454956188 for ; Tue, 27 Sep 2022 04:14:21 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S14; Tue, 27 Sep 2022 19:14:19 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 12/34] MdePkg/DxeServicesLib: Add LOONGARCH64 architecture Date: Tue, 27 Sep 2022 19:13:32 +0800 Message-Id: <20220927111354.4107719-13-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--.49762S14 X-Coremail-Antispam: 1UD129KBjvJXoW7tF17tw1ftryrWw1rJry5Jwb_yoW8Gry7pw 1jyr4kJw15Xr17GFnxWay7Zws09ayDAr95XFs2yrs5Ja1kAa4DWw43KrWrtw13tFWfXw1v vr929F4j93WDAr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgASsw 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: caTcZRbHkdl8UeOSuCO6AoI2x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277261; bh=PdfZFMtQ/2Nx6ApHHgc+KyknS9HmvOur2VNxohL7Azs=; h=Cc:Date:From:Reply-To:Subject:To; b=awbrSpsgHkSfSM/ZFCjuIVAC7WClW21M7vwEClyYr65usQkGRu0mUhobz6WOkPdow4r Rt0JRsd/refDuQR8d3ysym5SXBDInABesUDG+CSObLF9pD0m0H8SgdE6TFHg6JUwA9jiy 9JYkXH75YOfUFwYxiRaY5ZYw6tUM7bd8o/c= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277265098100019 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 architecture to MdePkg/DxeServiceLib. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- MdePkg/Library/DxeServicesLib/DxeServicesLib.inf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdePkg/Library/DxeServicesLib/DxeServicesLib.inf b/MdePkg/Libr= ary/DxeServicesLib/DxeServicesLib.inf index ec3e8711c2..a93541847f 100644 --- a/MdePkg/Library/DxeServicesLib/DxeServicesLib.inf +++ b/MdePkg/Library/DxeServicesLib/DxeServicesLib.inf @@ -22,13 +22,13 @@ LIBRARY_CLASS =3D DxeServicesLib|DXE_CORE DXE_DRIVER DX= E_RUNTIME_DRIVER DXE_SMM_DRIVER SMM_CORE UEFI_APPLICATION UEFI_DRIVER =20 # -# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 LOON= GARCH64 # =20 [Sources] DxeServicesLib.c =20 -[Sources.IA32, Sources.EBC, Sources.ARM, Sources.AARCH64, Sources.RISCV64] +[Sources.IA32, Sources.EBC, Sources.ARM, Sources.AARCH64, Sources.RISCV64,= Sources.LOONGARCH64] Allocate.c =20 [Sources.X64] --=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 (#94406): https://edk2.groups.io/g/devel/message/94406 Mute This Topic: https://groups.io/mt/93947362/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- From nobody Wed May 8 22:49:14 2024 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+94407+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+94407+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277264; cv=none; d=zohomail.com; s=zohoarc; b=nIN7xNcLZLO7JWNUObIYJblcEtQ+X8j2UO8JbK1DS4KjBJpmurQzRXvorOXYn+JCGS52cDm8KfPqet5qEBUbDidDprGK1mPovrw20fCfgzNyC8rlJZowJnmszV8Un0n6AbE/Y8xxXEoFHvJJpmUbRaNvdWLcArOtyuNmxAPN7Hg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277264; 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=YL9JXeYiksT1etGdl1kMUa1YW56PiBqzXrirLjv+1hI=; b=YUcq7R8bErL8mi43JYgaYwwFmiQRI08cYSbk1mQqPavUbntpd1C2AsTEgu3AKlkB00HzW8ECnHFuEQVn/FtoVmxyQDmcWq3FKcyj0SP8C3GGUFgSjYdYeOhLczCVdM1CjDdk5uw1xHsNMv7TsRU9sh/VPQ9H2362VyO9thh1M1A= 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+94407+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277264133707.8613121091522; Tue, 27 Sep 2022 04:14:24 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id MKmxYY1788612x2D68MaT5Zt; Tue, 27 Sep 2022 04:14:22 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web09.9610.1664277261638662051 for ; Tue, 27 Sep 2022 04:14:22 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S15; Tue, 27 Sep 2022 19:14:20 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Jian J Wang , Liming Gao , Michael D Kinney Subject: [edk2-devel] [PATCH v3 13/34] MdeModulePkg: Use LockBoxNullLib for LOONGARCH64 Date: Tue, 27 Sep 2022 19:13:33 +0800 Message-Id: <20220927111354.4107719-14-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--.49762S15 X-Coremail-Antispam: 1UD129KBjvJXoW7ZrW8Jw48KFyxGw4UZFyrZwb_yoW8JFy8pw 1qy3yUJry8Jws5KFWUGa4UXa1YgayDGr4fXa18tw1YvayDXF98Wa4qkr4YkFW8A34jyas5 KFZrGr4UuF1kAr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgATsx 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: XpniAhUg3cHnW1MZvV4A0yoJx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277262; bh=3RwJwb8bCQ9yVoVI6a4rP1BS+eqG8xPmHfZxvOVOSu0=; h=Cc:Date:From:Reply-To:Subject:To; b=e4eewDm+tnQ7i1DCZ11Fq9vsIDh63gaa4cdjPJV1gW4YbYhD3+epQBF1pEfQ17pmMnS dH7TcYGid4CwiK1KbIcGzBd/PxPuIFpI8SaG9vnB2AC8NPMpA05JmmwCZrZ44719LVrWw nJ5o8glpDgAvDe7dOiY8ddLCNCW1Mfhjms0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277265099100021 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 LoongArch doesn't have SMM by now. Cc: Jian J Wang Cc: Liming Gao Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- MdeModulePkg/MdeModulePkg.dsc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 45a8ec84ad..659482ab73 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -15,7 +15,7 @@ PLATFORM_VERSION =3D 0.98 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/MdeModule - SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64|LOON= GARCH64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 @@ -193,7 +193,7 @@ # NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf =20 -[LibraryClasses.EBC, LibraryClasses.RISCV64] +[LibraryClasses.EBC, LibraryClasses.RISCV64, LibraryClasses.LOONGARCH64] LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf =20 [PcdsFeatureFlag] --=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 (#94407): https://edk2.groups.io/g/devel/message/94407 Mute This Topic: https://groups.io/mt/93947364/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- From nobody Wed May 8 22:49:14 2024 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+94408+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+94408+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277265; cv=none; d=zohomail.com; s=zohoarc; b=UUNiNLKCBmS/a5W7MsZUm5QMKDNwLy7Ol4L3jMqQbt1J5jdhedtioXzgoEx8RDO4Up+T6qP1TuZgqc1dQevv4sM5R0qLNq9mUqUIR8HVk5X+8r+v+IoyT4jLUlNrWFSXxz+lRq0FLGd99gvAL4kY1AsyA/mNvjlp5WckEkZEm1s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277265; 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=PMfrldxIz+8yirOwsToazzkqxsMuIXXXs71pFMmONok=; b=hmyIUl8wohmZ9IELqPj0RSKgmchp7MWPWV3y5LvqT087P8dz+WCe4vZPiE91u5/OdoTGy7iMl/wPoNF4S8G9SEvwSXXinx9diDjKAOyzRbB0p/iocLnsmpmBYyNMg3TGfRS+YUUH4Iv465knzFMGCVNGeh6E9MEAZ1u55Jx9EwY= 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+94408+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277265141174.49557489518043; Tue, 27 Sep 2022 04:14:25 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 3aF0YY1788612x8m3KRE528s; Tue, 27 Sep 2022 04:14:23 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.9695.1664277262748151269 for ; Tue, 27 Sep 2022 04:14:23 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S16; Tue, 27 Sep 2022 19:14:21 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao Subject: [edk2-devel] [PATCH v3 14/34] .python/SpellCheck: Add "Loongson" and "LOONGARCH" to "words" section Date: Tue, 27 Sep 2022 19:13:34 +0800 Message-Id: <20220927111354.4107719-15-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--.49762S16 X-Coremail-Antispam: 1UD129KBjvdXoWrtFyDtF17Jr13Ar13CF1DAwb_yoWfCrbEkF W7KF4rXrn3JFsFg347u3WfXwn8W3y093WjkwnrGFy8X3ZxWwn5J3ykCF15Xr98Xr4ayFyf u393GF42kF43WjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJ3UbIYCTnIWIevJa73UjIFyTuYvj4RJUUUUUUUU X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAVs3 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: VFx9AeBFryBcjo8fgkc7fGO5x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277263; bh=uEa4wt0fawqb9PxcajvUhXuSlibkDhizV3jXIjlqAks=; h=Cc:Date:From:Reply-To:Subject:To; b=Tr2zt3XkVnv4QKwRedgnp6n7SicDOX9K7KpY3s1YxGTOim9qQjRjcf17tXztlve7sWw Y3fye0tOFccLJ8zwV1ZL4k7z9/ZPHhsIiUPQEpLNnz8KXa1Icv4T2raSXarZJXZiGvVzr y+jEgPSLc0JGbGaUu0qkpEPJMpKjE17W/aE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277267237100029 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add Loongson and LOONGARCH to "words" section in cspell.base.yaml file to avoid spelling check error. Cc: Michael D Kinney Cc: Liming Gao Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- .pytool/Plugin/SpellCheck/cspell.base.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.pytool/Plugin/SpellCheck/cspell.base.yaml b/.pytool/Plugin/Sp= ellCheck/cspell.base.yaml index f0d5791876..92e65ec6f6 100644 --- a/.pytool/Plugin/SpellCheck/cspell.base.yaml +++ b/.pytool/Plugin/SpellCheck/cspell.base.yaml @@ -289,6 +289,8 @@ "unrecovered", "cmocka", "unenrolling", - "unconfigure" + "unconfigure", + "Loongson", + "LOONGARCH" ] } --=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 (#94408): https://edk2.groups.io/g/devel/message/94408 Mute This Topic: https://groups.io/mt/93947366/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- From nobody Wed May 8 22:49:14 2024 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+94409+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+94409+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277265; cv=none; d=zohomail.com; s=zohoarc; b=Qnr+Htff/2IZvs7GX0ZyHxfOoGAK6v+UZW+Hy6dDITqVjRgs2Hwp8TL3etqOk4xt5ad//c4aRcXsgb+u9OkWRsTFii5wiGgPYDm8UFJfjUjdwm7sz3rbuUTB231UzI52sWPYkYpMA6/ZPvo0mAfMPbP0xL5qZKdjgN04yJprkDA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277265; 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=xnLJrzpmBZN2Pwe42P2ccx+fHBG7mqaWCikZ4hshh/I=; b=UUqRDf8N/8moHzPPU0YY1G6aM6EfXBB/nBOmydUsjMoR41m19XYJkFIl+qSBLK3KEUBDSpgAI7AtjD59PUEXCZr8yozg1Mjnk5JFl8JM4bL8gEgxjIdXfOESNtCQRPdNad2FCLv8TC6won/OnpR25vCkgD33lewgvbNTGzg1Vdo= 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+94409+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277265848929.4259716920443; Tue, 27 Sep 2022 04:14:25 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Gg0IYY1788612xFykg7pkjyK; Tue, 27 Sep 2022 04:14:25 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9750.1664277264353523708 for ; Tue, 27 Sep 2022 04:14:24 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S17; Tue, 27 Sep 2022 19:14:22 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Dongyan Qian , Baoqi Zhang , Yang Zhou , Xiaotian Wu Subject: [edk2-devel] [PATCH v3 15/34] BaseTools: Update GenFw/GenFv to support LoongArch platform. Date: Tue, 27 Sep 2022 19:13:35 +0800 Message-Id: <20220927111354.4107719-16-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--.49762S17 X-Coremail-Antispam: 1UD129KBjvAXoWfCw18CF43XryDKF1xCF1Dtrb_yoW5uryfZo W7Ja48Ga1kCa1I9FZrG347WFsrCFy5K3WfGrn8J3Z5JFWxKFs8CFWDAryxZw4rJrW0qan8 W34q9ayDAFy3KryUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRUUUUUUUUU= X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAWs0 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: VYowZ8c8AiNg9TGJh5EYSPxrx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277265; bh=JPbqkT5JC5whFNJmUFQw+Emk4qdpY5ewToJ3Wguy7HM=; h=Cc:Date:From:Reply-To:Subject:To; b=iIsB5/wkpCKk148AEfbm2lADWVwBXQFQNa/xqFIwI5gNynPxcM5wwk6E+WAEv6UQNCT MPpUamvzlYjT7FGvMN5I7BqVSL5W2dNjp2zMIC1rK3zSu0jNNWk3YrWFuZYIfiUnzcZ+Y 51SWIOqIQeHg+xhS34qt7n/Q66Jyz+LtfYk= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277267319100031 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 C code changes for building EDK2 LoongArch platform. For definitions of PE/COFF and LOONGARCH relocation types, see the "Machine Types" and "Basic Relocation Types" sections of this URL for LOONGARCH values: https://docs.microsoft.com/en-us/windows/win32/debug/pe-format Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Signed-off-by: Chao Li Co-authored-by: Dongyan Qian Co-authored-by: Baoqi Zhang Co-authored-by: Yang Zhou Co-authored-by: Xiaotian Wu Reviewed-by: Liming Gao --- BaseTools/Source/C/Common/BasePeCoff.c | 15 +- BaseTools/Source/C/Common/PeCoffLoaderEx.c | 79 +++++ BaseTools/Source/C/GenFv/GenFvInternalLib.c | 125 +++++++- BaseTools/Source/C/GenFw/Elf64Convert.c | 293 +++++++++++++++++- BaseTools/Source/C/GenFw/elf_common.h | 94 ++++++ .../C/Include/IndustryStandard/PeImage.h | 57 ++-- BaseTools/Source/C/Makefiles/header.makefile | 6 + 7 files changed, 636 insertions(+), 33 deletions(-) diff --git a/BaseTools/Source/C/Common/BasePeCoff.c b/BaseTools/Source/C/Co= mmon/BasePeCoff.c index 62fbb2985c..30400d1341 100644 --- a/BaseTools/Source/C/Common/BasePeCoff.c +++ b/BaseTools/Source/C/Common/BasePeCoff.c @@ -5,6 +5,7 @@ Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. Al= l rights reserved.
+Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All = rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -68,6 +69,14 @@ PeCoffLoaderRelocateRiscVImage ( IN UINT64 Adjust ); =20 +RETURN_STATUS +PeCoffLoaderRelocateLoongArch64Image ( + IN UINT16 *Reloc, + IN OUT CHAR8 *Fixup, + IN OUT CHAR8 **FixupData, + IN UINT64 Adjust + ); + STATIC RETURN_STATUS PeCoffLoaderGetPeHeader ( @@ -184,7 +193,8 @@ Returns: ImageContext->Machine !=3D EFI_IMAGE_MACHINE_ARMT && \ ImageContext->Machine !=3D EFI_IMAGE_MACHINE_EBC && \ ImageContext->Machine !=3D EFI_IMAGE_MACHINE_AARCH64 && \ - ImageContext->Machine !=3D EFI_IMAGE_MACHINE_RISCV64) { + ImageContext->Machine !=3D EFI_IMAGE_MACHINE_RISCV64 && \ + ImageContext->Machine !=3D EFI_IMAGE_MACHINE_LOONGARCH64) { if (ImageContext->Machine =3D=3D IMAGE_FILE_MACHINE_ARM) { // // There are two types of ARM images. Pure ARM and ARM/Thumb. @@ -815,6 +825,9 @@ Returns: case EFI_IMAGE_MACHINE_RISCV64: Status =3D PeCoffLoaderRelocateRiscVImage (Reloc, Fixup, &FixupD= ata, Adjust); break; + case EFI_IMAGE_MACHINE_LOONGARCH64: + Status =3D PeCoffLoaderRelocateLoongArch64Image (Reloc, Fixup, &= FixupData, Adjust); + break; default: Status =3D RETURN_UNSUPPORTED; break; diff --git a/BaseTools/Source/C/Common/PeCoffLoaderEx.c b/BaseTools/Source/= C/Common/PeCoffLoaderEx.c index 799f282970..2cc428d733 100644 --- a/BaseTools/Source/C/Common/PeCoffLoaderEx.c +++ b/BaseTools/Source/C/Common/PeCoffLoaderEx.c @@ -4,6 +4,7 @@ IA32 and X64 Specific relocation fixups Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights = reserved.
+Copyright (c) 2022, Loongson Technology Corporation Limited. All rights re= served.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 --*/ @@ -332,3 +333,81 @@ PeCoffLoaderRelocateArmImage ( =20 return RETURN_SUCCESS; } + +/** + Performs a LoongArch specific relocation fixup. + + @param[in] Reloc Pointer to the relocation record. + @param[in, out] Fixup Pointer to the address to fix up. + @param[in, out] FixupData Pointer to a buffer to log the fixups. + @param[in] Adjust The offset to adjust the fixup. + + @return Status code. +**/ +RETURN_STATUS +PeCoffLoaderRelocateLoongArch64Image ( + IN UINT16 *Reloc, + IN OUT CHAR8 *Fixup, + IN OUT CHAR8 **FixupData, + IN UINT64 Adjust + ) +{ + UINT8 RelocType; + UINT64 Value; + UINT64 Tmp1; + UINT64 Tmp2; + + RelocType =3D ((*Reloc) >> 12); + Value =3D 0; + Tmp1 =3D 0; + Tmp2 =3D 0; + + switch (RelocType) { + case EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA: + // The next four instructions are used to load a 64 bit address, rel= ocate all of them + Value =3D (*(UINT32 *)Fixup & 0x1ffffe0) << 7 | // lu12i.w 20b= its from bit5 + (*((UINT32 *)Fixup + 1) & 0x3ffc00) >> 10; // ori 12bit= s from bit10 + Tmp1 =3D *((UINT32 *)Fixup + 2) & 0x1ffffe0; // lu32i.d 20b= its from bit5 + Tmp2 =3D *((UINT32 *)Fixup + 3) & 0x3ffc00; // lu52i.d 12b= its from bit10 + Value =3D Value | (Tmp1 << 27) | (Tmp2 << 42); + Value +=3D Adjust; + + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x1ffffe0) | (((Value >> 1= 2) & 0xfffff) << 5); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + Fixup +=3D sizeof (UINT32); + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x3ffc00) | ((Value & 0xff= f) << 10); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + Fixup +=3D sizeof (UINT32); + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x1ffffe0) | (((Value >> 3= 2) & 0xfffff) << 5); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + Fixup +=3D sizeof (UINT32); + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x3ffc00) | (((Value >> 52= ) & 0xfff) << 10); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + break; + default: + Error (NULL, 0, 3000, "", "PeCoffLoaderRelocateLoongArch64Image: Fix= up[0x%x] Adjust[0x%llx] *Reloc[0x%x], type[0x%x].", *(UINT32 *)Fixup, Adjus= t, *Reloc, RelocType); + return RETURN_UNSUPPORTED; + } + + return RETURN_SUCCESS; +} diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source= /C/GenFv/GenFvInternalLib.c index d28ac8f6eb..5c3d54f5f7 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c @@ -5,6 +5,7 @@ Copyright (c) 2004 - 2018, Intel Corporation. All rights re= served.
Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
Portions Copyright (c) 2016 HP Development Company, L.P.
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. Al= l rights reserved.
+Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All = rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -57,6 +58,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 BOOLEAN mArm =3D FALSE; BOOLEAN mRiscV =3D FALSE; +BOOLEAN mLoongArch =3D FALSE; STATIC UINT32 MaxFfsAlignment =3D 0; BOOLEAN VtfFileFlag =3D FALSE; =20 @@ -2416,6 +2418,98 @@ Returns: return EFI_SUCCESS; } =20 +EFI_STATUS +UpdateLoongArchResetVectorIfNeeded ( + IN MEMORY_FILE *FvImage, + IN FV_INFO *FvInfo + ) +/*++ + +Routine Description: + This parses the FV looking for SEC and patches that address into the + beginning of the FV header. + + For LoongArch ISA, the reset vector is at 0x1c000000. + + We relocate it to SecCoreEntry and copy the ResetVector code to the + beginning of the FV. + +Arguments: + FvImage Memory file for the FV memory image + FvInfo Information read from INF file. + +Returns: + + EFI_SUCCESS Function Completed successfully. + EFI_ABORTED Error encountered. + EFI_INVALID_PARAMETER A required parameter was NULL. + EFI_NOT_FOUND PEI Core file not found. + +--*/ +{ + EFI_STATUS Status; + EFI_FILE_SECTION_POINTER SecPe32; + BOOLEAN UpdateVectorSec =3D FALSE; + UINT16 MachineType =3D 0; + EFI_PHYSICAL_ADDRESS SecCoreEntryAddress =3D 0; + + // + // Verify input parameters + // + if (FvImage =3D=3D NULL || FvInfo =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + + // + // Locate an SEC Core instance and if found extract the machine type and= entry point address + // + Status =3D FindCorePeSection(FvImage->FileImage, FvInfo->Size, EFI_FV_FI= LETYPE_SECURITY_CORE, &SecPe32); + if (!EFI_ERROR(Status)) { + + Status =3D GetCoreMachineType(SecPe32, &MachineType); + if (EFI_ERROR(Status)) { + Error(NULL, 0, 3000, "Invalid", "Could not get the PE32 machine type= for SEC Core."); + return EFI_ABORTED; + } + + Status =3D GetCoreEntryPointAddress(FvImage->FileImage, FvInfo, SecPe3= 2, &SecCoreEntryAddress); + if (EFI_ERROR(Status)) { + Error(NULL, 0, 3000, "Invalid", "Could not get the PE32 entry point = address for SEC Core."); + return EFI_ABORTED; + } + + UpdateVectorSec =3D TRUE; + } + + if (!UpdateVectorSec) + return EFI_SUCCESS; + + if (MachineType =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) { + UINT32 ResetVector[1]; + + memset(ResetVector, 0, sizeof (ResetVector)); + + /* if we found an SEC core entry point then generate a branch instruct= ion */ + if (UpdateVectorSec) { + VerboseMsg("UpdateLoongArchResetVectorIfNeeded updating LOONGARCH64 = SEC vector"); + + ResetVector[0] =3D ((SecCoreEntryAddress - FvInfo->BaseAddress) & 0x= 3FFFFFF) >> 2; + ResetVector[0] =3D ((ResetVector[0] & 0x0FFFF) << 10) | ((ResetVecto= r[0] >> 16) & 0x3FF); + ResetVector[0] |=3D 0x50000000; /* b offset */ + } + + // + // Copy to the beginning of the FV + // + memcpy(FvImage->FileImage, ResetVector, sizeof (ResetVector)); + } else { + Error(NULL, 0, 3000, "Invalid", "Unknown machine type"); + return EFI_ABORTED; + } + + return EFI_SUCCESS; +} + EFI_STATUS GetPe32Info ( IN UINT8 *Pe32, @@ -2509,7 +2603,7 @@ Returns: // if ((*MachineType !=3D EFI_IMAGE_MACHINE_IA32) && (*MachineType !=3D EF= I_IMAGE_MACHINE_X64) && (*MachineType !=3D EFI_IMAGE_MACHINE_EBC) && (*MachineType !=3D EFI_IMAGE_MACHINE_ARMT) && (*MachineType !=3D EFI= _IMAGE_MACHINE_AARCH64) && - (*MachineType !=3D EFI_IMAGE_MACHINE_RISCV64)) { + (*MachineType !=3D EFI_IMAGE_MACHINE_RISCV64) && (*MachineType !=3D = EFI_IMAGE_MACHINE_LOONGARCH64)) { Error (NULL, 0, 3000, "Invalid", "Unrecognized machine type in the PE3= 2 file."); return EFI_UNSUPPORTED; } @@ -2953,7 +3047,7 @@ Returns: goto Finish; } =20 - if (!mArm && !mRiscV) { + if (!mArm && !mRiscV && !mLoongArch) { // // Update reset vector (SALE_ENTRY for IPF) // Now for IA32 and IA64 platform, the fv which has bsf file must ha= ve the @@ -3004,6 +3098,19 @@ Returns: FvHeader->Checksum =3D CalculateChecksum16 ((UINT16 *) FvHeader, FvHea= der->HeaderLength / sizeof (UINT16)); } =20 + if (mLoongArch) { + Status =3D UpdateLoongArchResetVectorIfNeeded (&FvImageMemoryFile, &mF= vDataInfo); + if (EFI_ERROR (Status)) { + Error (NULL, 0, 3000, "Invalid", "Could not update the reset vector.= "); + goto Finish; + } + // + // Update Checksum for FvHeader + // + FvHeader->Checksum =3D 0; + FvHeader->Checksum =3D CalculateChecksum16 ((UINT16 *) FvHeader, FvHea= der->HeaderLength / sizeof (UINT16)); + } + // // Update FV Alignment attribute to the largest alignment of all the FFS= files in the FV // @@ -3450,6 +3557,12 @@ Returns: VerboseMsg("Located ARM/AArch64 SEC/PEI core in child FV"); mArm =3D TRUE; } + + // Machine type is LOONGARCH64, set a flag so LoongArch64 reset vect= or processed. + if ((MachineType =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64)) { + VerboseMsg("Located LoongArch64 SEC core in child FV"); + mLoongArch =3D TRUE; + } } =20 // @@ -3608,6 +3721,10 @@ Returns: mRiscV =3D TRUE; } =20 + if ( (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) ) { + mLoongArch =3D TRUE; + } + // // Keep Image Context for PE image in FV // @@ -3885,6 +4002,10 @@ Returns: mArm =3D TRUE; } =20 + if ( (ImageContext.Machine =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) ) { + mLoongArch =3D TRUE; + } + // // Keep Image Context for TE image in FV // diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/G= enFw/Elf64Convert.c index ca3c8f8bee..ede2f0ef90 100644 --- a/BaseTools/Source/C/GenFw/Elf64Convert.c +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c @@ -4,6 +4,7 @@ Elf64 convert solution Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.
Portions copyright (c) 2013-2022, ARM Ltd. All rights reserved.
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. Al= l rights reserved.
+Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All = rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -177,7 +178,7 @@ InitializeElf64 ( Error (NULL, 0, 3000, "Unsupported", "ELF e_type not ET_EXEC or ET_DYN= "); return FALSE; } - if (!((mEhdr->e_machine =3D=3D EM_X86_64) || (mEhdr->e_machine =3D=3D EM= _AARCH64) || (mEhdr->e_machine =3D=3D EM_RISCV64))) { + if (!((mEhdr->e_machine =3D=3D EM_X86_64) || (mEhdr->e_machine =3D=3D EM= _AARCH64) || (mEhdr->e_machine =3D=3D EM_RISCV64) || (mEhdr->e_machine =3D= =3D EM_LOONGARCH))) { Warning (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf64 mac= hine."); } if (mEhdr->e_version !=3D EV_CURRENT) { @@ -799,6 +800,7 @@ ScanSections64 ( case EM_X86_64: case EM_AARCH64: case EM_RISCV64: + case EM_LOONGARCH: mCoffOffset +=3D sizeof (EFI_IMAGE_NT_HEADERS64); break; default: @@ -1088,6 +1090,10 @@ ScanSections64 ( NtHdr->Pe32Plus.FileHeader.Machine =3D EFI_IMAGE_MACHINE_RISCV64; NtHdr->Pe32Plus.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR64_M= AGIC; break; + case EM_LOONGARCH: + NtHdr->Pe32Plus.FileHeader.Machine =3D EFI_IMAGE_MACHINE_LOONGARCH64; + NtHdr->Pe32Plus.OptionalHeader.Magic =3D EFI_IMAGE_NT_OPTIONAL_HDR64_M= AGIC; + break; =20 default: VerboseMsg ("%s unknown e_machine type. Assume X64", (UINTN)mEhdr->e_m= achine); @@ -1333,10 +1339,10 @@ WriteSections64 ( } =20 // - // Skip error on EM_RISCV64 becasue no symble name is built - // from RISC-V toolchain. + // Skip error on EM_RISCV64 and EM_LOONGARCH because no symbol n= ame is built + // from RISC-V and LoongArch toolchain. // - if (mEhdr->e_machine !=3D EM_RISCV64) { + if ((mEhdr->e_machine !=3D EM_RISCV64) && (mEhdr->e_machine !=3D= EM_LOONGARCH)) { Error (NULL, 0, 3000, "Invalid", "%s: Bad definition for symbol '%s'@%#llx or unsupporte= d symbol type. " "For example, absolute and undefined symbols are not su= pported.", @@ -1618,6 +1624,178 @@ WriteSections64 ( // Write section for RISC-V 64 architecture. // WriteSectionRiscV64 (Rel, Targ, SymShdr, Sym); + } else if (mEhdr->e_machine =3D=3D EM_LOONGARCH) { + switch (ELF_R_TYPE(Rel->r_info)) { + INT64 Offset; + INT32 Lo, Hi; + + case R_LARCH_SOP_PUSH_ABSOLUTE: + // + // Absolute relocation. + // + *(UINT64 *)Targ =3D *(UINT64 *)Targ - SymShdr->sh_addr + mCoff= SectionsOffset[Sym->st_shndx]; + break; + + case R_LARCH_MARK_LA: + case R_LARCH_64: + case R_LARCH_NONE: + case R_LARCH_32: + case R_LARCH_RELATIVE: + case R_LARCH_COPY: + case R_LARCH_JUMP_SLOT: + case R_LARCH_TLS_DTPMOD32: + case R_LARCH_TLS_DTPMOD64: + case R_LARCH_TLS_DTPREL32: + case R_LARCH_TLS_DTPREL64: + case R_LARCH_TLS_TPREL32: + case R_LARCH_TLS_TPREL64: + case R_LARCH_IRELATIVE: + case R_LARCH_MARK_PCREL: + case R_LARCH_SOP_PUSH_PCREL: + case R_LARCH_SOP_PUSH_DUP: + case R_LARCH_SOP_PUSH_GPREL: + case R_LARCH_SOP_PUSH_TLS_TPREL: + case R_LARCH_SOP_PUSH_TLS_GOT: + case R_LARCH_SOP_PUSH_TLS_GD: + case R_LARCH_SOP_PUSH_PLT_PCREL: + case R_LARCH_SOP_ASSERT: + case R_LARCH_SOP_NOT: + case R_LARCH_SOP_SUB: + case R_LARCH_SOP_SL: + case R_LARCH_SOP_SR: + case R_LARCH_SOP_ADD: + case R_LARCH_SOP_AND: + case R_LARCH_SOP_IF_ELSE: + case R_LARCH_SOP_POP_32_S_10_5: + case R_LARCH_SOP_POP_32_U_10_12: + case R_LARCH_SOP_POP_32_S_10_12: + case R_LARCH_SOP_POP_32_S_10_16: + case R_LARCH_SOP_POP_32_S_10_16_S2: + case R_LARCH_SOP_POP_32_S_5_20: + case R_LARCH_SOP_POP_32_S_0_5_10_16_S2: + case R_LARCH_SOP_POP_32_S_0_10_10_16_S2: + case R_LARCH_SOP_POP_32_U: + case R_LARCH_ADD8: + case R_LARCH_ADD16: + case R_LARCH_ADD24: + case R_LARCH_ADD32: + case R_LARCH_ADD64: + case R_LARCH_SUB8: + case R_LARCH_SUB16: + case R_LARCH_SUB24: + case R_LARCH_SUB32: + case R_LARCH_SUB64: + case R_LARCH_GNU_VTINHERIT: + case R_LARCH_GNU_VTENTRY: + case R_LARCH_B16: + case R_LARCH_B21: + case R_LARCH_B26: + case R_LARCH_ABS_HI20: + case R_LARCH_ABS_LO12: + case R_LARCH_ABS64_LO20: + case R_LARCH_ABS64_HI12: + case R_LARCH_PCALA_LO12: + case R_LARCH_PCALA64_LO20: + case R_LARCH_PCALA64_HI12: + case R_LARCH_GOT_PC_LO12: + case R_LARCH_GOT64_PC_LO20: + case R_LARCH_GOT64_PC_HI12: + case R_LARCH_GOT64_HI20: + case R_LARCH_GOT64_LO12: + case R_LARCH_GOT64_LO20: + case R_LARCH_GOT64_HI12: + case R_LARCH_TLS_LE_HI20: + case R_LARCH_TLS_LE_LO12: + case R_LARCH_TLS_LE64_LO20: + case R_LARCH_TLS_LE64_HI12: + case R_LARCH_TLS_IE_PC_HI20: + case R_LARCH_TLS_IE_PC_LO12: + case R_LARCH_TLS_IE64_PC_LO20: + case R_LARCH_TLS_IE64_PC_HI12: + case R_LARCH_TLS_IE64_HI20: + case R_LARCH_TLS_IE64_LO12: + case R_LARCH_TLS_IE64_LO20: + case R_LARCH_TLS_IE64_HI12: + case R_LARCH_TLS_LD_PC_HI20: + case R_LARCH_TLS_LD64_HI20: + case R_LARCH_TLS_GD_PC_HI20: + case R_LARCH_TLS_GD64_HI20: + case R_LARCH_RELAX: + // + // These types are not used or do not require fixup. + // + break; + + case R_LARCH_GOT_PC_HI20: + Offset =3D Sym->st_value - (UINTN)(Targ - mCoffFile); + if (Offset < 0) { + Offset =3D (UINTN)(Targ - mCoffFile) - Sym->st_value; + Hi =3D (Offset / 0x1000) << 12; + Lo =3D (INT32)((Offset & 0xfff) << 20) >> 20; + if ((Lo < 0) && (Lo > -2048)) { + Hi +=3D 0x1000; + Lo =3D ~(0x1000 - Lo) + 1; + } + Hi =3D ~Hi + 1; + Lo =3D ~Lo + 1; + } else { + Hi =3D (Offset / 0x1000) << 12; + Lo =3D (INT32)((Offset & 0xfff) << 20) >> 20; + if (Lo < 0) { + Hi +=3D 0x1000; + Lo =3D ~(0x1000 - Lo) + 1; + } + } + // Re-encode the offset as an PCADD.D + ADDI.D(Convert LD.D) i= nstruction + *(UINT32 *)Targ &=3D 0x1f; + *(UINT32 *)Targ |=3D 0x1c000000; + *(UINT32 *)Targ |=3D (((Hi >> 12) & 0xfffff) << 5); + *(UINT32 *)(Targ + 4) &=3D 0x3ff; + *(UINT32 *)(Targ + 4) |=3D 0x2c00000 | ((Lo & 0xfff) << 10); + break; + + // + // Attempt to convert instruction. + // + case R_LARCH_PCALA_HI20: + // Decode the PCALAU12I + ADDI.D instruction + Offset =3D ((INT32)((*(UINT32 *)Targ & 0x1ffffe0) << 7)); + Offset +=3D ((INT32)((*(UINT32 *)(Targ + 4) & 0x3ffc00) << 10)= >> 20); + // + // PCALA offset is relative to the previous page boundary, + // whereas PCADD offset is relative to the instruction itself. + // So fix up the offset so it points to the page containing + // the symbol. + // + Offset -=3D (UINTN)(Targ - mCoffFile) & 0xfff; + if (Offset < 0) { + Offset =3D -Offset; + Hi =3D (Offset / 0x1000) << 12; + Lo =3D (INT32)((Offset & 0xfff) << 20) >> 20; + if ((Lo < 0) && (Lo > -2048)) { + Hi +=3D 0x1000; + Lo =3D ~(0x1000 - Lo) + 1; + } + Hi =3D ~Hi + 1; + Lo =3D ~Lo + 1; + } else { + Hi =3D (Offset / 0x1000) << 12; + Lo =3D (INT32)((Offset & 0xfff) << 20) >> 20; + if (Lo < 0) { + Hi +=3D 0x1000; + Lo =3D ~(0x1000 - Lo) + 1; + } + } + // Re-encode the offset as an PCADD.D + ADDI.D instruction + *(UINT32 *)Targ &=3D 0x1f; + *(UINT32 *)Targ |=3D 0x1c000000; + *(UINT32 *)Targ |=3D (((Hi >> 12) & 0xfffff) << 5); + *(UINT32 *)(Targ + 4) &=3D 0xffc003ff; + *(UINT32 *)(Targ + 4) |=3D (Lo & 0xfff) << 10; + break; + default: + Error (NULL, 0, 3000, "Invalid", "WriteSections64(): %s unsupp= orted ELF EM_LOONGARCH relocation 0x%x.", mInImageName, (unsigned) ELF64_R_= TYPE(Rel->r_info)); + } } else { Error (NULL, 0, 3000, "Invalid", "Not a supported machine type"); } @@ -1850,6 +2028,113 @@ WriteRelocations64 ( default: Error (NULL, 0, 3000, "Invalid", "WriteRelocations64(): %s u= nsupported ELF EM_RISCV64 relocation 0x%x.", mInImageName, (unsigned) ELF_R= _TYPE(Rel->r_info)); } + } else if (mEhdr->e_machine =3D=3D EM_LOONGARCH) { + switch (ELF_R_TYPE(Rel->r_info)) { + case R_LARCH_MARK_LA: + CoffAddFixup( + (UINT32) ((UINT64) mCoffSectionsOffset[RelShdr->sh_info] + + (Rel->r_offset - SecShdr->sh_addr)), + EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA); + break; + case R_LARCH_64: + CoffAddFixup( + (UINT32) ((UINT64) mCoffSectionsOffset[RelShdr->sh_info] + + (Rel->r_offset - SecShdr->sh_addr)), + EFI_IMAGE_REL_BASED_DIR64); + break; + case R_LARCH_NONE: + case R_LARCH_32: + case R_LARCH_RELATIVE: + case R_LARCH_COPY: + case R_LARCH_JUMP_SLOT: + case R_LARCH_TLS_DTPMOD32: + case R_LARCH_TLS_DTPMOD64: + case R_LARCH_TLS_DTPREL32: + case R_LARCH_TLS_DTPREL64: + case R_LARCH_TLS_TPREL32: + case R_LARCH_TLS_TPREL64: + case R_LARCH_IRELATIVE: + case R_LARCH_MARK_PCREL: + case R_LARCH_SOP_PUSH_PCREL: + case R_LARCH_SOP_PUSH_ABSOLUTE: + case R_LARCH_SOP_PUSH_DUP: + case R_LARCH_SOP_PUSH_GPREL: + case R_LARCH_SOP_PUSH_TLS_TPREL: + case R_LARCH_SOP_PUSH_TLS_GOT: + case R_LARCH_SOP_PUSH_TLS_GD: + case R_LARCH_SOP_PUSH_PLT_PCREL: + case R_LARCH_SOP_ASSERT: + case R_LARCH_SOP_NOT: + case R_LARCH_SOP_SUB: + case R_LARCH_SOP_SL: + case R_LARCH_SOP_SR: + case R_LARCH_SOP_ADD: + case R_LARCH_SOP_AND: + case R_LARCH_SOP_IF_ELSE: + case R_LARCH_SOP_POP_32_S_10_5: + case R_LARCH_SOP_POP_32_U_10_12: + case R_LARCH_SOP_POP_32_S_10_12: + case R_LARCH_SOP_POP_32_S_10_16: + case R_LARCH_SOP_POP_32_S_10_16_S2: + case R_LARCH_SOP_POP_32_S_5_20: + case R_LARCH_SOP_POP_32_S_0_5_10_16_S2: + case R_LARCH_SOP_POP_32_S_0_10_10_16_S2: + case R_LARCH_SOP_POP_32_U: + case R_LARCH_ADD8: + case R_LARCH_ADD16: + case R_LARCH_ADD24: + case R_LARCH_ADD32: + case R_LARCH_ADD64: + case R_LARCH_SUB8: + case R_LARCH_SUB16: + case R_LARCH_SUB24: + case R_LARCH_SUB32: + case R_LARCH_SUB64: + case R_LARCH_GNU_VTINHERIT: + case R_LARCH_GNU_VTENTRY: + case R_LARCH_B16: + case R_LARCH_B21: + case R_LARCH_B26: + case R_LARCH_ABS_HI20: + case R_LARCH_ABS_LO12: + case R_LARCH_ABS64_LO20: + case R_LARCH_ABS64_HI12: + case R_LARCH_PCALA_HI20: + case R_LARCH_PCALA_LO12: + case R_LARCH_PCALA64_LO20: + case R_LARCH_PCALA64_HI12: + case R_LARCH_GOT_PC_HI20: + case R_LARCH_GOT_PC_LO12: + case R_LARCH_GOT64_PC_LO20: + case R_LARCH_GOT64_PC_HI12: + case R_LARCH_GOT64_HI20: + case R_LARCH_GOT64_LO12: + case R_LARCH_GOT64_LO20: + case R_LARCH_GOT64_HI12: + case R_LARCH_TLS_LE_HI20: + case R_LARCH_TLS_LE_LO12: + case R_LARCH_TLS_LE64_LO20: + case R_LARCH_TLS_LE64_HI12: + case R_LARCH_TLS_IE_PC_HI20: + case R_LARCH_TLS_IE_PC_LO12: + case R_LARCH_TLS_IE64_PC_LO20: + case R_LARCH_TLS_IE64_PC_HI12: + case R_LARCH_TLS_IE64_HI20: + case R_LARCH_TLS_IE64_LO12: + case R_LARCH_TLS_IE64_LO20: + case R_LARCH_TLS_IE64_HI12: + case R_LARCH_TLS_LD_PC_HI20: + case R_LARCH_TLS_LD64_HI20: + case R_LARCH_TLS_GD_PC_HI20: + case R_LARCH_TLS_GD64_HI20: + case R_LARCH_RELAX: + // + // These types are not used or do not require fixup in PE = format files. + // + break; + default: + Error (NULL, 0, 3000, "Invalid", "WriteRelocations64(): = %s unsupported ELF EM_LOONGARCH relocation 0x%x.", mInImageName, (unsigned)= ELF64_R_TYPE(Rel->r_info)); + } } else { Error (NULL, 0, 3000, "Not Supported", "This tool does not sup= port relocations for ELF with e_machine %u (processor type).", (unsigned) m= Ehdr->e_machine); } diff --git a/BaseTools/Source/C/GenFw/elf_common.h b/BaseTools/Source/C/Gen= Fw/elf_common.h index b67f59e7a0..7b7fdeb329 100644 --- a/BaseTools/Source/C/GenFw/elf_common.h +++ b/BaseTools/Source/C/GenFw/elf_common.h @@ -4,6 +4,7 @@ Ported ELF include files from FreeBSD Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.
Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
Portion Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All= rights reserved.
+Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All = rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 =20 @@ -181,6 +182,7 @@ typedef struct { #define EM_AARCH64 183 /* ARM 64bit Architecture */ #define EM_RISCV64 243 /* 64bit RISC-V Architecture */ #define EM_RISCV 244 /* 32bit RISC-V Architecture */ +#define EM_LOONGARCH 258 /* LoongArch Architecture */ =20 /* Non-standard or deprecated. */ #define EM_486 6 /* Intel i486. */ @@ -1042,4 +1044,96 @@ typedef struct { #define R_RISCV_SET8 54 #define R_RISCV_SET16 55 #define R_RISCV_SET32 56 + +/* + * LoongArch relocation types + */ +#define R_LARCH_NONE 0 +#define R_LARCH_32 1 +#define R_LARCH_64 2 +#define R_LARCH_RELATIVE 3 +#define R_LARCH_COPY 4 +#define R_LARCH_JUMP_SLOT 5 +#define R_LARCH_TLS_DTPMOD32 6 +#define R_LARCH_TLS_DTPMOD64 7 +#define R_LARCH_TLS_DTPREL32 8 +#define R_LARCH_TLS_DTPREL64 9 +#define R_LARCH_TLS_TPREL32 10 +#define R_LARCH_TLS_TPREL64 11 +#define R_LARCH_IRELATIVE 12 +#define R_LARCH_MARK_LA 20 +#define R_LARCH_MARK_PCREL 21 +#define R_LARCH_SOP_PUSH_PCREL 22 +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 +#define R_LARCH_SOP_PUSH_DUP 24 +#define R_LARCH_SOP_PUSH_GPREL 25 +#define R_LARCH_SOP_PUSH_TLS_TPREL 26 +#define R_LARCH_SOP_PUSH_TLS_GOT 27 +#define R_LARCH_SOP_PUSH_TLS_GD 28 +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 +#define R_LARCH_SOP_ASSERT 30 +#define R_LARCH_SOP_NOT 31 +#define R_LARCH_SOP_SUB 32 +#define R_LARCH_SOP_SL 33 +#define R_LARCH_SOP_SR 34 +#define R_LARCH_SOP_ADD 35 +#define R_LARCH_SOP_AND 36 +#define R_LARCH_SOP_IF_ELSE 37 +#define R_LARCH_SOP_POP_32_S_10_5 38 +#define R_LARCH_SOP_POP_32_U_10_12 39 +#define R_LARCH_SOP_POP_32_S_10_12 40 +#define R_LARCH_SOP_POP_32_S_10_16 41 +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 +#define R_LARCH_SOP_POP_32_S_5_20 43 +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 +#define R_LARCH_SOP_POP_32_U 46 +#define R_LARCH_ADD8 47 +#define R_LARCH_ADD16 48 +#define R_LARCH_ADD24 49 +#define R_LARCH_ADD32 50 +#define R_LARCH_ADD64 51 +#define R_LARCH_SUB8 52 +#define R_LARCH_SUB16 53 +#define R_LARCH_SUB24 54 +#define R_LARCH_SUB32 55 +#define R_LARCH_SUB64 56 +#define R_LARCH_GNU_VTINHERIT 57 +#define R_LARCH_GNU_VTENTRY 58 +#define R_LARCH_B16 64 +#define R_LARCH_B21 65 +#define R_LARCH_B26 66 +#define R_LARCH_ABS_HI20 67 +#define R_LARCH_ABS_LO12 68 +#define R_LARCH_ABS64_LO20 69 +#define R_LARCH_ABS64_HI12 70 +#define R_LARCH_PCALA_HI20 71 +#define R_LARCH_PCALA_LO12 72 +#define R_LARCH_PCALA64_LO20 73 +#define R_LARCH_PCALA64_HI12 74 +#define R_LARCH_GOT_PC_HI20 75 +#define R_LARCH_GOT_PC_LO12 76 +#define R_LARCH_GOT64_PC_LO20 77 +#define R_LARCH_GOT64_PC_HI12 78 +#define R_LARCH_GOT64_HI20 79 +#define R_LARCH_GOT64_LO12 80 +#define R_LARCH_GOT64_LO20 81 +#define R_LARCH_GOT64_HI12 82 +#define R_LARCH_TLS_LE_HI20 83 +#define R_LARCH_TLS_LE_LO12 84 +#define R_LARCH_TLS_LE64_LO20 85 +#define R_LARCH_TLS_LE64_HI12 86 +#define R_LARCH_TLS_IE_PC_HI20 87 +#define R_LARCH_TLS_IE_PC_LO12 88 +#define R_LARCH_TLS_IE64_PC_LO20 89 +#define R_LARCH_TLS_IE64_PC_HI12 90 +#define R_LARCH_TLS_IE64_HI20 91 +#define R_LARCH_TLS_IE64_LO12 92 +#define R_LARCH_TLS_IE64_LO20 93 +#define R_LARCH_TLS_IE64_HI12 94 +#define R_LARCH_TLS_LD_PC_HI20 95 +#define R_LARCH_TLS_LD64_HI20 96 +#define R_LARCH_TLS_GD_PC_HI20 97 +#define R_LARCH_TLS_GD64_HI20 98 +#define R_LARCH_RELAX 99 #endif /* !_SYS_ELF_COMMON_H_ */ diff --git a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h b/BaseTo= ols/Source/C/Include/IndustryStandard/PeImage.h index 21c968e650..77ded3f611 100644 --- a/BaseTools/Source/C/Include/IndustryStandard/PeImage.h +++ b/BaseTools/Source/C/Include/IndustryStandard/PeImage.h @@ -7,6 +7,7 @@ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+ Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -36,23 +37,25 @@ // // PE32+ Machine type for EFI images // -#define IMAGE_FILE_MACHINE_I386 0x014c -#define IMAGE_FILE_MACHINE_EBC 0x0EBC -#define IMAGE_FILE_MACHINE_X64 0x8664 -#define IMAGE_FILE_MACHINE_ARM 0x01c0 // Thumb only -#define IMAGE_FILE_MACHINE_ARMT 0x01c2 // 32bit Mixed ARM and Thumb/T= humb 2 Little Endian -#define IMAGE_FILE_MACHINE_ARM64 0xAA64 // 64bit ARM Architecture, Lit= tle Endian -#define IMAGE_FILE_MACHINE_RISCV64 0x5064 // 64bit RISC-V ISA +#define IMAGE_FILE_MACHINE_I386 0x014c +#define IMAGE_FILE_MACHINE_EBC 0x0EBC +#define IMAGE_FILE_MACHINE_X64 0x8664 +#define IMAGE_FILE_MACHINE_ARM 0x01c0 // Thumb only +#define IMAGE_FILE_MACHINE_ARMT 0x01c2 // 32bit Mixed ARM and Thum= b/Thumb 2 Little Endian +#define IMAGE_FILE_MACHINE_ARM64 0xAA64 // 64bit ARM Architecture, = Little Endian +#define IMAGE_FILE_MACHINE_RISCV64 0x5064 // 64bit RISC-V ISA +#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 // 64bit LoongArch Architec= ture =20 // // Support old names for backward compatible // -#define EFI_IMAGE_MACHINE_IA32 IMAGE_FILE_MACHINE_I386 -#define EFI_IMAGE_MACHINE_EBC IMAGE_FILE_MACHINE_EBC -#define EFI_IMAGE_MACHINE_X64 IMAGE_FILE_MACHINE_X64 -#define EFI_IMAGE_MACHINE_ARMT IMAGE_FILE_MACHINE_ARMT -#define EFI_IMAGE_MACHINE_AARCH64 IMAGE_FILE_MACHINE_ARM64 -#define EFI_IMAGE_MACHINE_RISCV64 IMAGE_FILE_MACHINE_RISCV64 +#define EFI_IMAGE_MACHINE_IA32 IMAGE_FILE_MACHINE_I386 +#define EFI_IMAGE_MACHINE_EBC IMAGE_FILE_MACHINE_EBC +#define EFI_IMAGE_MACHINE_X64 IMAGE_FILE_MACHINE_X64 +#define EFI_IMAGE_MACHINE_ARMT IMAGE_FILE_MACHINE_ARMT +#define EFI_IMAGE_MACHINE_AARCH64 IMAGE_FILE_MACHINE_ARM64 +#define EFI_IMAGE_MACHINE_RISCV64 IMAGE_FILE_MACHINE_RISCV64 +#define EFI_IMAGE_MACHINE_LOONGARCH64 IMAGE_FILE_MACHINE_LOONGARCH64 =20 #define EFI_IMAGE_DOS_SIGNATURE 0x5A4D // MZ #define EFI_IMAGE_OS2_SIGNATURE 0x454E // NE @@ -500,19 +503,21 @@ typedef struct { // // Based relocation types. // -#define EFI_IMAGE_REL_BASED_ABSOLUTE 0 -#define EFI_IMAGE_REL_BASED_HIGH 1 -#define EFI_IMAGE_REL_BASED_LOW 2 -#define EFI_IMAGE_REL_BASED_HIGHLOW 3 -#define EFI_IMAGE_REL_BASED_HIGHADJ 4 -#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR 5 -#define EFI_IMAGE_REL_BASED_ARM_MOV32A 5 -#define EFI_IMAGE_REL_BASED_RISCV_HI20 5 -#define EFI_IMAGE_REL_BASED_ARM_MOV32T 7 -#define EFI_IMAGE_REL_BASED_RISCV_LOW12I 7 -#define EFI_IMAGE_REL_BASED_RISCV_LOW12S 8 -#define EFI_IMAGE_REL_BASED_IA64_IMM64 9 -#define EFI_IMAGE_REL_BASED_DIR64 10 +#define EFI_IMAGE_REL_BASED_ABSOLUTE 0 +#define EFI_IMAGE_REL_BASED_HIGH 1 +#define EFI_IMAGE_REL_BASED_LOW 2 +#define EFI_IMAGE_REL_BASED_HIGHLOW 3 +#define EFI_IMAGE_REL_BASED_HIGHADJ 4 +#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR 5 +#define EFI_IMAGE_REL_BASED_ARM_MOV32A 5 +#define EFI_IMAGE_REL_BASED_RISCV_HI20 5 +#define EFI_IMAGE_REL_BASED_ARM_MOV32T 7 +#define EFI_IMAGE_REL_BASED_RISCV_LOW12I 7 +#define EFI_IMAGE_REL_BASED_RISCV_LOW12S 8 +#define EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA 8 +#define EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA 8 +#define EFI_IMAGE_REL_BASED_IA64_IMM64 9 +#define EFI_IMAGE_REL_BASED_DIR64 10 =20 =20 /// diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Sourc= e/C/Makefiles/header.makefile index 0df728f327..4e88a4fbd8 100644 --- a/BaseTools/Source/C/Makefiles/header.makefile +++ b/BaseTools/Source/C/Makefiles/header.makefile @@ -31,6 +31,9 @@ ifndef HOST_ARCH ifneq (,$(findstring riscv64,$(uname_m))) HOST_ARCH=3DRISCV64 endif + ifneq (,$(findstring loongarch64,$(uname_m))) + HOST_ARCH=3DLOONGARCH64 + endif ifndef HOST_ARCH $(info Could not detected HOST_ARCH from uname results) $(error HOST_ARCH is not defined!) @@ -70,6 +73,9 @@ ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/AArch64/ else ifeq ($(HOST_ARCH), RISCV64) ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/RiscV64/ =20 +else ifeq ($(HOST_ARCH), LOONGARCH64) +ARCH_INCLUDE =3D -I $(MAKEROOT)/Include/LoongArch64/ + else $(error Bad HOST_ARCH) endif --=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 (#94409): https://edk2.groups.io/g/devel/message/94409 Mute This Topic: https://groups.io/mt/93947367/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- From nobody Wed May 8 22:49:14 2024 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+94410+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+94410+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277268; cv=none; d=zohomail.com; s=zohoarc; b=ZpnMAvMQAvQhH4zm7pclvDputUqfD3NoR+62FL2zwtXbG6/hjifzYtlOrSn4m4N0B5hY0Y4neoW4m2huJU1oWw0OroKIr3LE75oYWTA4Xc+RM1idjLG+mL83piyTxWRzcC+EyklKcaY5NvSGSChGpOU9hvpkUtBieCeJPShkMis= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277268; 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=1rOYiqvBSBZUqraopq8EupROgKGPx5fpRhKPznf0kxU=; b=U73Vfmi52BeppynKMaMWLwAr7qwvRx8QzF4J6GmY00KBx9jOyJbMZWscF3RBHgnm/5LijbdLPujnMw7Psh6klUxlMfQCRBu0NUechxPAzKzwg6beg7zJgZZkp7tBGuaM9QDRS772vNnxa5HhRIzkMLdb8RSuGySYqsJ+VP4yzVg= 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+94410+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277268052612.4153496735682; Tue, 27 Sep 2022 04:14:28 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 150DYY1788612xSFuNAi9fa1; Tue, 27 Sep 2022 04:14:27 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.9754.1664277266665360701 for ; Tue, 27 Sep 2022 04:14:27 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S18; Tue, 27 Sep 2022 19:14:25 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Dongyan Qian , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 16/34] BaseTools: Updated for GCC5 tool chain for LoongArch platfrom. Date: Tue, 27 Sep 2022 19:13:36 +0800 Message-Id: <20220927111354.4107719-17-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--.49762S18 X-Coremail-Antispam: 1UD129KBjvJXoW3CFWfKr4rAr15tFWfWr4kZwb_yoWDAr47pa y8Kr45G3Wxtrn7KF4xK3Wa9FW2vF4IkryUGrW7Cr4rCa1Du3s8Jas8ta1UGrWjgr1Iy3yU C34q9wsxur10kwUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAYs6 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: kwRdqTQqTJrhvyWfW1mlddxsx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277267; bh=U55Ku1Vpsd32PXLtJDVVALqDFlzo4oXkGngxQ9Mke2E=; h=Cc:Date:From:Reply-To:Subject:To; b=QXNGT6nMbi91415ldHQcRSNBkl4thzaAgaXNSyyqc1Em20EB/hDLlGFYie5avPQVSn9 KvVcVCiEkzzUbuAIOzAODRs46UgtAvcGVdI3H9taErD7EG3fiQA72sw25t4C2FSitSk23 SyvhezmmQBYATbD3GUA/3NFSg8ifibCilyI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277269231100035 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 BaseTools define template files changes for building EDK2 LoongArch platform. Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Signed-off-by: Chao Li Co-authored-by: Dongyan Qian Co-authored-by: Baoqi Zhang Reviewed-by: Liming Gao --- BaseTools/Conf/tools_def.template | 54 +++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index 5ed19810b7..9ceadeaa59 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -4,6 +4,7 @@ # Portions copyright (c) 2011 - 2019, ARM Ltd. All rights reserved.
# Copyright (c) 2015, Hewlett-Packard Development Company, L.P.
# (C) Copyright 2020, Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# Copyright (c) Microsoft Corporation # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -267,7 +268,7 @@ DEFINE DTC_BIN =3D ENV(DTC_PREFIX)dtc # Intel(r) ACPI Compiler from # https://acpica.org/downloads # GCC5 -Linux,Windows- Requires: -# GCC 5 with LTO support, targeting x86_64-lin= ux-gnu, aarch64-linux-gnu, arm-linux-gnueabi or riscv64-linux-gnu +# GCC 5 with LTO support, targeting x86_64-lin= ux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu or loongarc= h64-linux-gnu # Optional: # Required to build platforms or ACPI tables: # Intel(r) ACPI Compiler from @@ -1852,6 +1853,7 @@ DEFINE GCC_ALL_CC_FLAGS =3D -g -Os -fshort= -wchar -fno-builtin -fno-stri DEFINE GCC_IA32_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -m32 -malign-= double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-p= robe DEFINE GCC_X64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mno-red-zone= -Wno-address -mno-stack-arg-probe DEFINE GCC_ARM_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mlittle-endi= an -mabi=3Daapcs -fno-short-enums -funsigned-char -ffunction-sections -fdat= a-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=3Dsoft -fn= o-pic -fno-pie +DEFINE GCC_LOONGARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mabi=3Dlp64d= -fno-asynchronous-unwind-tables -fno-plt -Wno-address -fno-short-enums -fs= igned-char -ffunction-sections -fdata-sections DEFINE GCC_ARM_CC_XIPFLAGS =3D -mno-unaligned-access DEFINE GCC_AARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mlittle-endi= an -fno-short-enums -fverbose-asm -funsigned-char -ffunction-sections -fda= ta-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables= -fno-pic -fno-pie -ffixed-x18 DEFINE GCC_AARCH64_CC_XIPFLAGS =3D -mstrict-align -mgeneral-regs-only @@ -1859,12 +1861,15 @@ DEFINE GCC_DLINK_FLAGS_COMMON =3D -nostdlib --= pie DEFINE GCC_DLINK2_FLAGS_COMMON =3D -Wl,--script=3D$(EDK_TOOLS_PATH)/Sc= ripts/GccBase.lds DEFINE GCC_IA32_X64_DLINK_COMMON =3D DEF(GCC_DLINK_FLAGS_COMMON) --gc-se= ctions DEFINE GCC_ARM_AARCH64_DLINK_COMMON=3D -Wl,--emit-relocs -nostdlib -Wl,--g= c-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_= DIR_DEBUG)/$(BASE_NAME).map +DEFINE GCC_LOONGARCH64_DLINK_COMMON=3D -Wl,--emit-relocs -nostdlib -Wl,--g= c-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_= DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_ARM_DLINK_FLAGS =3D DEF(GCC_ARM_AARCH64_DLINK_COMMON) -= z common-page-size=3D0x20 -Wl,--pic-veneer DEFINE GCC_AARCH64_DLINK_FLAGS =3D DEF(GCC_ARM_AARCH64_DLINK_COMMON) -= z common-page-size=3D0x20 +DEFINE GCC_LOONGARCH64_DLINK_FLAGS =3D DEF(GCC_LOONGARCH64_DLINK_COMMON) -= z common-page-size=3D0x20 DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS =3D -Wl,--defsym=3DPECOFF_HEADER_SIZ= E=3D0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=3D0x20 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS =3D DEF(GCC_IA32_X64_DLINK_COMMON) --en= try _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEFINE GCC_ARM_ASLDLINK_FLAGS =3D DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entr= y,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_F= LAGS) DEFINE GCC_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--= entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLI= NK_FLAGS) +DEFINE GCC_LOONGARCH64_ASLDLINK_FLAGS =3D DEF(GCC_LOONGARCH64_DLINK_FLAGS)= --entry ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEFINE GCC_IA32_X64_DLINK_FLAGS =3D DEF(GCC_IA32_X64_DLINK_COMMON) --en= try _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -M= ap $(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_ASM_FLAGS =3D -c -x assembler -imacros AutoGen.h DEFINE GCC_PP_FLAGS =3D -E -x assembler-with-cpp -include A= utoGen.h @@ -1873,11 +1878,12 @@ DEFINE GCC_ASLPP_FLAGS =3D -x c -E -inc= lude AutoGen.h DEFINE GCC_ASLCC_FLAGS =3D -x c DEFINE GCC_WINDRES_FLAGS =3D -J rc -O coff DEFINE GCC_DTCPP_FLAGS =3D -E -x assembler-with-cpp -imacros A= utoGen.h -nostdinc -undef -DEFINE GCC_IA32_RC_FLAGS =3D -I binary -O elf32-i386 -B= i386 --rename-section .data=3D.hii -DEFINE GCC_X64_RC_FLAGS =3D -I binary -O elf64-x86-64 -B= i386 --rename-section .data=3D.hii -DEFINE GCC_ARM_RC_FLAGS =3D -I binary -O elf32-littlearm -B= arm --rename-section .data=3D.hii -DEFINE GCC_AARCH64_RC_FLAGS =3D -I binary -O elf64-littleaarch64 -B= aarch64 --rename-section .data=3D.hii -DEFINE GCC_RISCV64_RC_FLAGS =3D -I binary -O elf64-littleriscv -B= riscv --rename-section .data=3D.hii +DEFINE GCC_IA32_RC_FLAGS =3D -I binary -O elf32-i386 -B= i386 --rename-section .data=3D.hii +DEFINE GCC_X64_RC_FLAGS =3D -I binary -O elf64-x86-64 -B= i386 --rename-section .data=3D.hii +DEFINE GCC_ARM_RC_FLAGS =3D -I binary -O elf32-littlearm -B= arm --rename-section .data=3D.hii +DEFINE GCC_AARCH64_RC_FLAGS =3D -I binary -O elf64-littleaarch64 -B= aarch64 --rename-section .data=3D.hii +DEFINE GCC_RISCV64_RC_FLAGS =3D -I binary -O elf64-littleriscv -B= riscv --rename-section .data=3D.hii +DEFINE GCC_LOONGARCH64_RC_FLAGS =3D -I binary -O elf64-loongarch -B= loongarch64 --rename-section .data=3D.hii =20 # GCC Build Flag for included header file list generation DEFINE GCC_DEPS_FLAGS =3D -MMD -MF $@.deps @@ -1967,6 +1973,14 @@ DEFINE GCC5_RISCV64_CC_FLAGS =3D DEF(G= CC5_RISCV_ALL_CC_FLAGS) DEF(GC DEFINE GCC5_RISCV64_DLINK_FLAGS =3D DEF(GCC5_RISCV_ALL_DLINK_FL= AGS) -Wl,-melf64lriscv,--oformat=3Delf64-littleriscv,--no-relax DEFINE GCC5_RISCV64_DLINK2_FLAGS =3D DEF(GCC5_RISCV_ALL_DLINK2_F= LAGS) DEFINE GCC5_RISCV64_ASM_FLAGS =3D DEF(GCC5_RISCV_ALL_ASM_FLAG= S) -march=3DDEF(GCC5_RISCV64_ARCH) -mcmodel=3Dmedany -mabi=3Dlp64 + +DEFINE GCC5_LOONGARCH64_CC_FLAGS =3D DEF(GCC_LOONGARCH64_CC_FLAG= S) -march=3Dloongarch64 -mno-memcpy -Werror -Wno-maybe-uninitialized -Wno-s= tringop-overflow -Wno-pointer-to-int-cast -no-pie -fno-stack-protector -mno= -explicit-relocs +DEFINE GCC5_LOONGARCH64_DLINK_FLAGS =3D DEF(GCC_LOONGARCH64_DLINK_F= LAGS) +DEFINE GCC5_LOONGARCH64_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON= ) -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0x228 +DEFINE GCC5_LOONGARCH64_ASLDLINK_FLAGS =3D DEF(GCC_LOONGARCH64_ASLDLIN= K_FLAGS) +DEFINE GCC5_LOONGARCH64_ASM_FLAGS =3D -x assembler-with-cpp -mabi= =3Dlp64d -march=3Dloongarch64 -fno-builtin -c -Wall -mno-explicit-relocs +DEFINE GCC5_LOONGARCH64_PP_FLAGS =3D -mabi=3Dlp64d -march=3Dloon= garch64 DEF(GCC_PP_FLAGS) + DEFINE GCC_PP_FLAGS =3D -E -x assembler-with-cpp -i= nclude AutoGen.h DEF(GCC5_RISCV_OPENSBI_TYPES) =20 ##########################################################################= ########## @@ -2445,6 +2459,34 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS =3D -z common-pa= ge-size=3D0x20 *_GCC5_RISCV64_OBJCOPY_FLAGS =3D *_GCC5_RISCV64_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) =20 +################## +# GCC5 LOONGARCH64 definitions +################## +*_GCC5_LOONGARCH64_OBJCOPY_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)ob= jcopy +*_GCC5_LOONGARCH64_CC_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_SLINK_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gc= c-ar +*_GCC5_LOONGARCH64_DLINK_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASLDLINK_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASM_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_PP_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_VFRPP_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASLCC_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_ASLPP_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)gcc +*_GCC5_LOONGARCH64_RC_PATH =3D ENV(GCC5_LOONGARCH64_PREFIX)ob= jcopy + +*_GCC5_LOONGARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) +*_GCC5_LOONGARCH64_ASLDLINK_FLAGS =3D DEF(GCC5_LOONGARCH64_ASLDLINK_= FLAGS) +*_GCC5_LOONGARCH64_ASM_FLAGS =3D DEF(GCC5_LOONGARCH64_ASM_FLAGS) +*_GCC5_LOONGARCH64_DLINK_FLAGS =3D DEF(GCC5_LOONGARCH64_DLINK_FLA= GS) +*_GCC5_LOONGARCH64_DLINK2_FLAGS =3D DEF(GCC5_LOONGARCH64_DLINK2_FL= AGS) +*_GCC5_LOONGARCH64_RC_FLAGS =3D DEF(GCC_LOONGARCH64_RC_FLAGS) +*_GCC5_LOONGARCH64_OBJCOPY_FLAGS =3D +*_GCC5_LOONGARCH64_NASM_FLAGS =3D -f elf32 +*_GCC5_LOONGARCH64_PP_FLAGS =3D DEF(GCC5_LOONGARCH64_PP_FLAGS) + +DEBUG_GCC5_LOONGARCH64_CC_FLAGS =3D DEF(GCC5_LOONGARCH64_CC_FLAGS) +RELEASE_GCC5_LOONGARCH64_CC_FLAGS =3D DEF(GCC5_LOONGARCH64_CC_FLAGS)= -Wno-unused-but-set-variable -Wno-unused-variable + ##########################################################################= ########## # # CLANG35 - This configuration is used to compile under Linux to produce --=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 (#94410): https://edk2.groups.io/g/devel/message/94410 Mute This Topic: https://groups.io/mt/93947368/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- From nobody Wed May 8 22:49:14 2024 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+94411+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+94411+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277270; cv=none; d=zohomail.com; s=zohoarc; b=Puv/DJFRvtM2i991/R2DPpNGohP3YA05WxBoU212qoI7LRVOnCzad7sXzrqLY+DfNGYLIxH769v5Gap4w8CEZd+M7Ops4vJEglJk0kYVCKIXW77AphkVlQSHDf5xp9Ulk8kBp+fDAKIRY0sn+X7os7VDn2bw/0YFBXe6YXzJkkg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277270; 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=jtCy5L+s+rBZavXDQOHmiZtVF0FH4FWZ/fzWpjdARXA=; b=gRdCOabQ6uz1gAUl+sEYXmlMT1FKbBYif5Cg7dI6+rs9Sf9W9SDPKW13yDasEVhQQlmFGZigzvyTwcNIWVf196XTSO3aEWIPBkylQj1uCYQBgjNRzmn2j2szxYaCiVNUzpPDU/Jp3501tjrlFnSNrBbl+uZ1fVEzAqudhu5se9w= 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+94411+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 166427727019737.040081360251406; Tue, 27 Sep 2022 04:14:30 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id ZAlbYY1788612xD7rxGZCT1E; Tue, 27 Sep 2022 04:14:29 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.9699.1664277268748587043 for ; Tue, 27 Sep 2022 04:14:29 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S19; Tue, 27 Sep 2022 19:14:27 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 17/34] BaseTools: Updated build tools to support new LoongArch. Date: Tue, 27 Sep 2022 19:13:37 +0800 Message-Id: <20220927111354.4107719-18-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--.49762S19 X-Coremail-Antispam: 1UD129KBjvAXoWfuw15CryDAF1fGrW7CFyrtFb_yoW8Zw4fto Z3Jr48WFn0gr4UJFWxC3W5tFWDur4kWaySqF1akr1rCa1ftwn0qw4rt34UKry8Wryqk3WD JFyDCF1qya47XF1Un29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRUUUUUUUUU= X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAas4 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: I7d31bdQmPGCEH8FUG7d4DOqx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277269; bh=ok1Ii1ondoOEc1Yn2XPSt9ApuX+vMsspusANwpGLvJQ=; h=Cc:Date:From:Reply-To:Subject:To; b=HoTdlue7sbca+eRJNO3tFM9uDchtt/dS2EK0HALLrerlsYlvyGBlgD4uc60TcEDm0qf 9a4AB0ug0OjAerqzvF5336EfsbxjCTwgC8GvJPqECabkCI30oxOv555sE2qiKvljpseZL 7yJablfseRbQ5UE5TJs1v9+2/fBk83jIfMU= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277271183100037 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Python code changes for building EDK2 LoongArch platform. Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Signed-off-by: Chao Li Co-authored-by: Baoqi Zhang Reviewed-by: Liming Gao --- BaseTools/Source/Python/Common/DataType.py | 21 ++++++++++++++-- .../Source/Python/UPT/Library/DataType.py | 24 ++++++++++++++++++- BaseTools/Source/Python/build/buildoptions.py | 3 ++- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/BaseTools/Source/Python/Common/DataType.py b/BaseTools/Source/= Python/Common/DataType.py index dc49623333..48dbf16495 100644 --- a/BaseTools/Source/Python/Common/DataType.py +++ b/BaseTools/Source/Python/Common/DataType.py @@ -4,6 +4,7 @@ # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
# Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
# Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. = All rights reserved.
+# Portions Copyright (c) 2022, Loongson Technology Corporation Limited. Al= l rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent =20 ## @@ -52,10 +53,10 @@ TAB_ARCH_X64 =3D 'X64' TAB_ARCH_ARM =3D 'ARM' TAB_ARCH_EBC =3D 'EBC' TAB_ARCH_AARCH64 =3D 'AARCH64' - TAB_ARCH_RISCV64 =3D 'RISCV64' +TAB_ARCH_LOONGARCH64 =3D 'LOONGARCH64' =20 -ARCH_SET_FULL =3D {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_ARM, TAB_ARCH_EBC= , TAB_ARCH_AARCH64, TAB_ARCH_RISCV64, TAB_ARCH_COMMON} +ARCH_SET_FULL =3D {TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_ARM, TAB_ARCH_EBC= , TAB_ARCH_AARCH64, TAB_ARCH_RISCV64, TAB_ARCH_LOONGARCH64, TAB_ARCH_COMMON} =20 SUP_MODULE_BASE =3D 'BASE' SUP_MODULE_SEC =3D 'SEC' @@ -138,6 +139,7 @@ TAB_SOURCES_X64 =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_= X64 TAB_SOURCES_ARM =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM TAB_SOURCES_EBC =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC TAB_SOURCES_AARCH64 =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_SOURCES_LOONGARCH64 =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_LOONGARCH64 =20 TAB_BINARIES =3D 'Binaries' TAB_BINARIES_COMMON =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_COMMON @@ -146,6 +148,7 @@ TAB_BINARIES_X64 =3D TAB_BINARIES + TAB_SPLIT + TAB_ARC= H_X64 TAB_BINARIES_ARM =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM TAB_BINARIES_EBC =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC TAB_BINARIES_AARCH64 =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_BINARIES_LOONGARCH64 =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_LOONGARCH= 64 =20 TAB_INCLUDES =3D 'Includes' TAB_INCLUDES_COMMON =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_COMMON @@ -154,6 +157,7 @@ TAB_INCLUDES_X64 =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARC= H_X64 TAB_INCLUDES_ARM =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM TAB_INCLUDES_EBC =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC TAB_INCLUDES_AARCH64 =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_INCLUDES_LOONGARCH64 =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_LOONGARCH= 64 =20 TAB_GUIDS =3D 'Guids' TAB_GUIDS_COMMON =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_COMMON @@ -162,6 +166,7 @@ TAB_GUIDS_X64 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_X64 TAB_GUIDS_ARM =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM TAB_GUIDS_EBC =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC TAB_GUIDS_AARCH64 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_GUIDS_LOONGARCH64 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_LOONGARCH64 =20 TAB_PROTOCOLS =3D 'Protocols' TAB_PROTOCOLS_COMMON =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_COMMON @@ -170,6 +175,7 @@ TAB_PROTOCOLS_X64 =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_A= RCH_X64 TAB_PROTOCOLS_ARM =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM TAB_PROTOCOLS_EBC =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC TAB_PROTOCOLS_AARCH64 =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_PROTOCOLS_LOONGARCH64 =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_LOONGAR= CH64 =20 TAB_PPIS =3D 'Ppis' TAB_PPIS_COMMON =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_COMMON @@ -178,6 +184,7 @@ TAB_PPIS_X64 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_X64 TAB_PPIS_ARM =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM TAB_PPIS_EBC =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC TAB_PPIS_AARCH64 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_PPIS_LOONGARCH64 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_LOONGARCH64 =20 TAB_LIBRARY_CLASSES =3D 'LibraryClasses' TAB_LIBRARY_CLASSES_COMMON =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_= COMMON @@ -186,6 +193,7 @@ TAB_LIBRARY_CLASSES_X64 =3D TAB_LIBRARY_CLASSES + TAB_S= PLIT + TAB_ARCH_X64 TAB_LIBRARY_CLASSES_ARM =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_ARM TAB_LIBRARY_CLASSES_EBC =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_EBC TAB_LIBRARY_CLASSES_AARCH64 =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH= _AARCH64 +TAB_LIBRARY_CLASSES_LOONGARCH64 =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_= ARCH_LOONGARCH64 =20 TAB_PACKAGES =3D 'Packages' TAB_PACKAGES_COMMON =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_COMMON @@ -194,6 +202,7 @@ TAB_PACKAGES_X64 =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARC= H_X64 TAB_PACKAGES_ARM =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM TAB_PACKAGES_EBC =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC TAB_PACKAGES_AARCH64 =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_PACKAGES_LOONGARCH64 =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_LOONGARCH= 64 =20 TAB_PCDS =3D 'Pcds' TAB_PCDS_FIXED_AT_BUILD =3D 'FixedAtBuild' @@ -221,6 +230,7 @@ TAB_PCDS_FIXED_AT_BUILD_X64 =3D TAB_PCDS + TAB_PCDS_FIX= ED_AT_BUILD + TAB_SPLIT + T TAB_PCDS_FIXED_AT_BUILD_ARM =3D TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_S= PLIT + TAB_ARCH_ARM TAB_PCDS_FIXED_AT_BUILD_EBC =3D TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + TAB_S= PLIT + TAB_ARCH_EBC TAB_PCDS_FIXED_AT_BUILD_AARCH64 =3D TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + T= AB_SPLIT + TAB_ARCH_AARCH64 +TAB_PCDS_FIXED_AT_BUILD_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD= + TAB_SPLIT + TAB_ARCH_LOONGARCH64 =20 TAB_PCDS_PATCHABLE_IN_MODULE_NULL =3D TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MOD= ULE TAB_PCDS_PATCHABLE_IN_MODULE_COMMON =3D TAB_PCDS + TAB_PCDS_PATCHABLE_IN_M= ODULE + TAB_SPLIT + TAB_ARCH_COMMON @@ -229,6 +239,7 @@ TAB_PCDS_PATCHABLE_IN_MODULE_X64 =3D TAB_PCDS + TAB_PCD= S_PATCHABLE_IN_MODULE + TAB TAB_PCDS_PATCHABLE_IN_MODULE_ARM =3D TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODU= LE + TAB_SPLIT + TAB_ARCH_ARM TAB_PCDS_PATCHABLE_IN_MODULE_EBC =3D TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODU= LE + TAB_SPLIT + TAB_ARCH_EBC TAB_PCDS_PATCHABLE_IN_MODULE_AARCH64 =3D TAB_PCDS + TAB_PCDS_PATCHABLE_IN_= MODULE + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_PCDS_PATCHABLE_IN_MODULE_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_PATCHABLE= _IN_MODULE + TAB_SPLIT + TAB_ARCH_LOONGARCH64 =20 TAB_PCDS_FEATURE_FLAG_NULL =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG TAB_PCDS_FEATURE_FLAG_COMMON =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SP= LIT + TAB_ARCH_COMMON @@ -237,6 +248,7 @@ TAB_PCDS_FEATURE_FLAG_X64 =3D TAB_PCDS + TAB_PCDS_FEATU= RE_FLAG + TAB_SPLIT + TAB_A TAB_PCDS_FEATURE_FLAG_ARM =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT= + TAB_ARCH_ARM TAB_PCDS_FEATURE_FLAG_EBC =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT= + TAB_ARCH_EBC TAB_PCDS_FEATURE_FLAG_AARCH64 =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_S= PLIT + TAB_ARCH_AARCH64 +TAB_PCDS_FEATURE_FLAG_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + T= AB_SPLIT + TAB_ARCH_LOONGARCH64 =20 TAB_PCDS_DYNAMIC_EX_NULL =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX TAB_PCDS_DYNAMIC_EX_DEFAULT_NULL =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX_DEFAULT @@ -248,6 +260,7 @@ TAB_PCDS_DYNAMIC_EX_X64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC= _EX + TAB_SPLIT + TAB_ARCH_ TAB_PCDS_DYNAMIC_EX_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + T= AB_ARCH_ARM TAB_PCDS_DYNAMIC_EX_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + T= AB_ARCH_EBC TAB_PCDS_DYNAMIC_EX_AARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT= + TAB_ARCH_AARCH64 +TAB_PCDS_DYNAMIC_EX_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_S= PLIT + TAB_ARCH_LOONGARCH64 =20 TAB_PCDS_DYNAMIC_NULL =3D TAB_PCDS + TAB_PCDS_DYNAMIC TAB_PCDS_DYNAMIC_DEFAULT_NULL =3D TAB_PCDS + TAB_PCDS_DYNAMIC_DEFAULT @@ -259,6 +272,7 @@ TAB_PCDS_DYNAMIC_X64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC + = TAB_SPLIT + TAB_ARCH_X64 TAB_PCDS_DYNAMIC_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARC= H_ARM TAB_PCDS_DYNAMIC_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARC= H_EBC TAB_PCDS_DYNAMIC_AARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB= _ARCH_AARCH64 +TAB_PCDS_DYNAMIC_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT += TAB_ARCH_LOONGARCH64 =20 TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE =3D 'PcdLoadFixAddressPe= iCodePageNumber' TAB_PCDS_PATCHABLE_LOAD_FIX_ADDRESS_PEI_PAGE_SIZE_DATA_TYPE =3D 'UINT32' @@ -285,6 +299,7 @@ TAB_DEPEX_X64 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_X64 TAB_DEPEX_ARM =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM TAB_DEPEX_EBC =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC TAB_DEPEX_AARCH64 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_DEPEX_LOONGARCH64 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_LOONGARCH64 =20 TAB_SKUIDS =3D 'SkuIds' TAB_DEFAULT_STORES =3D 'DefaultStores' @@ -297,6 +312,7 @@ TAB_LIBRARIES_X64 =3D TAB_LIBRARIES + TAB_SPLIT + TAB_A= RCH_X64 TAB_LIBRARIES_ARM =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM TAB_LIBRARIES_EBC =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC TAB_LIBRARIES_AARCH64 =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_LIBRARIES_LOONGARCH64 =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_LOONGAR= CH64 =20 TAB_COMPONENTS =3D 'Components' TAB_COMPONENTS_COMMON =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_COMMON @@ -305,6 +321,7 @@ TAB_COMPONENTS_X64 =3D TAB_COMPONENTS + TAB_SPLIT + TAB= _ARCH_X64 TAB_COMPONENTS_ARM =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_ARM TAB_COMPONENTS_EBC =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_EBC TAB_COMPONENTS_AARCH64 =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_AARCH64 +TAB_COMPONENTS_LOONGARCH64 =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_LOONG= ARCH64 =20 TAB_BUILD_OPTIONS =3D 'BuildOptions' =20 diff --git a/BaseTools/Source/Python/UPT/Library/DataType.py b/BaseTools/So= urce/Python/UPT/Library/DataType.py index 2033149aa6..0e47f35670 100644 --- a/BaseTools/Source/Python/UPT/Library/DataType.py +++ b/BaseTools/Source/Python/UPT/Library/DataType.py @@ -2,6 +2,7 @@ # This file is used to define class for data type structure # # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
+# Portions Copyright (c) 2022, Loongson Technology Corporation Limited. Al= l rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -367,10 +368,11 @@ TAB_ARCH_IA32 =3D 'IA32' TAB_ARCH_X64 =3D 'X64' TAB_ARCH_IPF =3D 'IPF' TAB_ARCH_ARM =3D 'ARM' +TAB_ARCH_LOONGARCH64 =3D 'LOONGARCH64' TAB_ARCH_EBC =3D 'EBC' =20 ARCH_LIST =3D \ -[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_EBC] +[TAB_ARCH_IA32, TAB_ARCH_X64, TAB_ARCH_IPF, TAB_ARCH_ARM, TAB_ARCH_LOONGAR= CH64, TAB_ARCH_EBC] =20 SUP_MODULE_BASE =3D 'BASE' SUP_MODULE_SEC =3D 'SEC' @@ -454,6 +456,7 @@ TAB_SOURCES_IA32 =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH= _IA32 TAB_SOURCES_X64 =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_X64 TAB_SOURCES_IPF =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_IPF TAB_SOURCES_ARM =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_ARM +TAB_SOURCES_LOONGARCH64 =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_LOONGARCH64 TAB_SOURCES_EBC =3D TAB_SOURCES + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_BINARIES =3D 'Binaries' @@ -462,6 +465,7 @@ TAB_BINARIES_IA32 =3D TAB_BINARIES + TAB_SPLIT + TAB_AR= CH_IA32 TAB_BINARIES_X64 =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_X64 TAB_BINARIES_IPF =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_IPF TAB_BINARIES_ARM =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_ARM +TAB_BINARIES_LOONGARCH64 =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_LOONGARCH= 64 TAB_BINARIES_EBC =3D TAB_BINARIES + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_INCLUDES =3D 'Includes' @@ -470,6 +474,7 @@ TAB_INCLUDES_IA32 =3D TAB_INCLUDES + TAB_SPLIT + TAB_AR= CH_IA32 TAB_INCLUDES_X64 =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_X64 TAB_INCLUDES_IPF =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_IPF TAB_INCLUDES_ARM =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_ARM +TAB_INCLUDES_LOONGARCH64 =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_LOONGARCH= 64 TAB_INCLUDES_EBC =3D TAB_INCLUDES + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_GUIDS =3D 'Guids' @@ -478,6 +483,7 @@ TAB_GUIDS_IA32 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IA32 TAB_GUIDS_X64 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_X64 TAB_GUIDS_IPF =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_IPF TAB_GUIDS_ARM =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_ARM +TAB_GUIDS_LOONGARCH64 =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_LOONGARCH64 TAB_GUIDS_EBC =3D TAB_GUIDS + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_PROTOCOLS =3D 'Protocols' @@ -486,6 +492,7 @@ TAB_PROTOCOLS_IA32 =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_= ARCH_IA32 TAB_PROTOCOLS_X64 =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_X64 TAB_PROTOCOLS_IPF =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_IPF TAB_PROTOCOLS_ARM =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_ARM +TAB_PROTOCOLS_LOONGARCH64 =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_LOONGAR= CH64 TAB_PROTOCOLS_EBC =3D TAB_PROTOCOLS + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_PPIS =3D 'Ppis' @@ -494,6 +501,7 @@ TAB_PPIS_IA32 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_IA32 TAB_PPIS_X64 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_X64 TAB_PPIS_IPF =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_IPF TAB_PPIS_ARM =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_ARM +TAB_PPIS_LOONGARCH64 =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_LOONGARCH64 TAB_PPIS_EBC =3D TAB_PPIS + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_LIBRARY_CLASSES =3D 'LibraryClasses' @@ -502,6 +510,7 @@ TAB_LIBRARY_CLASSES_IA32 =3D TAB_LIBRARY_CLASSES + TAB_= SPLIT + TAB_ARCH_IA32 TAB_LIBRARY_CLASSES_X64 =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_X64 TAB_LIBRARY_CLASSES_IPF =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_IPF TAB_LIBRARY_CLASSES_ARM =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_ARM +TAB_LIBRARY_CLASSES_LOONGARCH64 =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_= ARCH_LOONGARCH64 TAB_LIBRARY_CLASSES_EBC =3D TAB_LIBRARY_CLASSES + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_PACKAGES =3D 'Packages' @@ -510,6 +519,7 @@ TAB_PACKAGES_IA32 =3D TAB_PACKAGES + TAB_SPLIT + TAB_AR= CH_IA32 TAB_PACKAGES_X64 =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_X64 TAB_PACKAGES_IPF =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_IPF TAB_PACKAGES_ARM =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_ARM +TAB_PACKAGES_LOONGARCH64 =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_LOONGARCH= 64 TAB_PACKAGES_EBC =3D TAB_PACKAGES + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_PCDS =3D 'Pcds' @@ -548,6 +558,8 @@ TAB_PCDS_FIXED_AT_BUILD_IPF =3D TAB_PCDS + TAB_PCDS_FIX= ED_AT_BUILD + \ TAB_SPLIT + TAB_ARCH_IPF TAB_PCDS_FIXED_AT_BUILD_ARM =3D TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \ TAB_SPLIT + TAB_ARCH_ARM +TAB_PCDS_FIXED_AT_BUILD_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD= + \ +TAB_SPLIT + TAB_ARCH_LOONGARCH64 TAB_PCDS_FIXED_AT_BUILD_EBC =3D TAB_PCDS + TAB_PCDS_FIXED_AT_BUILD + \ TAB_SPLIT + TAB_ARCH_EBC =20 @@ -562,6 +574,8 @@ TAB_PCDS_PATCHABLE_IN_MODULE_IPF =3D TAB_PCDS + TAB_PCD= S_PATCHABLE_IN_MODULE + \ TAB_SPLIT + TAB_ARCH_IPF TAB_PCDS_PATCHABLE_IN_MODULE_ARM =3D TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODU= LE + \ TAB_SPLIT + TAB_ARCH_ARM +TAB_PCDS_PATCHABLE_IN_MODULE_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_PATCHABLE= _IN_MODULE + \ +TAB_SPLIT + TAB_ARCH_LOONGARCH64 TAB_PCDS_PATCHABLE_IN_MODULE_EBC =3D TAB_PCDS + TAB_PCDS_PATCHABLE_IN_MODU= LE + \ TAB_SPLIT + TAB_ARCH_EBC =20 @@ -576,6 +590,8 @@ TAB_PCDS_FEATURE_FLAG_IPF =3D TAB_PCDS + TAB_PCDS_FEATU= RE_FLAG + TAB_SPLIT + \ TAB_ARCH_IPF TAB_PCDS_FEATURE_FLAG_ARM =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT= + \ TAB_ARCH_ARM +TAB_PCDS_FEATURE_FLAG_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + T= AB_SPLIT + \ +TAB_ARCH_LOONGARCH64 TAB_PCDS_FEATURE_FLAG_EBC =3D TAB_PCDS + TAB_PCDS_FEATURE_FLAG + TAB_SPLIT= + \ TAB_ARCH_EBC =20 @@ -593,6 +609,8 @@ TAB_PCDS_DYNAMIC_EX_IPF =3D TAB_PCDS + TAB_PCDS_DYNAMIC= _EX + TAB_SPLIT + \ TAB_ARCH_IPF TAB_PCDS_DYNAMIC_EX_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \ TAB_ARCH_ARM +TAB_PCDS_DYNAMIC_EX_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_S= PLIT + \ +TAB_ARCH_LOONGARCH64 TAB_PCDS_DYNAMIC_EX_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC_EX + TAB_SPLIT + \ TAB_ARCH_EBC =20 @@ -606,6 +624,7 @@ TAB_PCDS_DYNAMIC_IA32 =3D TAB_PCDS + TAB_PCDS_DYNAMIC += TAB_SPLIT + TAB_ARCH_IA32 TAB_PCDS_DYNAMIC_X64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARC= H_X64 TAB_PCDS_DYNAMIC_IPF =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARC= H_IPF TAB_PCDS_DYNAMIC_ARM =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARC= H_ARM +TAB_PCDS_DYNAMIC_LOONGARCH64 =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT += TAB_ARCH_LOONGARCH64 TAB_PCDS_DYNAMIC_EBC =3D TAB_PCDS + TAB_PCDS_DYNAMIC + TAB_SPLIT + TAB_ARC= H_EBC =20 TAB_PCD_DYNAMIC_TYPE_LIST =3D [TAB_PCDS_DYNAMIC_DEFAULT_NULL, \ @@ -646,6 +665,7 @@ TAB_DEPEX_IA32 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IA32 TAB_DEPEX_X64 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_X64 TAB_DEPEX_IPF =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_IPF TAB_DEPEX_ARM =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_ARM +TAB_DEPEX_LOONGARCH64 =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_LOONGARCH64 TAB_DEPEX_EBC =3D TAB_DEPEX + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_SKUIDS =3D 'SkuIds' @@ -656,6 +676,7 @@ TAB_LIBRARIES_IA32 =3D TAB_LIBRARIES + TAB_SPLIT + TAB_= ARCH_IA32 TAB_LIBRARIES_X64 =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_X64 TAB_LIBRARIES_IPF =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_IPF TAB_LIBRARIES_ARM =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_ARM +TAB_LIBRARIES_LOONGARCH64 =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_LOONGAR= CH64 TAB_LIBRARIES_EBC =3D TAB_LIBRARIES + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_COMPONENTS =3D 'Components' @@ -664,6 +685,7 @@ TAB_COMPONENTS_IA32 =3D TAB_COMPONENTS + TAB_SPLIT + TA= B_ARCH_IA32 TAB_COMPONENTS_X64 =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_X64 TAB_COMPONENTS_IPF =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_IPF TAB_COMPONENTS_ARM =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_ARM +TAB_COMPONENTS_LOONGARCH64 =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_LOONG= ARCH64 TAB_COMPONENTS_EBC =3D TAB_COMPONENTS + TAB_SPLIT + TAB_ARCH_EBC =20 TAB_BUILD_OPTIONS =3D 'BuildOptions' diff --git a/BaseTools/Source/Python/build/buildoptions.py b/BaseTools/Sour= ce/Python/build/buildoptions.py index 39d92cff20..8334604b46 100644 --- a/BaseTools/Source/Python/build/buildoptions.py +++ b/BaseTools/Source/Python/build/buildoptions.py @@ -4,6 +4,7 @@ # Copyright (c) 2014, Hewlett-Packard Development Company, L.P.
# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.
# Copyright (c) 2018 - 2020, Hewlett Packard Enterprise Development, L.P.=
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -41,7 +42,7 @@ class MyOptionParser(): def GetOption(self): Parser =3D OptionParser(description=3D__copyright__, version=3D__v= ersion__, prog=3D"build.exe", usage=3D"%prog [options] [all|fds|genc|genmak= e|clean|cleanall|cleanlib|modules|libraries|run]") Parser.add_option("-a", "--arch", action=3D"append", dest=3D"Targe= tArch", - help=3D"ARCHS is one of list: IA32, X64, ARM, AARCH64, RISCV64= or EBC, which overrides target.txt's TARGET_ARCH definition. To specify mo= re archs, please repeat this option.") + help=3D"ARCHS is one of list: IA32, X64, ARM, AARCH64, RISCV64= , LOONGARCH64 or EBC, which overrides target.txt's TARGET_ARCH definition. = To specify more archs, please repeat this option.") Parser.add_option("-p", "--platform", action=3D"callback", type=3D= "string", dest=3D"PlatformFile", callback=3DSingleCheckCallback, help=3D"Build the platform specified by the DSC file name argu= ment, overriding target.txt's ACTIVE_PLATFORM definition.") Parser.add_option("-m", "--module", action=3D"callback", type=3D"s= tring", dest=3D"ModuleFile", callback=3DSingleCheckCallback, --=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 (#94411): https://edk2.groups.io/g/devel/message/94411 Mute This Topic: https://groups.io/mt/93947369/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- From nobody Wed May 8 22:49:14 2024 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+94412+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+94412+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277271; cv=none; d=zohomail.com; s=zohoarc; b=jDZpn44E0dxoxl+7rLTH+ODc+MyRJAewOofCkoDFADtUCjIbw45bA10PrBArF4UcXVktLCLz2rugwkcnMFfzMIr2+UFpae0s4+bIt/Ne+jivqy002ZqxUWbNylV74BggcUgNN/cQlKEUyiXljCkRaMVStXV3yrV3/rirfe2cU/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277271; 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=t/nNs9eJy7Iqo5IiLLF3qkwLyp0Pl9eVieJRJgkKx+o=; b=iZAFiSbyScmEiZ02Pe6E6M84bWduK8fUJ88kfxhx6SIVa41DoGIP7R7f1wYOwjl6J0zSpLfoarjtHuj/tjLJGg5vYCL7WJ7Ww0OXkULcwDx3l1alx9KZmaSTufwcefg6QgQsXOSZMSZIcyTcAJkKbGPUlLhTGFec8FUZrkqU3E0= 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+94412+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 166427727110753.57717107081112; Tue, 27 Sep 2022 04:14:31 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id yOoFYY1788612xoum954IHfK; Tue, 27 Sep 2022 04:14:30 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web08.9462.1664277269729470793 for ; Tue, 27 Sep 2022 04:14:30 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S20; Tue, 27 Sep 2022 19:14:28 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 18/34] BaseTools: Add LoongArch64 binding. Date: Tue, 27 Sep 2022 19:13:38 +0800 Message-Id: <20220927111354.4107719-19-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--.49762S20 X-Coremail-Antispam: 1UD129KBjvJXoWxXFWxZr43JFWUKr1rWrWkCrg_yoW5uF47pa nI9F4fG3y0grW3CryfKFW5Wr4fGr40kayxtrWSv343ArWDKw1xW34agF4UGFWUJwsYg34r XF1Yg3W7tasrA3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAbs5 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: vZQAXUIpEsadKUArk5X4RvTQx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277270; bh=0S0ept1B7eVUlmODZRCiZ30BU12AvrfuBo+yWA8lu3Y=; h=Cc:Date:From:Reply-To:Subject:To; b=rd9GhDwyqYLM1SV7XpKH+zFfWjx5oOZGh/V3ViOFPTQHoKpjZCaL388siFaezWGaP3z X4+47SnTAQ3jQidzqcUwjOkdZW5FXYHh+lHwWN6g7ksOrP28VsEwJWKRITEVT4Ubo3Qde /CFovx6Eghamxaz+x6YwMrQsE3kYK7WlrCo= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277273195100044 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 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 Reviewed-by: Liming Gao --- 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=3DRISCV64 endif + ifneq (,$(findstring loongarch64,$(uname_m))) + HOST_ARCH=3DLOONGARCH64 + 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/BaseT= ools/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 i= nstructions, +// 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 --=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 (#94412): https://edk2.groups.io/g/devel/message/94412 Mute This Topic: https://groups.io/mt/93947370/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- From nobody Wed May 8 22:49:14 2024 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+94413+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+94413+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277272; cv=none; d=zohomail.com; s=zohoarc; b=BLU5/TQdzqGBEgjktEs531FBTsBQA2TGtvJsSAIqX4ENKEjVegJQ0JXKHQHfyOGB1pfPyALUxcgj4pHR6uva/ECtRzHnfdktfc2rcFHsGEEp/l6HFuPHjcrczUXMhfDXP0MafoLvN+LHOYclJJlC/fq0q3vlgacYjF4IVDQy5Nc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277272; 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=leEQvd+h1KI47l8CAOsABew3vkcMSjzRQwVlJeJqzho=; b=iiCN3lmifYjXE3To/hQMqTzCpySdCH7a+vvmdWv3rujU9xxMuB18PcODWMrl9PPnSFp2uGeyxuiJ3YJoNasHNGzLpXXg+/Mr9hrl+RP+uW4Fp21WV9XWp4Qo6O9QbojhLA/WwLqnuo1EAQ0k7jhxkw6YP+xeFydiTbpBnmhLVzY= 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+94413+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277272500530.1363984695766; Tue, 27 Sep 2022 04:14:32 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id UT05YY1788612xX7WgoK8IT9; Tue, 27 Sep 2022 04:14:32 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9752.1664277270903524371 for ; Tue, 27 Sep 2022 04:14:31 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S21; Tue, 27 Sep 2022 19:14:29 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Michael D Kinney Subject: [edk2-devel] [PATCH v3 19/34] BaseTools: Enable LoongArch64 architecture for LoongArch64 EDK2 CI. Date: Tue, 27 Sep 2022 19:13:39 +0800 Message-Id: <20220927111354.4107719-20-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--.49762S21 X-Coremail-Antispam: 1UD129KBjvJXoWxXF1fZr1kXFyxJryfKw4rZrb_yoWrAr17p3 Z7Zwn5GF42qrn7Cr93Ka47ur9YvrWkCr17tFWfur1rCrWDZ340gr47try7tFy3A34F9ana 9wsYgw12gF18GaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAds- 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: FuGiAqSnEHtKMJTHzZGH9X5lx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277272; bh=4Z7B4C8ciKAwIffLc8luvLKI1worfSdMq8VLuis4hgw=; h=Cc:Date:From:Reply-To:Subject:To; b=vjulTh9R1PyZg3Jvc98bLRewqbYa1AJoAJD+uXhfxNnxP1l1qb3fR7YIMox3tPs6Hjd /Y0sCknsolhJipv+ih5P8cgScOZOjisCSt4FRaQj6npc1pQt7Rf0wTXBoLoN/9/zhdBHQ m7PMkQqVaptedaICBgem6XqFpaiSJ1KGeRg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277273198100046 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 EDK CI for LoongArch64 architecture Enable LoongArch64 architecture for LoongArch64 EDK2 CI testing. Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- ...gcc_loongarch64_unknown_linux_ext_dep.yaml | 22 +++++++++++++ .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py | 31 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml diff --git a/BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml b/Bas= eTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml new file mode 100644 index 0000000000..ac18438080 --- /dev/null +++ b/BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml @@ -0,0 +1,22 @@ +## @file +# Download GCC LoongArch64 compiler from LoongArch GitHub release site +# Set shell variable GCC5_LOONGARCH64_INSTALL to this folder +# +# This is only downloaded when a build activates scope gcc_loongarch64_unk= nown_linux +# +# Copyright (c) Microsoft Corporation. +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## +{ + "scope": "gcc_loongarch64_unknown_linux", + "type": "web", + "name": "gcc_loongarch64_unknown_linux", + "source":"https://github.com/loongson/build-tools/releases/download/2022= .09.06/loongarch64-clfs-6.3-cross-tools-gcc-full.tar.xz", + "version": "13.0.0", + "sha256":"27a43c5bb127794f091d0e75da0003c4d0eec28a958d8f2cc7cd290a6e6133= ab", + "compression_type": "tar", + "internal_path": "/cross-tools/", + "flags": ["set_shell_var", ], + "var_name": "GCC5_LOONGARCH64_INSTALL" +} diff --git a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py b/Ba= seTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py index f0685d8040..dab7a87997 100644 --- a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py +++ b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py @@ -5,6 +5,7 @@ # # Copyright (c) Microsoft Corporation # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent ## import os @@ -43,6 +44,12 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin): self.Logger.critical("Failed in check riscv64") return ret =20 + # Check LoongArch64 compiler + ret =3D self._check_loongarch64() + if ret !=3D 0: + self.Logger.critical("Failed in check loongarch64") + return ret + return 0 =20 def _check_arm(self): @@ -121,3 +128,27 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin): shell_environment.GetEnvironment().set_shell_var("LD_LIBRARY_PATH"= , prefix) =20 return 0 + + def _check_loongarch64(self): + # check to see if full path already configured + if shell_environment.GetEnvironment().get_shell_var("GCC5_LOONGARC= H64_PREFIX") is not None: + self.Logger.info("GCC5_LOONGARCH64_PREFIX is already set.") + + else: + # now check for install dir. If set then set the Prefix + install_path =3D shell_environment.GetEnvironment( + ).get_shell_var("GCC5_LOONGARCH64_INSTALL") + if install_path is None: + return 0 + + # make GCC5_LOONGARCH64_PREFIX to align with tools_def.txt + prefix =3D os.path.join(install_path, "bin", "loongarch64-unkn= own-linux-gnu-") + shell_environment.GetEnvironment().set_shell_var("GCC5_LOONGAR= CH64_PREFIX", prefix) + + # now confirm it exists + if not os.path.exists(shell_environment.GetEnvironment().get_shell= _var("GCC5_LOONGARCH64_PREFIX") + "gcc"): + self.Logger.error( + "Path for GCC5_LOONGARCH64_PREFIX toolchain is invalid") + return -2 + + return 0 --=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 (#94413): https://edk2.groups.io/g/devel/message/94413 Mute This Topic: https://groups.io/mt/93947371/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- From nobody Wed May 8 22:49:14 2024 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+94414+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+94414+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277273; cv=none; d=zohomail.com; s=zohoarc; b=Gvw5eXYanWUn7rRdlFwluVpZMvLNndku4BGpLWANX+fAnEpYIgiiBkwxrweN4xte8dw73LkdiI5oi7akDSTG0gxKEOOUYX1+O7uoGmpljUfP/Gnq3ujCNWprh/FwPdEVzBu12S6FoQ8cp/ia2Y4wNJcyIDAj5Ry0VIYozr8r1JE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277273; 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=BEuL2IVgJM+wWniq3X5mjbqAndFGZBGhuBCwmtTdPqc=; b=fA+w940HOifBP3i/yKHEbkwXgPRyg8AK+zOIuSc2mi+8+GxhHyg8rdiDXNOchieWTqMfSSvQrttfp+1CUr9Cq5EO2c/4OK5dLvFiAj0y03Sn6I3ghMEnlT1yYcEvmf+/QgvUl/uiC8K8UI09oCsQD1U9upd9j+YdWicP53xuXV8= 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+94414+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277273268628.243686148672; Tue, 27 Sep 2022 04:14:33 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xgLbYY1788612xLR2JovvxPE; Tue, 27 Sep 2022 04:14:32 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web09.9611.1664277271955400289 for ; Tue, 27 Sep 2022 04:14:32 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S22; Tue, 27 Sep 2022 19:14:31 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao Subject: [edk2-devel] [PATCH v3 20/34] .azurepipelines: Add LoongArch64 architecture on LoongArch64 EDK2 CI. Date: Tue, 27 Sep 2022 19:13:40 +0800 Message-Id: <20220927111354.4107719-21-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--.49762S22 X-Coremail-Antispam: 1UD129KBjvdXoWrZryUZw13XryUtryxAr1xAFb_yoWkurc_Gw 4xJr15tFy7trWI93WxZr1fG3s0gws0yr97Gw4rKFZxCw1j9a9Y9Fn7Gr4UXr1DWrs7ur4r Zr97tF1Fvr47GjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJ3UbIYCTnIWIevJa73UjIFyTuYvj4RJUUUUUUUU X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAes8 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: sfQ1ecrYjjhWzfX3BG0ubAkFx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277272; bh=0fWJ+vuZSUxSNLBpmCo4tkEiRp9FbpW1AGnE86AOPrw=; h=Cc:Date:From:Reply-To:Subject:To; b=N0ncrP7Eg2G0WWM6VfOOBFXde0B2hK2z2sKppw5UwA3jWyNq4o8a+KlLyrvqjAWfWpx doDv0iuzoX6PTm2rtTXv6SL9XiCsHUIbhUoqsyiPsP3/ZHmYlClM2+41+PCtWStwCioEm k8xp5RttqgzIz5xaOXCPv7sUyKfqdjOirco= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277275145100052 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch64 architecture on LoongArch64 EDK2 CI. Cc: Michael D Kinney Cc: Liming Gao Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- .azurepipelines/Ubuntu-GCC5.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.= yml index 3760c6efe1..1acd8d2a46 100644 --- a/.azurepipelines/Ubuntu-GCC5.yml +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -3,6 +3,7 @@ # # Copyright (c) Microsoft Corporation. # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent ## trigger: @@ -17,5 +18,5 @@ jobs: parameters: tool_chain_tag: 'GCC5' vm_image: 'ubuntu-latest' - arch_list: "IA32,X64,ARM,AARCH64,RISCV64" + arch_list: "IA32,X64,ARM,AARCH64,RISCV64,LOONGARCH64" =20 --=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 (#94414): https://edk2.groups.io/g/devel/message/94414 Mute This Topic: https://groups.io/mt/93947373/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- From nobody Wed May 8 22:49:14 2024 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+94415+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+94415+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277274; cv=none; d=zohomail.com; s=zohoarc; b=KVsqpk2fjJQAVw9a13V0i4Kp7zL+nbV8zCYtvAkpPP/qMlPgHB+ex9AHRVgHD+jYOS+n4AYxG+dXV9VNTHfrrdb+rI0+NbFvT081G0uge8Cro0iwZGYIb9NKBg3fNpFNCZhiZkhhLOeIztvFMYh0HoxGFUngluIYSlpCCF1YsQI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277274; 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=5sbMrDsFTkhdZP0pKMEMzQq6KrdQtli5K/bMRyV7O+Y=; b=W3fmgC/SLUkuhu1cHJPWGlJA3sWS6UtWsIKNMDktYLzBte4zKcbek/6Gfih0fUNGS9vQ0CIac4jKnblGbraDS0x1YYOogFFVe8fSddFsyzobWY7vliE9U0eo14SDrtDVidbwzTVQhAAU6x71Kv88t3CCt7eISP4cL70WVKOp5yU= 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+94415+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277274371438.0169905834972; Tue, 27 Sep 2022 04:14:34 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id ShX5YY1788612xgc0buBfSYX; Tue, 27 Sep 2022 04:14:34 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.9700.1664277272876198754 for ; Tue, 27 Sep 2022 04:14:33 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S23; Tue, 27 Sep 2022 19:14:32 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao Subject: [edk2-devel] [PATCH v3 21/34] .pytool: Add LoongArch64 architecture on LoongArch64 EDK2 CI. Date: Tue, 27 Sep 2022 19:13:41 +0800 Message-Id: <20220927111354.4107719-22-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--.49762S23 X-Coremail-Antispam: 1UD129KBjvJXoW7tF43GF17Kr4xWw1xWryUKFg_yoW8JFy8pr 4xKrnrG348trsruw1DWF45ur4q9rs7tws5WFZ8ZwsFyFs0qw13GF1Utr4vyr1Uua1aka45 uFyY9F45Za1DCrUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAgsC 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: AMdqEsDFROH5D32iW34GpumYx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277274; bh=K8s6T7JbzoXakQDqX8l3dbP/Rvt+qVp/zcGB5MuNsdo=; h=Cc:Date:From:Reply-To:Subject:To; b=kK0o9imetDnE5CTLPkCdvE6Yj3wVHFmvrWqzNubbPiaCrZtJff6ur+uIaPhHsYZA2JJ zAFHwOZ3GPgGi15z7iwXoOg+rtFpEEuNzJQHzSleHZtRQ/YNyNjFb98siYFGNihx2D9d1 38tv9ecP2xrrqW/WutfumvyoQ2daeb+hIP8= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277275146100053 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch64 architecture on LoongArch64 EDK2 CI testing. Cc: Michael D Kinney Cc: Liming Gao Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- .pytool/CISettings.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py index cf9e0d77b1..7ebec0ba0a 100644 --- a/.pytool/CISettings.py +++ b/.pytool/CISettings.py @@ -79,7 +79,8 @@ class Settings(CiBuildSettingsManager, UpdateSettingsMana= ger, SetupSettingsManag "X64", "ARM", "AARCH64", - "RISCV64") + "RISCV64", + "LOONGARCH64") =20 def GetTargetsSupported(self): ''' return iterable of edk2 target tags supported by this build ''' @@ -170,6 +171,8 @@ class Settings(CiBuildSettingsManager, UpdateSettingsMa= nager, SetupSettingsManag scopes +=3D ("gcc_arm_linux",) if "RISCV64" in self.ActualArchitectures: scopes +=3D ("gcc_riscv64_unknown",) + if "LOONGARCH64" in self.ActualArchitectures: + scopes +=3D ("gcc_loongarch64_unknown_linux",) self.ActualScopes =3D scopes return self.ActualScopes =20 --=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 (#94415): https://edk2.groups.io/g/devel/message/94415 Mute This Topic: https://groups.io/mt/93947374/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- From nobody Wed May 8 22:49:14 2024 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+94416+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+94416+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277275; cv=none; d=zohomail.com; s=zohoarc; b=beKnQLekrcjJxyXivNPO3b7lOT3j9EjRDz5gBcxNn0u5/4OdZ5ivDEPdNCb0eBl1jY7ya1zaFBcTc0psvC8SOE9eBHC3OviJdJwylOsSKr8B416ramZwlIl3EFb8vOOgEWepVYPaC5aIcrJ90EUmXGVc9IkaBHbJudB9ivHEkuU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277275; 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=PdCKUzgFgevVJ8cGj3573+rz+oqiMSd7KyMq/8/Jxog=; b=FK4AkxeOWxG1tdKf4MJXkTcHDaAL/B9xG84zbKaK5AK4EU6I7LhzMF7lqZZ2sFkHIW/UEBWtp3NNI9XOurh1yujB7ZNw9IFmyFOiliqoqg7XY8uK3N8rCNDr6aOA0vo05kACasNOnPG1ITQHbFE2meIptmEdmEu30ZdaXWamJhc= 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+94416+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277275317670.2168055346627; Tue, 27 Sep 2022 04:14:35 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id k2AXYY1788612xDdou7nJI8F; Tue, 27 Sep 2022 04:14:35 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.9701.1664277273914226063 for ; Tue, 27 Sep 2022 04:14:34 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S24; Tue, 27 Sep 2022 19:14:32 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Baoqi Zhang , Dongyan Qian Subject: [edk2-devel] [PATCH v3 22/34] MdePkg: Add LoongArch LOONGARCH64 binding Date: Tue, 27 Sep 2022 19:13:42 +0800 Message-Id: <20220927111354.4107719-23-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--.49762S24 X-Coremail-Antispam: 1UD129KBjvJXoW3JF1rtw18ZrWkCrykZr1fZwb_yoW7urWrpa n2kF4fGw48Jr4xKFy3JFW5Jr13tws5ArWUGFs09347uFWDXa4v934DKF45tFW0yrn0va48 XF4agw1j9ayxArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAhsD 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: yp58Oddx6IRprnF3KUs99O11x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277275; bh=cRHFEE9sZAae/zvfD4Lyg1MKlXuGJhszQxSiAOd7iys=; h=Cc:Date:From:Reply-To:Subject:To; b=FnXFL1bzUun5M/L6lc473ScLGj7HOkSV+bLcCoMsfLEomBD2ttFXxYCh1AQfp02fh0z saZyhA95/gN7Lq4xs+krRlkQsRIVzQ1lQ9oV8kR9iR1941vXDC/7dVnkoNHir/OvHTrF/ u8k/F9nffDlM3U4RL8bDIPKa92IRvLt+2ws= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277277224100060 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LOONGARCH64 sections in MdePkg.dec and LOONGARCH64 ProcessorBind.h Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Co-authored-by: Baoqi Zhang Co-authored-by: Dongyan Qian Reviewed-by: Michael D Kinney --- MdePkg/Include/LoongArch64/ProcessorBind.h | 120 +++++++++++++++++++++ MdePkg/MdePkg.dec | 4 + MdePkg/MdePkg.dsc | 3 +- 3 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 MdePkg/Include/LoongArch64/ProcessorBind.h diff --git a/MdePkg/Include/LoongArch64/ProcessorBind.h b/MdePkg/Include/Lo= ongArch64/ProcessorBind.h new file mode 100644 index 0000000000..502d479099 --- /dev/null +++ b/MdePkg/Include/LoongArch64/ProcessorBind.h @@ -0,0 +1,120 @@ +/** @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 + +// +// Assume standard LoongArch 64-bit alignment. +// Need to check portability of long long +// +typedef unsigned long UINT64; +typedef long INT64; +typedef unsigned int UINT32; +typedef int INT32; +typedef unsigned short UINT16; +typedef unsigned short CHAR16; +typedef short INT16; +typedef unsigned char BOOLEAN; +typedef unsigned char UINT8; +typedef char CHAR8; +typedef char INT8; + +// +// 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 i= nstructions, +// 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 + +// +// Maximum legal LoongArch 64-bit address +// +#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL + +// +// Maximum usable address at boot time (48 bits using 4KB pages) +// +#define MAX_ALLOC_ADDRESS 0xFFFFFFFFFFFFULL + +// +// Maximum legal LoongArch 64-bit INTN and UINTN values. +// +#define MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL) +#define MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL) + +// +// Page allocation granularity for LoongArch +// +#define DEFAULT_PAGE_ALLOCATION_GRANULARITY (0x1000) +#define RUNTIME_PAGE_ALLOCATION_GRANULARITY (0x10000) + +#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 + +/** + Return the pointer to the first instruction of a function given a functi= on pointer. + On LOONGARCH CPU architectures, these two pointer values are the same, + so the implementation of this macro is very simple. + + @param FunctionPointer A pointer to a function. + + @return The pointer to the first instruction of a function given a funct= ion pointer. + +**/ +#define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPoi= nter) + +#ifndef __USER_LABEL_PREFIX__ +#define __USER_LABEL_PREFIX__ +#endif + +#endif diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index f1ebf9e251..4c81cbd75a 100644 --- a/MdePkg/MdePkg.dec +++ b/MdePkg/MdePkg.dec @@ -7,6 +7,7 @@ # Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# (C) Copyright 2016 - 2021 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -43,6 +44,9 @@ [Includes.RISCV64] Include/RiscV64 =20 +[Includes.LOONGARCH64] + Include/LoongArch64 + [LibraryClasses] ## @libraryclass Provides most usb APIs to support the Hid requests de= fined in Usb Hid 1.1 spec # and the standard requests defined in Usb 1.1 spec. diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index cc1ac196a9..493a13ec91 100644 --- a/MdePkg/MdePkg.dsc +++ b/MdePkg/MdePkg.dsc @@ -4,6 +4,7 @@ # Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# (C) Copyright 2020 Hewlett Packard Enterprise Development LP
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -15,7 +16,7 @@ PLATFORM_VERSION =3D 1.08 DSC_SPECIFICATION =3D 0x00010005 OUTPUT_DIRECTORY =3D Build/Mde - SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64 + SUPPORTED_ARCHITECTURES =3D IA32|X64|EBC|ARM|AARCH64|RISCV64|LOON= GARCH64 BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER =3D DEFAULT =20 --=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 (#94416): https://edk2.groups.io/g/devel/message/94416 Mute This Topic: https://groups.io/mt/93947375/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- From nobody Wed May 8 22:49:14 2024 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+94417+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+94417+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277277; cv=none; d=zohomail.com; s=zohoarc; b=LC0PToBCvqhEbcFhvhfxDHId1uw3x3PVhlb3pMPQiQBqMRYPLH9qriUyFf305aNoJEm2iMFcjK2Hxx+go+vaxrYb3G1FtQrWYTugKI4QrHtUG/ffvvGBGY9F/+JriFu4IgZM6hyEmmh2XC9vrTrWzrYvegTHpfq0itCsg74LLkQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277277; 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=3dUl2RBdDdDwz+SwkRh8Cz0eRxdj7jv7yMh93HwITCM=; b=PTYEMZRS6+5Z8VV9bYFcaDlianHMxad0FNAaCf3hUq72zv3MCQ38keMBKfETGA98vVQYbUzxjiBzTu7fhwz84psChHS3J7K/PhDOzfHwdj3IBV0SyKCo6RQiiYWUL6CBsTOI+l27HWGRIiBI/toazbmxnaU9hRZxOnwJ0q2Wf7A= 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+94417+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277277558638.4903806410172; Tue, 27 Sep 2022 04:14:37 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id wyQmYY1788612xeoUJ36Cvc9; Tue, 27 Sep 2022 04:14:36 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web09.9613.1664277275137850335 for ; Tue, 27 Sep 2022 04:14:35 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S25; Tue, 27 Sep 2022 19:14:33 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 23/34] MdePkg/Include: LoongArch definitions. Date: Tue, 27 Sep 2022 19:13:43 +0800 Message-Id: <20220927111354.4107719-24-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--.49762S25 X-Coremail-Antispam: 1UD129KBjvJXoW3trWrAr17tF1kuw47XFyUAwb_yoWkXw48pF 10kFZ7Ka47KFZ3Ww1rGF1j9rn7Grs7G34UG3yDur4vkFWqv34vgw4DKF4fJrWDZr4kK340 vwnYy3yUur1xt3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAisA 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: 1baDodHAjgTodk5uA5IDPdrPx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277276; bh=ckiF+6nHKxhe3asvDAVJy7PypPEcoZYvtfk9fP60IPI=; h=Cc:Date:From:Reply-To:Subject:To; b=nslIpzEUcIw87Kx9rQfHWunTUn1XANmSfmIazGxmxyblJWc47McdTMysec77Z6k6vl8 tJOh/nWAX4xB3cJx+LGGIBMR2Xj2ZspzXqPp3tUrX6JZ5oyPxBo+vRl/WWP8Dr5VaV9AX 1pwSd18MyWVYNFGgvEg0nuY10//yP98jTAM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277279343100065 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch processor related definitions. For the Http boot and PXE boot types seeing this URL section "Processor Architecture Type" for the LOONGARCH values: https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml For definitions of PE/COFF and LOONGARCH relocation types, see the "Machine Types" and "Basic Relocation Types" sections of this URL for LOONGARCH values: https://docs.microsoft.com/en-us/windows/win32/debug/pe-format For the register definitions of exceptions context, see the UEFI V2.10 18.2.2, 18.2.4 and 18.2.5 sections of this URL for LOONGARCH definitions: https://uefi.org/specs/UEFI/2.10/18_Protocols_Debugger_Support.html Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney Reviewed-by: Liming Gao --- MdePkg/Include/IndustryStandard/PeImage.h | 9 ++ MdePkg/Include/Protocol/DebugSupport.h | 107 ++++++++++++++++++++-- MdePkg/Include/Protocol/PxeBaseCode.h | 3 + MdePkg/Include/Uefi/UefiBaseType.h | 14 +++ MdePkg/Include/Uefi/UefiSpec.h | 16 ++-- 5 files changed, 136 insertions(+), 13 deletions(-) diff --git a/MdePkg/Include/IndustryStandard/PeImage.h b/MdePkg/Include/Ind= ustryStandard/PeImage.h index 3109dc20f8..dd4cc25483 100644 --- a/MdePkg/Include/IndustryStandard/PeImage.h +++ b/MdePkg/Include/IndustryStandard/PeImage.h @@ -10,6 +10,7 @@ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Portions Copyright (c) 2016 - 2020, Hewlett Packard Enterprise Development= LP. All rights reserved.
+Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All = rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -38,6 +39,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define IMAGE_FILE_MACHINE_RISCV32 0x5032 #define IMAGE_FILE_MACHINE_RISCV64 0x5064 #define IMAGE_FILE_MACHINE_RISCV128 0x5128 +#define IMAGE_FILE_MACHINE_LOONGARCH32 0x6232 +#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 =20 // // EXE file formats @@ -503,6 +506,12 @@ typedef struct { #define EFI_IMAGE_REL_BASED_RISCV_LOW12I 7 #define EFI_IMAGE_REL_BASED_RISCV_LOW12S 8 =20 +// +// Relocation types of LoongArch processor. +// +#define EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA 8 +#define EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA 8 + /// /// Line number format. /// diff --git a/MdePkg/Include/Protocol/DebugSupport.h b/MdePkg/Include/Protoc= ol/DebugSupport.h index ec5b92a5c5..2b0ae2d157 100644 --- a/MdePkg/Include/Protocol/DebugSupport.h +++ b/MdePkg/Include/Protocol/DebugSupport.h @@ -654,17 +654,110 @@ typedef struct { UINT64 X31; } EFI_SYSTEM_CONTEXT_RISCV64; =20 +// +// LoongArch processor exception types. +// +#define EXCEPT_LOONGARCH_INT 0 +#define EXCEPT_LOONGARCH_PIL 1 +#define EXCEPT_LOONGARCH_PIS 2 +#define EXCEPT_LOONGARCH_PIF 3 +#define EXCEPT_LOONGARCH_PME 4 +#define EXCEPT_LOONGARCH_PNR 5 +#define EXCEPT_LOONGARCH_PNX 6 +#define EXCEPT_LOONGARCH_PPI 7 +#define EXCEPT_LOONGARCH_ADE 8 +#define EXCEPT_LOONGARCH_ALE 9 +#define EXCEPT_LOONGARCH_BCE 10 +#define EXCEPT_LOONGARCH_SYS 11 +#define EXCEPT_LOONGARCH_BRK 12 +#define EXCEPT_LOONGARCH_INE 13 +#define EXCEPT_LOONGARCH_IPE 14 +#define EXCEPT_LOONGARCH_FPD 15 +#define EXCEPT_LOONGARCH_SXD 16 +#define EXCEPT_LOONGARCH_ASXD 17 +#define EXCEPT_LOONGARCH_FPE 18 +#define EXCEPT_LOONGARCH_TBR 64 // For code only, there is no such type = in the ISA spec, the TLB refill is defined for an independent exception. + +// +// LoongArch processor Interrupt types. +// +#define EXCEPT_LOONGARCH_INT_SIP0 0 +#define EXCEPT_LOONGARCH_INT_SIP1 1 +#define EXCEPT_LOONGARCH_INT_IP0 2 +#define EXCEPT_LOONGARCH_INT_IP1 3 +#define EXCEPT_LOONGARCH_INT_IP2 4 +#define EXCEPT_LOONGARCH_INT_IP3 5 +#define EXCEPT_LOONGARCH_INT_IP4 6 +#define EXCEPT_LOONGARCH_INT_IP5 7 +#define EXCEPT_LOONGARCH_INT_IP6 8 +#define EXCEPT_LOONGARCH_INT_IP7 9 +#define EXCEPT_LOONGARCH_INT_PMC 10 +#define EXCEPT_LOONGARCH_INT_TIMER 11 +#define EXCEPT_LOONGARCH_INT_IPI 12 + +// +// For coding convenience, define the maximum valid +// LoongArch interrupt. +// +#define MAX_LOONGARCH_INTERRUPT 14 + +typedef struct { + UINT64 R0; + UINT64 R1; + UINT64 R2; + UINT64 R3; + UINT64 R4; + UINT64 R5; + UINT64 R6; + UINT64 R7; + UINT64 R8; + UINT64 R9; + UINT64 R10; + UINT64 R11; + UINT64 R12; + UINT64 R13; + UINT64 R14; + UINT64 R15; + UINT64 R16; + UINT64 R17; + UINT64 R18; + UINT64 R19; + UINT64 R20; + UINT64 R21; + UINT64 R22; + UINT64 R23; + UINT64 R24; + UINT64 R25; + UINT64 R26; + UINT64 R27; + UINT64 R28; + UINT64 R29; + UINT64 R30; + UINT64 R31; + + UINT64 CRMD; // CuRrent MoDe information + UINT64 PRMD; // PRe-exception MoDe information + UINT64 EUEN; // Extended component Unit ENable + UINT64 MISC; // MISCellaneous controller + UINT64 ECFG; // Exception ConFiGuration + UINT64 ESTAT; // Exception STATus + UINT64 ERA; // Exception Return Address + UINT64 BADV; // BAD Virtual address + UINT64 BADI; // BAD Instruction +} EFI_SYSTEM_CONTEXT_LOONGARCH64; + /// /// Universal EFI_SYSTEM_CONTEXT definition. /// typedef union { - EFI_SYSTEM_CONTEXT_EBC *SystemContextEbc; - EFI_SYSTEM_CONTEXT_IA32 *SystemContextIa32; - EFI_SYSTEM_CONTEXT_X64 *SystemContextX64; - EFI_SYSTEM_CONTEXT_IPF *SystemContextIpf; - EFI_SYSTEM_CONTEXT_ARM *SystemContextArm; - EFI_SYSTEM_CONTEXT_AARCH64 *SystemContextAArch64; - EFI_SYSTEM_CONTEXT_RISCV64 *SystemContextRiscV64; + EFI_SYSTEM_CONTEXT_EBC *SystemContextEbc; + EFI_SYSTEM_CONTEXT_IA32 *SystemContextIa32; + EFI_SYSTEM_CONTEXT_X64 *SystemContextX64; + EFI_SYSTEM_CONTEXT_IPF *SystemContextIpf; + EFI_SYSTEM_CONTEXT_ARM *SystemContextArm; + EFI_SYSTEM_CONTEXT_AARCH64 *SystemContextAArch64; + EFI_SYSTEM_CONTEXT_RISCV64 *SystemContextRiscV64; + EFI_SYSTEM_CONTEXT_LOONGARCH64 *SystemContextLoongArch64; } EFI_SYSTEM_CONTEXT; =20 // diff --git a/MdePkg/Include/Protocol/PxeBaseCode.h b/MdePkg/Include/Protoco= l/PxeBaseCode.h index 11872d602d..6787941a5d 100644 --- a/MdePkg/Include/Protocol/PxeBaseCode.h +++ b/MdePkg/Include/Protocol/PxeBaseCode.h @@ -4,6 +4,7 @@ =20 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights = reserved.
+Copyright (c) 2022, Loongson Technology Corporation Limited. All rights re= served.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -158,6 +159,8 @@ typedef UINT16 EFI_PXE_BASE_CODE_UDP_PORT; #define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000B #elif defined (MDE_CPU_RISCV64) #define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x001B +#elif defined (MDE_CPU_LOONGARCH64) +#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x0027 #endif =20 /// diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiB= aseType.h index 4a34ce8e25..83975a08eb 100644 --- a/MdePkg/Include/Uefi/UefiBaseType.h +++ b/MdePkg/Include/Uefi/UefiBaseType.h @@ -4,6 +4,7 @@ Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights = reserved.
+Copyright (c) 2022, Loongson Technology Corporation Limited. All rights re= served.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -246,6 +247,12 @@ typedef union { #define EFI_IMAGE_MACHINE_RISCV64 0x5064 #define EFI_IMAGE_MACHINE_RISCV128 0x5128 =20 +/// +/// PE32+ Machine type for LoongArch 32/64 images. +/// +#define EFI_IMAGE_MACHINE_LOONGARCH32 0x6232 +#define EFI_IMAGE_MACHINE_LOONGARCH64 0x6264 + #if !defined (EFI_IMAGE_MACHINE_TYPE_VALUE) && !defined (EFI_IMAGE_MACHINE= _CROSS_TYPE_VALUE) #if defined (MDE_CPU_IA32) =20 @@ -278,6 +285,13 @@ typedef union { #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \ ((Machine) =3D=3D EFI_IMAGE_MACHINE_RISCV64) =20 +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) + + #elif defined (MDE_CPU_LOONGARCH64) + +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \ + ((Machine) =3D=3D EFI_IMAGE_MACHINE_LOONGARCH64) + #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) =20 #elif defined (MDE_CPU_EBC) diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h index 2b38b100f6..3abebbb8d9 100644 --- a/MdePkg/Include/Uefi/UefiSpec.h +++ b/MdePkg/Include/Uefi/UefiSpec.h @@ -7,6 +7,7 @@ =20 Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. Al= l rights reserved.
+Copyright (c) 2022, Loongson Technology Corporation Limited. All rights re= served.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -2195,12 +2196,13 @@ typedef struct { // // EFI File location to boot from on removable media devices // -#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI" -#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI" -#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI" -#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI" -#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI" -#define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.= EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32= .EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64= .EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.= EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.= EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64= .EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISC= V64.EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64 L"\\EFI\\BOOT\\BOOTLOON= GARCH64.EFI" =20 #if !defined (EFI_REMOVABLE_MEDIA_FILE_NAME) #if defined (MDE_CPU_IA32) @@ -2214,6 +2216,8 @@ typedef struct { #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH= 64 #elif defined (MDE_CPU_RISCV64) #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV= 64 + #elif defined (MDE_CPU_LOONGARCH64) +#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_LOONG= ARCH64 #else #error Unknown Processor Type #endif --=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 (#94417): https://edk2.groups.io/g/devel/message/94417 Mute This Topic: https://groups.io/mt/93947376/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- From nobody Wed May 8 22:49:14 2024 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+94418+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+94418+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277277; cv=none; d=zohomail.com; s=zohoarc; b=A1zYDSh9a7wIWwlt0HnIPGtnR/08Fla+7BiQvzrUY7vcrj2WoXWlLH1yPYWl2x3gUySqf5MLiXA28SQXkBmh5HnKjXk+JqkLiphhMrrqLNplQP2+NX0PHcL/AYAzFS57Xr7GRxfe3EL6or8fLxMOxgckq+9v4Z1jhlAeVibxcCk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277277; 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=SyvKB1Du1nOra0XQVun7v5/bs9xvovsPMrajARR3Rrk=; b=AJKHr33Lb7ayWz4P1Nw+XtTvA5At4m5jtj5K7W+su4YkNXqlmPkM3tBsgtV6NVGN/3puj+Bk2Iyhm2Ra/aY10621IqdTAxGaTXA5VoXhkrz3to2YTDe2VS92bjCgFZVf6flMX7cEhOjEO8fcS1/nYXcMGUz2KMZl5IXmZUyMP8w= 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+94418+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277277911884.1936374937675; Tue, 27 Sep 2022 04:14:37 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id vLhoYY1788612xiip7xyAdZe; Tue, 27 Sep 2022 04:14:37 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9753.1664277276550025593 for ; Tue, 27 Sep 2022 04:14:37 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S26; Tue, 27 Sep 2022 19:14:35 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 24/34] MdePkg/BaseLib: BaseLib for LOONGARCH64 architecture. Date: Tue, 27 Sep 2022 19:13:44 +0800 Message-Id: <20220927111354.4107719-25-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--.49762S26 X-Coremail-Antispam: 1UD129KBjvAXoWfGw4kWr1xGFy5Gw45ZrWfAFb_yoW8WryfAo WUZr97uw4UAr18ArykZrsxJw12qr1xWF45Jr40gFy8GF45t3WDGr4DJw18Gw13GF98GFn8 G34UJws7ta9rtr18n29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRUUUUUUUUU= X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAksG 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: W9RrN7jkFQ3AvOXfjWQzUOIEx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277277; bh=ojrdKtU1dAF1qLoEebSvPKcfohLoPvP+8TWqU+NDBmQ=; h=Cc:Date:From:Reply-To:Subject:To; b=w/b5QaoZuh+sV1kPEosw7kKY+O4O/yOn5LtgaDIzVkPSmKum6ZQhAS44tkvtTPQb0mg p4Wvy82KNMsHfHrNPvTcWzgXwruX3QO/uI298wkQpI3sPlFH+r1rvcWkq9t8aIVpeXaGk ox2hv7KwBjsuEEaw1ZvXFsHMlc4i1HtrfIg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277279372100067 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch LOONGARCH64 BaseLib functions. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Co-authored-by: Baoqi Zhang Reviewed-by: Michael D Kinney --- MdePkg/Include/Library/BaseLib.h | 24 ++++++++ MdePkg/Library/BaseLib/BaseLib.inf | 16 ++++- MdePkg/Library/BaseLib/LoongArch64/Barrier.S | 28 +++++++++ .../BaseLib/LoongArch64/CpuBreakpoint.S | 24 ++++++++ MdePkg/Library/BaseLib/LoongArch64/CpuPause.S | 31 ++++++++++ .../BaseLib/LoongArch64/DisableInterrupts.S | 21 +++++++ .../BaseLib/LoongArch64/EnableInterrupts.S | 21 +++++++ .../BaseLib/LoongArch64/GetInterruptState.S | 35 +++++++++++ .../BaseLib/LoongArch64/InternalSwitchStack.c | 58 +++++++++++++++++++ .../Library/BaseLib/LoongArch64/MemoryFence.S | 18 ++++++ .../BaseLib/LoongArch64/SetJumpLongJump.S | 49 ++++++++++++++++ .../Library/BaseLib/LoongArch64/SwitchStack.S | 39 +++++++++++++ 12 files changed, 363 insertions(+), 1 deletion(-) create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Barrier.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/CpuBreakpoint.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/CpuPause.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/DisableInterrupts.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/EnableInterrupts.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/GetInterruptState.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/InternalSwitchStack.c create mode 100644 MdePkg/Library/BaseLib/LoongArch64/MemoryFence.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SetJumpLongJump.S create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SwitchStack.S diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/Base= Lib.h index a6f9a194ef..f3f59f21c2 100644 --- a/MdePkg/Include/Library/BaseLib.h +++ b/MdePkg/Include/Library/BaseLib.h @@ -6,6 +6,7 @@ Copyright (c) 2006 - 2021, Intel Corporation. All rights re= served.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Copyright (c) Microsoft Corporation.
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. Al= l rights reserved.
+Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All = rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -152,6 +153,29 @@ typedef struct { =20 #endif // defined (MDE_CPU_RISCV64) =20 +#if defined (MDE_CPU_LOONGARCH64) +/// +/// The LoongArch architecture context buffer used by SetJump() and LongJu= mp() +/// +typedef struct { + UINT64 S0; + UINT64 S1; + UINT64 S2; + UINT64 S3; + UINT64 S4; + UINT64 S5; + UINT64 S6; + UINT64 S7; + UINT64 S8; + UINT64 SP; + UINT64 FP; + UINT64 RA; +} BASE_LIBRARY_JUMP_BUFFER; + +#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8 + +#endif // defined (MDE_CPU_LOONGARCH64) + // // String Services // diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/Ba= seLib.inf index 6be5be9428..9ed46a584a 100644 --- a/MdePkg/Library/BaseLib/BaseLib.inf +++ b/MdePkg/Library/BaseLib/BaseLib.inf @@ -21,7 +21,7 @@ LIBRARY_CLASS =3D BaseLib =20 # -# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 LOON= GARCH64 # =20 [Sources] @@ -402,6 +402,20 @@ RiscV64/RiscVInterrupt.S | GCC RiscV64/FlushCache.S | GCC =20 +[Sources.LOONGARCH64] + Math64.c + Unaligned.c + LoongArch64/InternalSwitchStack.c + LoongArch64/GetInterruptState.S | GCC + LoongArch64/EnableInterrupts.S | GCC + LoongArch64/DisableInterrupts.S | GCC + LoongArch64/Barrier.S | GCC + LoongArch64/MemoryFence.S | GCC + LoongArch64/CpuBreakpoint.S | GCC + LoongArch64/CpuPause.S | GCC + LoongArch64/SetJumpLongJump.S | GCC + LoongArch64/SwitchStack.S | GCC + [Packages] MdePkg/MdePkg.dec =20 diff --git a/MdePkg/Library/BaseLib/LoongArch64/Barrier.S b/MdePkg/Library/= BaseLib/LoongArch64/Barrier.S new file mode 100644 index 0000000000..58f21ad725 --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/Barrier.S @@ -0,0 +1,28 @@ +#-------------------------------------------------------------------------= ----- +# +# LoongArch Barrier Operations +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(AsmDataBarrierLoongArch) +ASM_GLOBAL ASM_PFX(AsmInstructionBarrierLoongArch) + +# +# Data barrier operation for LoongArch. +# +ASM_PFX(AsmDataBarrierLoongArch): + dbar 0 + jirl $zero, $ra, 0 + +# +# Instruction barrier operation for LoongArch. +# +ASM_PFX(AsmInstructionBarrierLoongArch): + ibar 0 + jirl $zero, $ra, 0 + + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/CpuBreakpoint.S b/MdePkg/Li= brary/BaseLib/LoongArch64/CpuBreakpoint.S new file mode 100644 index 0000000000..4e022e9bb5 --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/CpuBreakpoint.S @@ -0,0 +1,24 @@ +#-------------------------------------------------------------------------= ----- +# +# CpuBreakpoint for LoongArch +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(CpuBreakpoint) + +#/** +# Generates a breakpoint on the CPU. +# +# Generates a breakpoint on the CPU. The breakpoint must be implemented s= uch +# that code can resume normal execution after the breakpoint. +# +#**/ + +ASM_PFX(CpuBreakpoint): + break 3 + jirl $zero, $ra, 0 + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/CpuPause.S b/MdePkg/Library= /BaseLib/LoongArch64/CpuPause.S new file mode 100644 index 0000000000..e9140e8742 --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/CpuPause.S @@ -0,0 +1,31 @@ +#-------------------------------------------------------------------------= ----- +# +# CpuPause for LoongArch +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(CpuPause) + +#/** +# Requests CPU to pause for a short period of time. +# +# Requests CPU to pause for a short period of time. Typically used in MP +# systems to prevent memory starvation while waiting for a spin lock. +# +#**/ + +ASM_PFX(CpuPause): + nop + nop + nop + nop + nop + nop + nop + nop + jirl $zero, $ra, 0 + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/DisableInterrupts.S b/MdePk= g/Library/BaseLib/LoongArch64/DisableInterrupts.S new file mode 100644 index 0000000000..0f228339af --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/DisableInterrupts.S @@ -0,0 +1,21 @@ +#-------------------------------------------------------------------------= ----- +# +# LoongArch interrupt disable +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(DisableInterrupts) + +#/** +# Disables CPU interrupts. +#**/ + +ASM_PFX(DisableInterrupts): + li.w $t0, 0x4 + csrxchg $zero, $t0, 0x0 + jirl $zero, $ra, 0 + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/EnableInterrupts.S b/MdePkg= /Library/BaseLib/LoongArch64/EnableInterrupts.S new file mode 100644 index 0000000000..3c34fb2cdd --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/EnableInterrupts.S @@ -0,0 +1,21 @@ +#-------------------------------------------------------------------------= ----- +# +# LoongArch interrupt enable +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(EnableInterrupts) + +#/** +# Enables CPU interrupts. +#**/ + +ASM_PFX(EnableInterrupts): + li.w $t0, 0x4 + csrxchg $t0, $t0, 0x0 + jirl $zero, $ra, 0 + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/GetInterruptState.S b/MdePk= g/Library/BaseLib/LoongArch64/GetInterruptState.S new file mode 100644 index 0000000000..bfd1f2d5f7 --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/GetInterruptState.S @@ -0,0 +1,35 @@ +#-------------------------------------------------------------------------= ----- +# +# Get LoongArch interrupt status +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(GetInterruptState) + +#/** +# Retrieves the current CPU interrupt state. +# +# Returns TRUE means interrupts are currently enabled. Otherwise, +# returns FALSE. +# +# @retval TRUE CPU interrupts are enabled. +# @retval FALSE CPU interrupts are disabled. +# +#**/ + +ASM_PFX(GetInterruptState): + li.w $t1, 0x4 + csrrd $t0, 0x0 + and $t0, $t0, $t1 + beqz $t0, 1f + li.w $a0, 0x1 + b 2f +1: + li.w $a0, 0x0 +2: + jirl $zero, $ra, 0 + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/InternalSwitchStack.c b/Mde= Pkg/Library/BaseLib/LoongArch64/InternalSwitchStack.c new file mode 100644 index 0000000000..859bc96329 --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/InternalSwitchStack.c @@ -0,0 +1,58 @@ +/** @file + SwitchStack() function for LoongArch. + + Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include "BaseLibInternals.h" + +UINTN +EFIAPI +InternalSwitchStackAsm ( + IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer + ); + +/** + Transfers control to a function starting with a new stack. + + Transfers control to the function specified by EntryPoint using the + new stack specified by NewStack and passing in the parameters specified + by Context1 and Context2. Context1 and Context2 are optional and may + be NULL. The function EntryPoint must never return. + + If EntryPoint is NULL, then ASSERT(). + If NewStack is NULL, then ASSERT(). + + @param[in] EntryPoint A pointer to function to call with the new stack. + @param[in] Context1 A pointer to the context to pass into the EntryP= oint + function. + @param[in] Context2 A pointer to the context to pass into the EntryP= oint + function. + @param[in] NewStack A pointer to the new stack to use for the EntryP= oint + function. + @param[in] Marker VA_LIST marker for the variable argument list. + +**/ +VOID +EFIAPI +InternalSwitchStack ( + IN SWITCH_STACK_ENTRY_POINT EntryPoint, + IN VOID *Context1 OPTIONAL, + IN VOID *Context2 OPTIONAL, + IN VOID *NewStack, + IN VA_LIST Marker + ) + +{ + BASE_LIBRARY_JUMP_BUFFER JumpBuffer; + + JumpBuffer.RA =3D (UINTN)EntryPoint; + JumpBuffer.SP =3D (UINTN)NewStack - sizeof (VOID *); + JumpBuffer.SP -=3D sizeof (Context1) + sizeof (Conte= xt2); + ((VOID **)(UINTN)JumpBuffer.SP)[0] =3D Context1; + ((VOID **)(UINTN)JumpBuffer.SP)[1] =3D Context2; + + InternalSwitchStackAsm (&JumpBuffer); +} diff --git a/MdePkg/Library/BaseLib/LoongArch64/MemoryFence.S b/MdePkg/Libr= ary/BaseLib/LoongArch64/MemoryFence.S new file mode 100644 index 0000000000..2b3d34366f --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/MemoryFence.S @@ -0,0 +1,18 @@ +#-------------------------------------------------------------------------= ----- +# +# MemoryFence() for LoongArch +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(MemoryFence) + +# +# Memory fence for LoongArch +# +ASM_PFX(MemoryFence): + b AsmDataBarrierLoongArch + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/SetJumpLongJump.S b/MdePkg/= Library/BaseLib/LoongArch64/SetJumpLongJump.S new file mode 100644 index 0000000000..1c6ee54b6f --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/SetJumpLongJump.S @@ -0,0 +1,49 @@ +#-------------------------------------------------------------------------= ----- +# +# Set/Long jump for LoongArch +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +#define STORE st.d /* 64 bit mode regsave instruction */ +#define LOAD ld.d /* 64 bit mode regload instruction */ +#define RSIZE 8 /* 64 bit mode register size */ + +ASM_GLOBAL ASM_PFX(SetJump) +ASM_GLOBAL ASM_PFX(InternalLongJump) + +ASM_PFX(SetJump): + STORE $s0, $a0, RSIZE * 0 + STORE $s1, $a0, RSIZE * 1 + STORE $s2, $a0, RSIZE * 2 + STORE $s3, $a0, RSIZE * 3 + STORE $s4, $a0, RSIZE * 4 + STORE $s5, $a0, RSIZE * 5 + STORE $s6, $a0, RSIZE * 6 + STORE $s7, $a0, RSIZE * 7 + STORE $s8, $a0, RSIZE * 8 + STORE $sp, $a0, RSIZE * 9 + STORE $fp, $a0, RSIZE * 10 + STORE $ra, $a0, RSIZE * 11 + li.w $a0, 0 # Setjmp return + jirl $zero, $ra, 0 + +ASM_PFX(InternalLongJump): + LOAD $ra, $a0, RSIZE * 11 + LOAD $s0, $a0, RSIZE * 0 + LOAD $s1, $a0, RSIZE * 1 + LOAD $s2, $a0, RSIZE * 2 + LOAD $s3, $a0, RSIZE * 3 + LOAD $s4, $a0, RSIZE * 4 + LOAD $s5, $a0, RSIZE * 5 + LOAD $s6, $a0, RSIZE * 6 + LOAD $s7, $a0, RSIZE * 7 + LOAD $s8, $a0, RSIZE * 8 + LOAD $sp, $a0, RSIZE * 9 + LOAD $fp, $a0, RSIZE * 10 + move $a0, $a1 + jirl $zero, $ra, 0 + .end diff --git a/MdePkg/Library/BaseLib/LoongArch64/SwitchStack.S b/MdePkg/Libr= ary/BaseLib/LoongArch64/SwitchStack.S new file mode 100644 index 0000000000..ad9aa8b343 --- /dev/null +++ b/MdePkg/Library/BaseLib/LoongArch64/SwitchStack.S @@ -0,0 +1,39 @@ +#-------------------------------------------------------------------------= ----- +# +# InternalSwitchStackAsm for LoongArch +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +#define STORE st.d /* 64 bit mode regsave instruction */ +#define LOAD ld.d /* 64 bit mode regload instruction */ +#define RSIZE 8 /* 64 bit mode register size */ + +ASM_GLOBAL ASM_PFX(InternalSwitchStackAsm) + +/** + This allows the caller to switch the stack and goes to the new entry poi= nt + + @param JumpBuffer A pointer to CPU context buffer. +**/ + +ASM_PFX(InternalSwitchStackAsm): + LOAD $ra, $a0, RSIZE * 11 + LOAD $s0, $a0, RSIZE * 0 + LOAD $s1, $a0, RSIZE * 1 + LOAD $s2, $a0, RSIZE * 2 + LOAD $s3, $a0, RSIZE * 3 + LOAD $s4, $a0, RSIZE * 4 + LOAD $s5, $a0, RSIZE * 5 + LOAD $s6, $a0, RSIZE * 6 + LOAD $s7, $a0, RSIZE * 7 + LOAD $s8, $a0, RSIZE * 8 + LOAD $sp, $a0, RSIZE * 9 + LOAD $fp, $a0, RSIZE * 10 + LOAD $a0, $sp, 0 + LOAD $a1, $sp, 8 + 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 (#94418): https://edk2.groups.io/g/devel/message/94418 Mute This Topic: https://groups.io/mt/93947379/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- From nobody Wed May 8 22:49:14 2024 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+94419+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+94419+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277279; cv=none; d=zohomail.com; s=zohoarc; b=DxFirSB424BVZxSEwtajTbp6rcZzks8ihyv4WHT67pPqOWjQiznFdHkqGSNcNK16xt/wXB2q1iaraSndrk0wZrFJ//ZM5QCnRTEFzIQB194NV/1+RM1gceStg6hc/aP33TtpQsvG1CsG9oQcOa+Q8zoCywbrs4DVhV5tghQ+9Wg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277279; 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=gFWG1LEjWGxNli3jI5dMBlBhEJG/8wmHVMPFFOyoAxA=; b=bzOqhK0zzkXnTP/Dxjo9+zTOfHIIpI+iPfZO6d6Y0yihCbFBouTsrBvydSORevXzR+/7MMJOGzs3pNp/55YltBTPVSFOwVfjKOBsOwxaJXbt8veSU1agPlslflrg00IHrKnokftUuKdra6Xdfz73w8EcfeN/Tj0+B5QL5aJu1IE= 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+94419+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277279510724.7851120501109; Tue, 27 Sep 2022 04:14:39 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id iq95YY1788612xEDNlzNpyhR; Tue, 27 Sep 2022 04:14:39 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.9756.1664277278019473100 for ; Tue, 27 Sep 2022 04:14:38 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S27; Tue, 27 Sep 2022 19:14:36 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 25/34] MdePkg/BaseCacheMaintenanceLib: LoongArch cache maintenance implementation. Date: Tue, 27 Sep 2022 19:13:45 +0800 Message-Id: <20220927111354.4107719-26-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--.49762S27 X-Coremail-Antispam: 1UD129KBjvJXoW3KrWkCrykCFyxAw1fZF1kXwb_yoWDAr1rpr WfGr47trW8XrWxG3yvqw48GFn5ua95Ja42k3s8C34Syrn5tF97Ca4jyr4Ygayjkr4xAw1I qw47tanrZFs8ZaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAlsH 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: 2L8MZfrU06gJ5D71gJ4O5Ahbx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277279; bh=5thzPwnuVQIsXl2XS0H7FLj6yCq6JdUtQQezMSJUCKs=; h=Cc:Date:From:Reply-To:Subject:To; b=MA+wJOEmpScmfvBtmsD3gyFhoH53BKAib5cphieMbxNQTMPwOxm1nKBMBJwu8yFJVz7 TNKeTMr9wYBnhZ9Z+3SdhR7DLnf2VaYj9zfsfQy8P8K0yWV7RemreA5tgZKDYEXYPtqzA 0ltYrjjVpSkTcM5k75dFjX+t5PM4KO4pIUA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277281223100071 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Implement LoongArch cache maintenance functions in BaseCacheMaintenanceLib. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- .../BaseCacheMaintenanceLib.inf | 6 +- .../BaseCacheMaintenanceLib/LoongArchCache.c | 254 ++++++++++++++++++ 2 files changed, 259 insertions(+), 1 deletion(-) create mode 100644 MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c diff --git a/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib= .inf b/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf index 33114243d5..6fd9cbe5f6 100644 --- a/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf +++ b/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf @@ -7,6 +7,7 @@ # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -24,7 +25,7 @@ =20 =20 # -# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 LOON= GARCH64 # =20 [Sources.IA32] @@ -45,6 +46,9 @@ [Sources.RISCV64] RiscVCache.c =20 +[Sources.LOONGARCH64] + LoongArchCache.c + [Packages] MdePkg/MdePkg.dec =20 diff --git a/MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c b/MdeP= kg/Library/BaseCacheMaintenanceLib/LoongArchCache.c new file mode 100644 index 0000000000..4c8773278c --- /dev/null +++ b/MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.c @@ -0,0 +1,254 @@ +/** @file + Cache Maintenance Functions for LoongArch. + LoongArch cache maintenance functions has not yet been completed, and wi= ll added in later. + Functions are null functions now. + + Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +// +// Include common header file for this module. +// +#include +#include +#include + +/** + LoongArch data barrier operation. +**/ +VOID +EFIAPI +AsmDataBarrierLoongArch ( + VOID + ); + +/** + LoongArch instruction barrier operation. +**/ +VOID +EFIAPI +AsmInstructionBarrierLoongArch ( + VOID + ); + +/** + Invalidates the entire instruction cache in cache coherency domain of the + calling CPU. + +**/ +VOID +EFIAPI +InvalidateInstructionCache ( + VOID + ) +{ + AsmInstructionBarrierLoongArch (); +} + +/** + Invalidates a range of instruction cache lines in the cache coherency do= main + of the calling CPU. + + Invalidates the instruction cache lines specified by Address and Length.= If + Address is not aligned on a cache line boundary, then entire instruction + cache line containing Address is invalidated. If Address + Length is not + aligned on a cache line boundary, then the entire instruction cache line + containing Address + Length -1 is invalidated. This function may choose = to + invalidate the entire instruction cache if that is more efficient than + invalidating the specified range. If Length is 0, the no instruction cac= he + lines are invalidated. Address is returned. + + If Length is greater than (MAX_ADDRESS - Address + 1), then ASSERT(). + + @param[in] Address The base address of the instruction cache lines to + invalidate. If the CPU is in a physical addressing mode,= then + Address is a physical address. If the CPU is in a virtual + addressing mode, then Address is a virtual address. + + @param[in] Length The number of bytes to invalidate from the instructi= on cache. + + @return Address. + +**/ +VOID * +EFIAPI +InvalidateInstructionCacheRange ( + IN VOID *Address, + IN UINTN Length + ) +{ + AsmInstructionBarrierLoongArch (); + return Address; +} + +/** + Writes Back and Invalidates the entire data cache in cache coherency dom= ain + of the calling CPU. + + Writes Back and Invalidates the entire data cache in cache coherency dom= ain + of the calling CPU. This function guarantees that all dirty cache lines = are + written back to system memory, and also invalidates all the data cache l= ines + in the cache coherency domain of the calling CPU. + +**/ +VOID +EFIAPI +WriteBackInvalidateDataCache ( + VOID + ) +{ + DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __= FUNCTION__)); +} + +/** + Writes Back and Invalidates a range of data cache lines in the cache + coherency domain of the calling CPU. + + Writes Back and Invalidate the data cache lines specified by Address and + Length. If Address is not aligned on a cache line boundary, then entire = data + cache line containing Address is written back and invalidated. If Addres= s + + Length is not aligned on a cache line boundary, then the entire data cac= he + line containing Address + Length -1 is written back and invalidated. This + function may choose to write back and invalidate the entire data cache if + that is more efficient than writing back and invalidating the specified + range. If Length is 0, the no data cache lines are written back and + invalidated. Address is returned. + + If Length is greater than (MAX_ADDRESS - Address + 1), then ASSERT(). + + @param[in] Address The base address of the data cache lines to write ba= ck and + invalidate. If the CPU is in a physical addressing mode,= then + Address is a physical address. If the CPU is in a virtual + addressing mode, then Address is a virtual address. + @param[in] Length The number of bytes to write back and invalidate fro= m the + data cache. + + @return Address of cache invalidation. + +**/ +VOID * +EFIAPI +WriteBackInvalidateDataCacheRange ( + IN VOID *Address, + IN UINTN Length + ) +{ + DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __= FUNCTION__)); + return Address; +} + +/** + Writes Back the entire data cache in cache coherency domain of the calli= ng + CPU. + + Writes Back the entire data cache in cache coherency domain of the calli= ng + CPU. This function guarantees that all dirty cache lines are written bac= k to + system memory. This function may also invalidate all the data cache line= s in + the cache coherency domain of the calling CPU. + +**/ +VOID +EFIAPI +WriteBackDataCache ( + VOID + ) +{ + WriteBackInvalidateDataCache (); +} + +/** + Writes Back a range of data cache lines in the cache coherency domain of= the + calling CPU. + + Writes Back the data cache lines specified by Address and Length. If Add= ress + is not aligned on a cache line boundary, then entire data cache line + containing Address is written back. If Address + Length is not aligned o= n a + cache line boundary, then the entire data cache line containing Address + + Length -1 is written back. This function may choose to write back the en= tire + data cache if that is more efficient than writing back the specified ran= ge. + If Length is 0, the no data cache lines are written back. This function = may + also invalidate all the data cache lines in the specified range of the c= ache + coherency domain of the calling CPU. Address is returned. + + If Length is greater than (MAX_ADDRESS - Address + 1), then ASSERT(). + + @param[in] Address The base address of the data cache lines to write ba= ck. If + the CPU is in a physical addressing mode, then Address i= s a + physical address. If the CPU is in a virtual addressing + mode, then Address is a virtual address. + @param[in] Length The number of bytes to write back from the data cach= e. + + @return Address of cache written in main memory. + +**/ +VOID * +EFIAPI +WriteBackDataCacheRange ( + IN VOID *Address, + IN UINTN Length + ) +{ + DEBUG ((DEBUG_ERROR, "%a: Not currently implemented on LoongArch.\n", __= FUNCTION__)); + return Address; +} + +/** + Invalidates the entire data cache in cache coherency domain of the calli= ng + CPU. + + Invalidates the entire data cache in cache coherency domain of the calli= ng + CPU. This function must be used with care because dirty cache lines are = not + written back to system memory. It is typically used for cache diagnostic= s. If + the CPU does not support invalidation of the entire data cache, then a w= rite + back and invalidate operation should be performed on the entire data cac= he. + +**/ +VOID +EFIAPI +InvalidateDataCache ( + VOID + ) +{ + AsmDataBarrierLoongArch (); +} + +/** + Invalidates a range of data cache lines in the cache coherency domain of= the + calling CPU. + + Invalidates the data cache lines specified by Address and Length. If Add= ress + is not aligned on a cache line boundary, then entire data cache line + containing Address is invalidated. If Address + Length is not aligned on= a + cache line boundary, then the entire data cache line containing Address + + Length -1 is invalidated. This function must never invalidate any cache = lines + outside the specified range. If Length is 0, the no data cache lines are + invalidated. Address is returned. This function must be used with care + because dirty cache lines are not written back to system memory. It is + typically used for cache diagnostics. If the CPU does not support + invalidation of a data cache range, then a write back and invalidate + operation should be performed on the data cache range. + + If Length is greater than (MAX_ADDRESS - Address + 1), then ASSERT(). + + @param[in] Address The base address of the data cache lines to invalida= te. If + the CPU is in a physical addressing mode, then Address i= s a + physical address. If the CPU is in a virtual addressing = mode, + then Address is a virtual address. + @param[in] Length The number of bytes to invalidate from the data cach= e. + + @return Address. + +**/ +VOID * +EFIAPI +InvalidateDataCacheRange ( + IN VOID *Address, + IN UINTN Length + ) +{ + AsmDataBarrierLoongArch (); + return Address; +} --=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 (#94419): https://edk2.groups.io/g/devel/message/94419 Mute This Topic: https://groups.io/mt/93947382/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- From nobody Wed May 8 22:49:14 2024 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+94420+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+94420+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277280; cv=none; d=zohomail.com; s=zohoarc; b=S+jfBgZtfRi7b4WvK4WbbnU4CSJZn04a+ZwD8RksGF8NCkfcRJ0t/RcO11TjSDmfDXh7Eo5L9eAKzzNs9GiSEgwmJMzFEEa4wDqiXWHQ2Ee8Qpng4AzP4NxhesOGUg1t9TnBLeuWwfRx+o2QNPdLguHjlT6SUWuTXC9e//dnTbA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277280; 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=gti5Ll/yx9yjb7P0w09btjhVnmEpST17lItopzGpcRs=; b=QB4Bf6wL7c71ZHxS4CPUqi0rIMJ3UAUhgHATmvVAl2SqxYLz/heE9L/5t1YchqMC5XSRxgXDM3jKlogqrLmE1N/OfDECUuHP4hsRoYjo6HIoCVhWEEGp+2BUzqEo5L9Cba7PRg+dlQ3/3o7L97dEavdDHhooWW6IZO/YOttBTes= 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+94420+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277280711458.38926218069184; Tue, 27 Sep 2022 04:14:40 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id KAevYY1788612xy3RVvnKFUp; Tue, 27 Sep 2022 04:14:40 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web09.9615.1664277279252189168 for ; Tue, 27 Sep 2022 04:14:39 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S28; Tue, 27 Sep 2022 19:14:38 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 26/34] MdePkg/BaseIoLibIntrinsic: IoLibNoIo for LoongArch architecture. Date: Tue, 27 Sep 2022 19:13:46 +0800 Message-Id: <20220927111354.4107719-27-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--.49762S28 X-Coremail-Antispam: 1UD129KBjvJXoWxCw4kGw1UJFWDZFW5uFWrGrg_yoW5Cw48pF s5Grs8J3W7Xr4SkrZ8Wa18XrsYganrXr17G3ZYywn3uFZrXwnY93WYqrWUJr1Yyr1kZr4F gF1Y9a47ua1kZr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAmsE 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: ZO6d7fkmgTW79b6VdTJLfA3Sx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277280; bh=3g41/HUCKcBpsRHkxvNtr4BP+wv4RTJ24gtFPAvl60U=; h=Cc:Date:From:Reply-To:Subject:To; b=oKrnqg0NwHdOzeP//IWgWMO2r2F2w7/oZIlceWYnbWpaMmuoVS9kLLk5BaJOZdSaJ7q LVd0SOjQYDlvSM1gtIOD8FvY+vA6kfI87g9MfPJRFALi1RjnNA2gBaftlXxoJQ0vmzgCL BRi1HCKyhQYmmUb9gC3N9bxgJA0Z8jwg8DI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277281225100072 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 LoongArch MMIO library instance, use the IoLibNoIo. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- .../Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | 10 +++++++--- MdePkg/Library/BaseIoLibIntrinsic/IoLibNoIo.c | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf b/Mde= Pkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf index 27b15d9ae2..aeb072ee95 100644 --- a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf +++ b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf @@ -4,13 +4,14 @@ # I/O Library that uses compiler intrinsics to perform IN and OUT instruc= tions # for IA-32 and x64. On IPF, I/O port requests are translated into MMIO = requests. # MMIO requests are forwarded directly to memory. For EBC, I/O port requ= ests -# ASSERT(). For ARM, AARCH64 and RISCV64, this I/O library only provides = non I/O -# read and write. +# ASSERT(). For ARM, AARCH64, RISCV64 and LoongArch, this I/O library onl= y provides +# non I/O read and write. # # Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# Copyright (c) 2017, AMD Incorporated. All rights reserved.
# Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP.= All rights reserved.
+# Portions Copyright (c) 2022, Loongson Technology Corporation Limited. A= ll rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -27,7 +28,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] @@ -62,6 +63,9 @@ [Sources.RISCV64] IoLibNoIo.c =20 +[Sources.LOONGARCH64] + IoLibNoIo.c + [Packages] MdePkg/MdePkg.dec =20 diff --git a/MdePkg/Library/BaseIoLibIntrinsic/IoLibNoIo.c b/MdePkg/Library= /BaseIoLibIntrinsic/IoLibNoIo.c index c71f45b22e..c51e5da39b 100644 --- a/MdePkg/Library/BaseIoLibIntrinsic/IoLibNoIo.c +++ b/MdePkg/Library/BaseIoLibIntrinsic/IoLibNoIo.c @@ -1,11 +1,12 @@ /** @file I/O library for non I/O read and write access (memory map I/O read and - write only) architecture, such as ARM and RISC-V processor. + write only) architecture, such as ARM, RISC-V and LoongArch processor. =20 Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Copyright (c) 2017, AMD Incorporated. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+ Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 --=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 (#94420): https://edk2.groups.io/g/devel/message/94420 Mute This Topic: https://groups.io/mt/93947383/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- From nobody Wed May 8 22:49:14 2024 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+94421+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+94421+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277283; cv=none; d=zohomail.com; s=zohoarc; b=miF/3rv+fU2D4+Jze/5i1EV6KXlBB7MzYujlYWZ59Cwv8svxt2zlzb8i6QbJMWHv4MEAcBebd+Vk9rkFR8ZWSkIw2R7XKIltvPnuqe8jHX54qXGGzpJnNa9EnJ3Irku/ocXfOBxEDZutKfPPDLSOVBcZBWrJFElToaI5AnbtBDo= 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=8UifB8dfbZQztR+WILByPhHxKudemg7OaGUUl+PFaZA=; b=bDUhYsSbZAQ0IEtCW23ixvj9yzWh48uZRm5wzk6A9OqKkvF9HjZafMoiZfmhP/MGgnvhPN1mGAloc4jgwXemsON4pl+XC0Dz24wom0sno89ZA9WdiehYZ5gD9WnhACm/d7iSnXRWsM+Ktfw2o1uuy9KZQbqW+nbvhTdCHGh66Cc= 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+94421+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277283013748.6346565816143; Tue, 27 Sep 2022 04:14:43 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id MpfBYY1788612xZSQHSOUqtR; Tue, 27 Sep 2022 04:14:41 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.9757.1664277280584332444 for ; Tue, 27 Sep 2022 04:14:41 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S29; Tue, 27 Sep 2022 19:14:39 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 27/34] MdePkg/BasePeCoff: Add LoongArch PE/Coff related code. Date: Tue, 27 Sep 2022 19:13:47 +0800 Message-Id: <20220927111354.4107719-28-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--.49762S29 X-Coremail-Antispam: 1UD129KBjvJXoW3GryxCr4xuw13AF4rGF1rJFb_yoWfGryDpa 9rKan8GwnrJw4fArW5K3W3GrsYgFsrWasxCFWq9r48ZFsxXanY9w4UtF15trWUZryDA348 uFsI9r47ua1kJr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAosK 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: 4EdRUV5LyW5h0c955TPYl6Zux1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277281; bh=EvqQoBOEBG7Qhcxeg9eWASQgV3DzNAeMc2sy7c3Rn5w=; h=Cc:Date:From:Reply-To:Subject:To; b=qnH88Zk1suGlIVvPVUfmtEt0XdIgfiSCjC49waXwnhBtXEcEj+T61jDzH1LIzHvqoNe eMROUZIlqrhHr6xnKIoGMN1rkyAAUwU5ze99nBNWDk+6ZjK1h58aYR4Mru1EdBV/jdx5n QHKyeMxMy8c8grKU7zrz0dRiTRWnycxydIg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277283287100081 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch image relocation. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Co-authored-by: Baoqi Zhang Reviewed-by: Michael D Kinney --- MdePkg/Library/BasePeCoffLib/BasePeCoff.c | 3 +- .../Library/BasePeCoffLib/BasePeCoffLib.inf | 5 + .../Library/BasePeCoffLib/BasePeCoffLib.uni | 2 + .../BasePeCoffLib/LoongArch/PeCoffLoaderEx.c | 137 ++++++++++++++++++ 4 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c diff --git a/MdePkg/Library/BasePeCoffLib/BasePeCoff.c b/MdePkg/Library/Bas= ePeCoffLib/BasePeCoff.c index 6d8d9faeb8..97a8aaf8c7 100644 --- a/MdePkg/Library/BasePeCoffLib/BasePeCoff.c +++ b/MdePkg/Library/BasePeCoffLib/BasePeCoff.c @@ -1,6 +1,6 @@ /** @file Base PE/COFF loader supports loading any PE32/PE32+ or TE image, but - only supports relocating IA32, x64, IPF, ARM, RISC-V and EBC images. + only supports relocating IA32, x64, IPF, ARM, RISC-V, LoongArch and EBC = images. =20 Caution: This file requires additional review when modified. This library will have external input - PE/COFF image. @@ -18,6 +18,7 @@ Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. = All rights reserved.
+ Portions Copyright (c) 2022, Loongson Technology Corporation Limited. Al= l rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ diff --git a/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf b/MdePkg/Librar= y/BasePeCoffLib/BasePeCoffLib.inf index 110b6d5a09..3b8b8eb191 100644 --- a/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf +++ b/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf @@ -4,6 +4,7 @@ # The IA32 version library support loading IA32, X64 and EBC PE/COFF imag= es. # The X64 version library support loading IA32, X64 and EBC PE/COFF image= s. # The RISC-V version library support loading RISC-V images. +# The LoongArch version library support loading LoongArch images. # # Caution: This module requires additional review when modified. # This library will have external input - PE/COFF image. @@ -13,6 +14,7 @@ # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP.= All rights reserved.
+# Portions Copyright (c) 2022, Loongson Technology Corporation Limited. A= ll rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -46,6 +48,9 @@ [Sources.RISCV64] RiscV/PeCoffLoaderEx.c =20 +[Sources.LOONGARCH64] + LoongArch/PeCoffLoaderEx.c + [Packages] MdePkg/MdePkg.dec =20 diff --git a/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.uni b/MdePkg/Librar= y/BasePeCoffLib/BasePeCoffLib.uni index 55417029f2..1f731344e1 100644 --- a/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.uni +++ b/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.uni @@ -5,6 +5,7 @@ // The IA32 version library support loading IA32, X64 and EBC PE/COFF imag= es. // The X64 version library support loading IA32, X64 and EBC PE/COFF image= s. // The RISC-V version library support loading RISC-V32 and RISC-V64 PE/COF= F images. +// The LoongArch version library support loading LoongArch32 and LoongArch= 64 PE/COFF images. // // Caution: This module requires additional review when modified. // This library will have external input - PE/COFF image. @@ -14,6 +15,7 @@ // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
// Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
// Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP.= All rights reserved.
+// Portions Copyright (c) 2022, Loongson Technology Corporation Limited. A= ll rights reserved.
// // SPDX-License-Identifier: BSD-2-Clause-Patent // diff --git a/MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c b/MdeP= kg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c new file mode 100644 index 0000000000..417096f334 --- /dev/null +++ b/MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c @@ -0,0 +1,137 @@ +/** @file + PE/Coff loader for LoongArch PE image + + Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#include "BasePeCoffLibInternals.h" +#include + +/** + Performs an LoongArch specific relocation fixup and is a no-op on other + instruction sets. + + @param[in] Reloc Pointer to the relocation record. + @param[in, out] Fixup Pointer to the address to fix up. + @param[in, out] FixupData Pointer to a buffer to log the fixups. + @param[in] Adjust The offset to adjust the fixup. + + @return Status code. + +**/ +RETURN_STATUS +PeCoffLoaderRelocateImageEx ( + IN UINT16 *Reloc, + IN OUT CHAR8 *Fixup, + IN OUT CHAR8 **FixupData, + IN UINT64 Adjust + ) +{ + UINT8 RelocType; + UINT64 Value; + UINT64 Tmp1; + UINT64 Tmp2; + + RelocType =3D (*Reloc) >> 12; + Value =3D 0; + Tmp1 =3D 0; + Tmp2 =3D 0; + + switch (RelocType) { + case EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA: + // The next four instructions are used to load a 64 bit address, rel= ocate all of them + Value =3D (*(UINT32 *)Fixup & 0x1ffffe0) << 7 | // lu12i.w 20b= its from bit5 + (*((UINT32 *)Fixup + 1) & 0x3ffc00) >> 10; // ori 12bit= s from bit10 + Tmp1 =3D *((UINT32 *)Fixup + 2) & 0x1ffffe0; // lu32i.d 20b= its from bit5 + Tmp2 =3D *((UINT32 *)Fixup + 3) & 0x3ffc00; // lu52i.d 12b= its from bit10 + Value =3D Value | (Tmp1 << 27) | (Tmp2 << 42); + Value +=3D Adjust; + + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x1ffffe0) | (((Value >> 1= 2) & 0xfffff) << 5); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + Fixup +=3D sizeof (UINT32); + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x3ffc00) | ((Value & 0xff= f) << 10); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + Fixup +=3D sizeof (UINT32); + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x1ffffe0) | (((Value >> 3= 2) & 0xfffff) << 5); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + Fixup +=3D sizeof (UINT32); + *(UINT32 *)Fixup =3D (*(UINT32 *)Fixup & ~0x3ffc00) | (((Value >> 52= ) & 0xfff) << 10); + if (*FixupData !=3D NULL) { + *FixupData =3D ALIGN_POINTER (*FixupData, sizeof (UIN= T32)); + *(UINT32 *)(*FixupData) =3D *(UINT32 *)Fixup; + *FixupData =3D *FixupData + sizeof (UINT32); + } + + break; + default: + return RETURN_UNSUPPORTED; + } + + return RETURN_SUCCESS; +} + +/** + Returns TRUE if the machine type of PE/COFF image is supported. Supported + does not mean the image can be executed it means the PE/COFF loader supp= orts + loading and relocating of the image type. It's up to the caller to suppo= rt + the entry point. + + @param[in] Machine Machine type from the PE Header. + + @return TRUE if this PE/COFF loader can load the image + +**/ +BOOLEAN +PeCoffLoaderImageFormatSupported ( + IN UINT16 Machine + ) +{ + if (Machine =3D=3D IMAGE_FILE_MACHINE_LOONGARCH64) { + return TRUE; + } + + return FALSE; +} + +/** + Performs an LOONGARCH-based specific re-relocation fixup and is a no-op = on other + instruction sets. This is used to re-relocated the image into the EFI vi= rtual + space for runtime calls. + + @param[in] Reloc The pointer to the relocation record. + @param[in, out] Fixup The pointer to the address to fix up. + @param[in, out] FixupData The pointer to a buffer to log the fixups. + @param[in] Adjust The offset to adjust the fixup. + + @return Status code. + +**/ +RETURN_STATUS +PeHotRelocateImageEx ( + IN UINT16 *Reloc, + IN OUT CHAR8 *Fixup, + IN OUT CHAR8 **FixupData, + IN UINT64 Adjust + ) +{ + // To check + return PeCoffLoaderRelocateImageEx (Reloc, Fixup, FixupData, Adjust); +} --=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 (#94421): https://edk2.groups.io/g/devel/message/94421 Mute This Topic: https://groups.io/mt/93947384/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- From nobody Wed May 8 22:49:14 2024 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- From nobody Wed May 8 22:49:14 2024 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+94423+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+94423+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277284; cv=none; d=zohomail.com; s=zohoarc; b=bz5Z9x4Qe9kimSQVqGskKtIsZHQhNrGkrQSvrL88Pov0tS+rcSwyjlRn322qoSgza19vyVE/x/FUShripsEH7AIhnkdqTRI3S/3qQQZ6of/1nY3pn0/ap/O/L+DCVE4oX/cQBbznLFnCcmMAqJ9U0xE1ILjOk38A6FGV76P5S4U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277284; 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=6HV7QdOpZopU3iUxlfyztVhjF2vW0yr4oK3Ms4WgxY4=; b=MDHPpoEuB+mIVBdP37dzo08ow6oAQ1RK7TNXTj/1BMlXxAD3BfgKddv04XFqiTn/Yo9asb6NCkkLS2TOg5MPujmNPABE9U7bW7mp4QTrsMR6QI8ua51J5YqUq1EBS6p9EVFaK2N3DgmtXo+dxstLtHWJ+ar84ugvGjF0DWTkthI= 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+94423+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277284334472.10362826043684; Tue, 27 Sep 2022 04:14:44 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xkCzYY1788612xaGULv79PgF; Tue, 27 Sep 2022 04:14:44 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9757.1664277283060781367 for ; Tue, 27 Sep 2022 04:14:43 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S31; Tue, 27 Sep 2022 19:14:41 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 29/34] MdePkg/BaseSynchronizationLib: LoongArch cache related code. Date: Tue, 27 Sep 2022 19:13:49 +0800 Message-Id: <20220927111354.4107719-30-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--.49762S31 X-Coremail-Antispam: 1UD129KBjvJXoWfGr1rAF45Cw4kGw48KryxuFg_yoWDtr15pr 43trZrKan2gw43CF48G3s5JF15Aw4kWr4DGFZ0vw18Aws0vrykZrs0qr10gFW8urW7Ww18 WF13KF4Fk3WUAFDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgArsJ 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: 8avnjPfXc8fg8m3DpfFcG6Amx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277284; bh=THHvgUXY/qIAyn9oAv4QFzPTct+hvq44h+AjfScKD7I=; h=Cc:Date:From:Reply-To:Subject:To; b=CcVV3wA+oyQl92CblT8kSfeTWWeN+cVWLeOO/DJpIOqGYvNgaubw/n/KmDVP4pXNh5t S3vywZDdXvunIICjLPr957mh1acVekOCLDZtTRjyjyM7tdxEmf70PqagX2fgNT9+rBJJK 4Y6xa536fZGe8MkzbxK/f6nkarklWniJLA4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277285358100087 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Support LoongArch cache related functions. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Co-authored-by: Baoqi Zhang --- .../BaseSynchronizationLib.inf | 6 + .../LoongArch64/AsmSynchronization.S | 122 +++++++++ .../LoongArch64/Synchronization.c | 233 ++++++++++++++++++ 3 files changed, 361 insertions(+) create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSy= nchronization.S create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/Synch= ronization.c diff --git a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.i= nf b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf index 02ba12961a..dd66ec1d03 100755 --- a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf +++ b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf @@ -4,6 +4,7 @@ # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -82,6 +83,11 @@ Synchronization.c RiscV64/Synchronization.S =20 +[Sources.LOONGARCH64] + Synchronization.c + LoongArch64/Synchronization.c | GCC + LoongArch64/AsmSynchronization.S | GCC + [Packages] MdePkg/MdePkg.dec =20 diff --git a/MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSynchroni= zation.S b/MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSynchroniza= tion.S new file mode 100644 index 0000000000..3f1b06172d --- /dev/null +++ b/MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSynchronization.S @@ -0,0 +1,122 @@ +#-------------------------------------------------------------------------= ----- +# +# LoongArch synchronization ASM functions. +# +# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#-------------------------------------------------------------------------= ----- + +ASM_GLOBAL ASM_PFX(AsmInternalSyncCompareExchange16) +ASM_GLOBAL ASM_PFX(AsmInternalSyncCompareExchange32) +ASM_GLOBAL ASM_PFX(AsmInternalSyncCompareExchange64) +ASM_GLOBAL ASM_PFX(AsmInternalSyncIncrement) +ASM_GLOBAL ASM_PFX(AsmInternalSyncDecrement) + +/** +UINT32 +EFIAPI +AsmInternalSyncCompareExchange16 ( + IN volatile UINT32 *Ptr32, + IN UINT64 Mask, + IN UINT64 LocalCompareValue, + IN UINT64 LocalExchangeValue + ) +**/ +ASM_PFX(AsmInternalSyncCompareExchange16): +1: + ll.w $t0, $a0, 0x0 + and $t1, $t0, $a1 + bne $t1, $a2, 2f + andn $t1, $t0, $a1 + or $t1, $t1, $a3 + sc.w $t1, $a0, 0x0 + beqz $t1, 1b + b 3f +2: + dbar 0 +3: + move $a0, $t0 + jirl $zero, $ra, 0 + +/** +UINT32 +EFIAPI +AsmInternalSyncCompareExchange32 ( + IN volatile UINT32 *Value, + IN UINT64 CompareValue, + IN UINT64 ExchangeValue + ) +**/ +ASM_PFX(AsmInternalSyncCompareExchange32): +1: + ll.w $t0, $a0, 0x0 + bne $t0, $a1, 2f + move $t0, $a2 + sc.w $t0, $a0, 0x0 + beqz $t0, 1b + b 3f +2: + dbar 0 +3: + move $a0, $t0 + jirl $zero, $ra, 0 + +/** +UINT64 +EFIAPI +AsmInternalSyncCompareExchange64 ( + IN volatile UINT64 *Value, + IN UINT64 CompareValue, + IN UINT64 ExchangeValue + ) +**/ +ASM_PFX(AsmInternalSyncCompareExchange64): +1: + ll.d $t0, $a0, 0x0 + bne $t0, $a1, 2f + move $t0, $a2 + sc.d $t0, $a0, 0x0 + beqz $t0, 1b + b 3f +2: + dbar 0 +3: + move $a0, $t0 + jirl $zero, $ra, 0 + +/** +UINT32 +EFIAPI +AsmInternalSyncIncrement ( + IN volatile UINT32 *Value + ) +**/ +ASM_PFX(AsmInternalSyncIncrement): + move $t0, $a0 + dbar 0 + ld.w $t1, $t0, 0x0 + li.w $t2, 1 + amadd.w $t1, $t2, $t0 + + ld.w $a0, $t0, 0x0 + jirl $zero, $ra, 0 + +/** +UINT32 +EFIAPI +AsmInternalSyncDecrement ( + IN volatile UINT32 *Value + ) +**/ +ASM_PFX(AsmInternalSyncDecrement): + move $t0, $a0 + dbar 0 + ld.w $t1, $t0, 0x0 + li.w $t2, -1 + amadd.w $t1, $t2, $t0 + + ld.w $a0, $t0, 0x0 + jirl $zero, $ra, 0 +.end diff --git a/MdePkg/Library/BaseSynchronizationLib/LoongArch64/Synchronizat= ion.c b/MdePkg/Library/BaseSynchronizationLib/LoongArch64/Synchronization.c new file mode 100644 index 0000000000..d696c8ce10 --- /dev/null +++ b/MdePkg/Library/BaseSynchronizationLib/LoongArch64/Synchronization.c @@ -0,0 +1,233 @@ +/** @file + LoongArch synchronization functions. + + Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include + +UINT32 +EFIAPI +AsmInternalSyncCompareExchange16 ( + IN volatile UINT32 *, + IN UINT64, + IN UINT64, + IN UINT64 + ); + +UINT32 +EFIAPI +AsmInternalSyncCompareExchange32 ( + IN volatile UINT32 *, + IN UINT64, + IN UINT64 + ); + +UINT64 +EFIAPI +AsmInternalSyncCompareExchange64 ( + IN volatile UINT64 *, + IN UINT64, + IN UINT64 + ); + +UINT32 +EFIAPI +AsmInternalSyncIncrement ( + IN volatile UINT32 * + ); + +UINT32 +EFIAPI +AsmInternalSyncDecrement ( + IN volatile UINT32 * + ); + +/** + Performs an atomic compare exchange operation on a 16-bit + unsigned integer. + + Performs an atomic compare exchange operation on the 16-bit + unsigned integer specified by Value. If Value is equal to + CompareValue, then Value is set to ExchangeValue and + CompareValue is returned. If Value is not equal to + CompareValue, then Value is returned. The compare exchange + operation must be performed using MP safe mechanisms. + + @param[in] Value A pointer to the 16-bit value for the + compare exchange operation. + @param[in] CompareValue 16-bit value used in compare operation. + @param[in] ExchangeValue 16-bit value used in exchange operation. + + @return The original *Value before exchange. + +**/ +UINT16 +EFIAPI +InternalSyncCompareExchange16 ( + IN volatile UINT16 *Value, + IN UINT16 CompareValue, + IN UINT16 ExchangeValue + ) +{ + UINT32 RetValue; + UINT32 Shift; + UINT64 Mask; + UINT64 LocalCompareValue; + UINT64 LocalExchangeValue; + volatile UINT32 *Ptr32; + + /* Check that ptr is naturally aligned */ + ASSERT (!((UINT64)Value & (sizeof (Value) - 1))); + + /* Mask inputs to the correct size. */ + Mask =3D (((~0UL) - (1UL << (0)) + 1) & (~0UL >> (64 - 1 -= ((sizeof (UINT16) * 8) - 1)))); + LocalCompareValue =3D ((UINT64)CompareValue) & Mask; + LocalExchangeValue =3D ((UINT64)ExchangeValue) & Mask; + + /* + * Calculate a shift & mask that correspond to the value we wish to + * compare & exchange within the naturally aligned 4 byte integer + * that includes it. + */ + Shift =3D (UINT64)Value & 0x3; + Shift *=3D 8; /* BITS_PER_BYTE */ + LocalCompareValue <<=3D Shift; + LocalExchangeValue <<=3D Shift; + Mask <<=3D Shift; + + /* + * Calculate a pointer to the naturally aligned 4 byte integer that + * includes our byte of interest, and load its value. + */ + Ptr32 =3D (UINT32 *)((UINT64)Value & ~0x3); + + RetValue =3D AsmInternalSyncCompareExchange16 ( + Ptr32, + Mask, + LocalCompareValue, + LocalExchangeValue + ); + + return (RetValue & Mask) >> Shift; +} + +/** + Performs an atomic compare exchange operation on a 32-bit + unsigned integer. + + Performs an atomic compare exchange operation on the 32-bit + unsigned integer specified by Value. If Value is equal to + CompareValue, then Value is set to ExchangeValue and + CompareValue is returned. If Value is not equal to + CompareValue, then Value is returned. The compare exchange + operation must be performed using MP safe mechanisms. + + @param[in] Value A pointer to the 32-bit value for the + compare exchange operation. + @param[in] CompareValue 32-bit value used in compare operation. + @param[in] ExchangeValue 32-bit value used in exchange operation. + + @return The original *Value before exchange. + +**/ +UINT32 +EFIAPI +InternalSyncCompareExchange32 ( + IN volatile UINT32 *Value, + IN UINT32 CompareValue, + IN UINT32 ExchangeValue + ) +{ + UINT32 RetValue; + + RetValue =3D AsmInternalSyncCompareExchange32 ( + Value, + CompareValue, + ExchangeValue + ); + + return RetValue; +} + +/** + Performs an atomic compare exchange operation on a 64-bit unsigned integ= er. + + Performs an atomic compare exchange operation on the 64-bit unsigned int= eger specified + by Value. If Value is equal to CompareValue, then Value is set to Excha= ngeValue and + CompareValue is returned. If Value is not equal to CompareValue, then V= alue is returned. + The compare exchange operation must be performed using MP safe mechanism= s. + + @param[in] Value A pointer to the 64-bit value for the compare = exchange + operation. + @param[in] CompareValue 64-bit value used in compare operation. + @param[in] ExchangeValue 64-bit value used in exchange operation. + + @return The original *Value before exchange. + +**/ +UINT64 +EFIAPI +InternalSyncCompareExchange64 ( + IN volatile UINT64 *Value, + IN UINT64 CompareValue, + IN UINT64 ExchangeValue + ) +{ + UINT64 RetValue; + + RetValue =3D AsmInternalSyncCompareExchange64 ( + Value, + CompareValue, + ExchangeValue + ); + + return RetValue; +} + +/** + Performs an atomic increment of an 32-bit unsigned integer. + + Performs an atomic increment of the 32-bit unsigned integer specified by + Value and returns the incremented value. The increment operation must be + performed using MP safe mechanisms. The state of the return value is not + guaranteed to be MP safe. + + @param[in] Value A pointer to the 32-bit value to increment. + + @return The incremented value. + +**/ +UINT32 +EFIAPI +InternalSyncIncrement ( + IN volatile UINT32 *Value + ) +{ + return AsmInternalSyncIncrement (Value); +} + +/** + Performs an atomic decrement of an 32-bit unsigned integer. + + Performs an atomic decrement of the 32-bit unsigned integer specified by + Value and returns the decrement value. The decrement operation must be + performed using MP safe mechanisms. The state of the return value is not + guaranteed to be MP safe. + + @param[in] Value A pointer to the 32-bit value to decrement. + + @return The decrement value. + +**/ +UINT32 +EFIAPI +InternalSyncDecrement ( + IN volatile UINT32 *Value + ) +{ + return AsmInternalSyncDecrement (Value); +} --=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 (#94423): https://edk2.groups.io/g/devel/message/94423 Mute This Topic: https://groups.io/mt/93947386/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- From nobody Wed May 8 22:49:14 2024 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+94424+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+94424+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277285; cv=none; d=zohomail.com; s=zohoarc; b=BmtbIdehwhPsJTxKetBI/g/hQLKQmFinSrYkEVKfku0yRR5qLNWh9OK6cv4D5UMHwvF5VnbLofGY4MVjv9X+kbkWxVtxnHoggHa0VWtYYH7HTXTYwCw/KMJhk2Doe2ORn42DlfOXjExAWC3XJk5lNTXaPkgdfww1SeZzPm+Kh/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277285; 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=UtbkskhGBfybE0L0KH0R4rJtC+ZqoNIr4AmjvCrwdfY=; b=OxqxB5U1WTF9XXBIUrWM2OpGzsdiD2fWr8e83C2//SjMco5amwYOv/SBAqS0oRJvbkMwYqB0mIbSKOP+tAW1ionemRu4t65MBvLQjuIrnVNUDIiYlaeHig/9OJKw4j/LN4t8K7SrA3TTXEDgQsj5lIGdI4lt0mRkBMDzIybXJ3k= 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+94424+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277285320847.3026581022634; Tue, 27 Sep 2022 04:14:45 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id vZyRYY1788612xxEDbovfjEX; Tue, 27 Sep 2022 04:14:45 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9758.1664277283917120711 for ; Tue, 27 Sep 2022 04:14:44 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S32; Tue, 27 Sep 2022 19:14:43 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v3 30/34] MdePkg/BaseSafeIntLib: Add LoongArch64 architecture for BaseSafeIntLib. Date: Tue, 27 Sep 2022 19:13:50 +0800 Message-Id: <20220927111354.4107719-31-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--.49762S32 X-Coremail-Antispam: 1UD129KBjvJXoW7Cr15Cr4UWw48ZFy5AFW8Zwb_yoW8Zr4Dpr 4ktw4rWa4xXr4IkFZ8W3yUJrn8Wa9Iywn8GF4kZr4S9Fs0yw1vgr1YgrWxtr1rAFyxAryD Wr1Yy3WDua4kAFJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAssO 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: I8HlALeLLnxyN8FrEC9ANPepx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277285; bh=Z6sSUuK3Ph+2zxQjh+8W4OVFuJ+yoForw5w47UepMek=; h=Cc:Date:From:Reply-To:Subject:To; b=vJGuT21DyUCoOAsXLoEuDhK8UHtr1p7I/9vvoB6sp/m184vpqfbyOn2OoNjGyjiQlF7 e4smejEDENqgZYZJjOAXMk34WdsaOysbJAGr/egQ4N6E0FE3doFzsgFXc3mMF1sy/HtQz dfVwBI6LQocLvkRYbQJHhC1RCTrsn+HOoWM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277287347100096 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch64 architecture for BaseSafeIntLib library. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf b/MdePkg/Libr= ary/BaseSafeIntLib/BaseSafeIntLib.inf index 40017ec88b..9d039f2e5b 100644 --- a/MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf +++ b/MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf @@ -4,9 +4,10 @@ # This library provides helper functions to prevent integer overflow during # type conversion, addition, subtraction, and multiplication. # -# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2018, Intel Corporation. All rights reserved.
# Copyright (c) 2017, Microsoft Corporation -# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
=20 # # All rights reserved. @@ -25,7 +26,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 ARM AARCH64 RISCV64 LOONGARC= H64 # =20 [Sources] @@ -34,7 +35,7 @@ [Sources.Ia32, Sources.ARM] SafeIntLib32.c =20 -[Sources.X64, Sources.AARCH64, Sources.RISCV64] +[Sources.X64, Sources.AARCH64, Sources.RISCV64, Sources.LOONGARCH64] SafeIntLib64.c =20 [Sources.EBC] --=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 (#94424): https://edk2.groups.io/g/devel/message/94424 Mute This Topic: https://groups.io/mt/93947387/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- From nobody Wed May 8 22:49:14 2024 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+94425+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+94425+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277286; cv=none; d=zohomail.com; s=zohoarc; b=Z65PUyFTm/41r+eTo5heh3ZI0wS0jiSMpdEl3LAXB+dUSqI/30mihBb4oXaOJu2lN/SA+tzFh7D+F7kwSpgix8UUKH0yzb5A5AR3+3pcooS8CYTt4aQ3KC48gyAzuvgzF4FHbSaInloXCVHqndMYYyz0rfVsmH/5MXz+PNm+5EA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277286; 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=uTfrEob0pPrl7H7ItGvgLHIttYZkt7dWnQH94yA/Huk=; b=bRad1r4KK9miLpwSEpvmG64K9920hNQIO7VfVxJqgc2tI2bdDFhYq1iWT4ZuO4UNxrDl6DiARAlcrS35th2lmzVjejLhbK+uPz11DT4g1E+yn6S3mMwN+3W4Tz4Ksk5fA6vg6uo1C3vsOz1tXL1/Qj+iRplJbhc9Pj6hFBdQRNk= 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+94425+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277286511163.78228515172952; Tue, 27 Sep 2022 04:14:46 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id uWgeYY1788612x05JGiCA0Lr; Tue, 27 Sep 2022 04:14:46 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web12.9759.1664277285154316232 for ; Tue, 27 Sep 2022 04:14:45 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S33; Tue, 27 Sep 2022 19:14:44 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Zhichao Gao , Ray Ni , Michael D Kinney Subject: [edk2-devel] [PATCH v3 31/34] MdeModulePkg/Logo: Add LoongArch64 architecture. Date: Tue, 27 Sep 2022 19:13:51 +0800 Message-Id: <20220927111354.4107719-32-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--.49762S33 X-Coremail-Antispam: 1UD129KBjvJXoWrKFWxWF1UuFWftFy8Gw18AFb_yoW8Jr4Dpw 48Ca1rtryrJw10kay8WFyUXrs0gayDW342gF4vyr1FvFZrXas0g34Ygr4Sgr1Yyr4Ikay5 WFnIk3yjga48ArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAusM 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: chlP4unsVRLes37Qa5nHSgNWx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277286; bh=KQLl1FJ6OUe+Pc0RPTdMXL3bEkN2MxGqdW3jul81Mz4=; h=Cc:Date:From:Reply-To:Subject:To; b=fbVieo/SBlKOeKrQvM+5smlKZ2AlHha84K0FcrxRzQqbL7aEKvke4fOBwzoX75168Xf rJRhIoIUeTtx3k0Dhg0Xfy/paQ9uQmuG/iSaIIaIWA5N4VSehLsrZZqz1Si4xoJh6C44h mAqIiv9HwlBdTirWPZ4bm4ZKxmEm926LTMo= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277287331100093 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch64 architecture to the Logo. Cc: Zhichao Gao Cc: Ray Ni Signed-off-by: Chao Li Reviewed-by: Michael D Kinney Reviewed-by: Zhichao Gao --- MdeModulePkg/Logo/Logo.inf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Logo/Logo.inf b/MdeModulePkg/Logo/Logo.inf index 70a66cae98..294482ccdc 100644 --- a/MdeModulePkg/Logo/Logo.inf +++ b/MdeModulePkg/Logo/Logo.inf @@ -3,6 +3,7 @@ # # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
=20 # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -21,7 +22,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 LOON= GARCH64 # =20 [Binaries] --=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 (#94425): https://edk2.groups.io/g/devel/message/94425 Mute This Topic: https://groups.io/mt/93947388/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- From nobody Wed May 8 22:49:14 2024 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+94426+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+94426+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277287; cv=none; d=zohomail.com; s=zohoarc; b=AqBS3DDFcIN5nvxajsg5DQopkTDwTPriMUQkK33Gm5bqMd/T2OKdHyw3t2ZGWtuuRx9phBPVyuPmP00x1UF4nDX/QhB2vKDmHmbkWkDrkngSuRrDqOcgI4weTf/TEUX7g9Y6IBi2syjSpMXRrPpSsvKEjJxMCTBhm9tcbiBMLVo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277287; 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=JDuJ8i7vZRdIK/GYrDbH4m7y2zcRfaI+iBTm/9VtXtQ=; b=DznqikXSEUu8PeePPcinfd87SWoFJr6rPBUU0FjYaI/+NmuRqemlVeWwHOKjdOIb22rVw6h5KKLYv1Olcsje3uZU7q2CTw6e5zYc6KGLnitCRacOQ5VyYtoOolR0pU9zB3+6h2Gp52Ljgf4rndr/55H0S2VExO4+j7xyxqRMido= 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+94426+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277287726365.15443505080384; Tue, 27 Sep 2022 04:14:47 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id mwr8YY1788612xGUBHlxkwfB; Tue, 27 Sep 2022 04:14:47 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web09.9616.1664277286198711977 for ; Tue, 27 Sep 2022 04:14:46 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S34; Tue, 27 Sep 2022 19:14:45 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Liming Gao , Guomin Jiang , Michael D Kinney Subject: [edk2-devel] [PATCH v3 32/34] MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch64 architecture. Date: Tue, 27 Sep 2022 19:13:52 +0800 Message-Id: <20220927111354.4107719-33-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--.49762S34 X-Coremail-Antispam: 1UD129KBjvJXoW7uFWUKFWrur18KF4fJw18Zrb_yoW8uF4Dpw 4Dta1rGF18XryY9Fn8Ww4DZwn0g3yayrZ8Ja1kArZYkF4DAa1DGw15GFWSyF92yFyUAF98 K3Z09w4qgF1qyr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAvsN 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: R9LiHGV8BnBbJ9UI3KBWlLIDx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277287; bh=lj6y9Ndfs3edNoZVnDP7KyZb03tBU1gQCAmYv6D/Wbs=; h=Cc:Date:From:Reply-To:Subject:To; b=nla5b7PY47AHGFhnCmgMs4ecqkr9E3uATSN6svyNQ2kZuXU1nrjDe8TZSEUMbPmWOFH GOLI55EdrCsAbJtJH+wXo7DIgQJcRNjzwh3+XxpCT90PUGSaXHb3aUNswHoJbMzg4t7Gj y63N6fWLybpmt+67wEMRxHRdgsMDJYUfxUc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277289337100102 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch in INF for building CapsuleRuntimeDxe LoongArch64 image. Cc: Liming Gao Cc: Guomin Jiang Sigend-off-by: Chao Li Reviewed-by: Michael D Kinney --- .../Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf= b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf index 8bf5035a69..601eada170 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf @@ -6,6 +6,7 @@ # # Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -22,20 +23,20 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC ARM AARCH64 RISCV64 LOON= GARCH64 # =20 [Sources] CapsuleService.c CapsuleService.h =20 -[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64, Sources.RISCV64] +[Sources.Ia32, Sources.EBC, Sources.ARM, Sources.AARCH64, Sources.RISCV64,= Sources.LOONGARCH64] SaveLongModeContext.c =20 -[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64, Sources.RISCV64] +[Sources.Ia32, Sources.X64, Sources.ARM, Sources.AARCH64, Sources.RISCV64,= Sources.LOONGARCH64] CapsuleCache.c =20 -[Sources.Ia32, Sources.X64, Sources.EBC, Sources.RISCV64] +[Sources.Ia32, Sources.X64, Sources.EBC, Sources.RISCV64, Sources.LOONGARC= H64] CapsuleReset.c =20 [Sources.ARM, Sources.AARCH64] --=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 (#94426): https://edk2.groups.io/g/devel/message/94426 Mute This Topic: https://groups.io/mt/93947389/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- From nobody Wed May 8 22:49:14 2024 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+94427+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+94427+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277289; cv=none; d=zohomail.com; s=zohoarc; b=TkJUt17yt4AXdq7mnddxXqVz42tI1Ez/dDatrczqwmP5U2tzu0RiSfo+m+q+shr4kmYKaleRNHKsQpQIIa7tR2nJW/kqLel/FLwOtLP0PO4LQOmY/b5GErvF0EpJnSrlLgjiIGXrGa1eYTq0BjiEXWLH1bOjOwGDiIVu7MgpIJM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277289; 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=mDkskTbIJOpzyPAIp8ST2uhVc5TXYtdA+NZask8JMFM=; b=JqYuRmGv5ATYBwMhsSFxKvCWfkJ2cEFef4GY04gbI9sXW/jXvpzbgzHuQ8GxTz3vwAazsNZwPcaSG5TMQXbp33Tno0Co3YimB33CCM3nINxaaYxOvV6K2OGupcVOQRe9yNaXz2aFZ3SBwaBISCE7t2LNA2zE2MUKi1NzQqmhK5U= 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+94427+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277289118542.766243837895; Tue, 27 Sep 2022 04:14:49 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id C92PYY1788612x52GkFPLixG; Tue, 27 Sep 2022 04:14:48 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web09.9617.1664277287423363089 for ; Tue, 27 Sep 2022 04:14:48 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S35; Tue, 27 Sep 2022 19:14:46 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Liming Gao , Guomin Jiang , Baoqi Zhang Subject: [edk2-devel] [PATCH v3 33/34] MdeModulePkg/DxeIplPeim : LoongArch DxeIPL implementation. Date: Tue, 27 Sep 2022 19:13:53 +0800 Message-Id: <20220927111354.4107719-34-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--.49762S35 X-Coremail-Antispam: 1UD129KBjvJXoWxAF1rArWUKw43Zr17KryxAFb_yoWrGr15pw nYk3yfGr18G34FkrZ8Ja1UXw13Ga95KryUWF4Fvr1F9rWDtF95Wwn0yrWfWFWxA34Ut3yr Wr1F9rykWa4xJaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAxsT 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: H5pzOLNmLNYLIJkf7i2zJCUWx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277288; bh=A6V3Au6qJxEir3BG27EeGy8/n3r4jElhfjBm5qG2gf8=; h=Cc:Date:From:Reply-To:Subject:To; b=TMTY8U7CXSgeC7AzogsiTPMegTIV9f41Oi9d+HhRIc67nDY4PW1Ml3xlIO2V3kHax3s Dn/SreBE6JaMfyqxZwKneCQzRN4RbNGO5M6dD++2u/1GGLXKUYj1ZKj19y2As5kUgod1G ytL/r73fJrzVnomRVKhs202WGO+tIO20HTw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277291404100106 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Implement LoongArch DxeIPL instance. Cc: Liming Gao Cc: Guomin Jiang Signed-off-by: Chao Li Co-authored-by: Baoqi Zhang Reviewed-by: Liming Gao --- MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 6 +- .../Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c | 63 +++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 MdeModulePkg/Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/Dx= eIplPeim/DxeIpl.inf index 19b8a4c8ae..052ea0ec1a 100644 --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf @@ -8,6 +8,7 @@ # Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
# Copyright (c) 2017, AMD Incorporated. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All righ= ts reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights= reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -26,7 +27,7 @@ # # The following information is for reference only and not required by the = build tools. # -# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) = AARCH64 RISCV64 +# VALID_ARCHITECTURES =3D IA32 X64 EBC (EBC is for build only) = AARCH64 RISCV64 LOONGARCH64 # =20 [Sources] @@ -53,6 +54,9 @@ [Sources.RISCV64] RiscV64/DxeLoadFunc.c =20 +[Sources.LOONGARCH64] + LoongArch64/DxeLoadFunc.c + [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec diff --git a/MdeModulePkg/Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c b/MdeMo= dulePkg/Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c new file mode 100644 index 0000000000..95d3af19ea --- /dev/null +++ b/MdeModulePkg/Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c @@ -0,0 +1,63 @@ +/** @file + LoongArch specifc functionality for DxeLoad. + + Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "DxeIpl.h" + +/** + Transfers control to DxeCore. + + This function performs a CPU architecture specific operations to execute + the entry point of DxeCore with the parameters of HobList. + It also installs EFI_END_OF_PEI_PPI to signal the end of PEI phase. + + @param[in] DxeCoreEntryPoint The entry point of DxeCore. + @param[in] HobList The start of HobList passed to Dxe= Core. + +**/ +VOID +HandOffToDxeCore ( + IN EFI_PHYSICAL_ADDRESS DxeCoreEntryPoint, + IN EFI_PEI_HOB_POINTERS HobList + ) +{ + VOID *BaseOfStack; + VOID *TopOfStack; + EFI_STATUS Status; + + // + // Allocate 128KB for the Stack + // + BaseOfStack =3D AllocatePages (EFI_SIZE_TO_PAGES (STACK_SIZE)); + ASSERT (BaseOfStack !=3D NULL); + + // + // Compute the top of the stack we were allocated. Pre-allocate a UINTN + // for safety. + // + TopOfStack =3D (VOID *)((UINTN)BaseOfStack + EFI_SIZE_TO_PAGES (STACK_SI= ZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT); + TopOfStack =3D ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT); + + // + // End of PEI phase signal + // + Status =3D PeiServicesInstallPpi (&gEndOfPeiSignalPpi); + ASSERT_EFI_ERROR (Status); + + // + // Update the contents of BSP stack HOB to reflect the real stack info p= assed to DxeCore. + // + UpdateStackHob ((EFI_PHYSICAL_ADDRESS)(UINTN)BaseOfStack, STACK_SIZE); + + SwitchStack ( + (SWITCH_STACK_ENTRY_POINT)(UINTN)DxeCoreEntryPoint, + HobList.Raw, + NULL, + TopOfStack + ); +} --=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 (#94427): https://edk2.groups.io/g/devel/message/94427 Mute This Topic: https://groups.io/mt/93947390/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- From nobody Wed May 8 22:49:14 2024 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+94428+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+94428+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1664277291; cv=none; d=zohomail.com; s=zohoarc; b=PnWONznJs+/BX9WWmBgerbIL1eO05Hx7YSa+etbQtBm3xTWb8xAofKA5OHWpgmSSw6cXAvjHutHW1pgK8I7TRxTNB1kV+5HzUUVvvLcn3A5fovro5/4gpmsWuUiwIvqYb6M+gBYeXV9WHYMz+mwBJi3zqcvDjxODCCritKphwrw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664277291; 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=tZiGpYJCCni5l2RxSyEP07a30/GW2FnqOMuY5/iN3Zk=; b=MkCxN2cyfs+DuA3KVl0rqxVENMqqiAslk6LuHjMxkvFJz1RmhB+AGH0ABu0DtZZTaL0YgcwFKL2OeQDITcpv07IzXG2cdGDy7PeKZR6gAYJfYIxWDpBPRasQ0AfcegQFnCAtZ0vbho9TLUcSUew9iTLziJeg7DQArWt4T044QQw= 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+94428+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1664277291031221.76148217325635; Tue, 27 Sep 2022 04:14:51 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id RQRKYY1788612xccBgdL1o5L; Tue, 27 Sep 2022 04:14:50 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web08.9465.1664277289169428418 for ; Tue, 27 Sep 2022 04:14:50 -0700 X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxrmv02jJjirsiAA--.49762S36; Tue, 27 Sep 2022 19:14:47 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Maciej Rabeda , Jiaxin Wu , Siyuan Fu , Michael D Kinney Subject: [edk2-devel] [PATCH v3 34/34] NetworkPkg: Add LoongArch64 architecture. Date: Tue, 27 Sep 2022 19:13:54 +0800 Message-Id: <20220927111354.4107719-35-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--.49762S36 X-Coremail-Antispam: 1UD129KBjvJXoW7KF45JF4kKrWfArWfXw1DKFg_yoW8GryfpF WfXan5t348uF10gr9xAF4fWw1qg39Yyr1UGFWfJwn7Zr1DJ395G39Fvr4rZr45CF47tr9Y gF1Yyw15WF18A3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQACCGMxll4dbgAzsR 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: nb6XbWXqXIknvKHyvHHe29NZx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1664277290; bh=0PYyHS7NRk9zRVnxlpuQ3dUku4YccKgmMkUdGTc85ZU=; h=Cc:Date:From:Reply-To:Subject:To; b=H7LH+XSzArT4k/XHPa7L66pW+Gsy+El6J1aJnW+jbmR9c++WllCNefEq5p/PPHwNU1y nNM2nOzuqbwR1T8NSCP7xBB3sKF3AVfuGbFUzM1Xgjxs9A14VfX9R/ysVGRd2c+Ym8ASS d+Vh/xbjBMOYjd01NDdTuLRTrK6PPTcA71A= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1664277291292100105 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 Add LoongArch64 architecture in to NetworkPkg. Cc: Maciej Rabeda Cc: Jiaxin Wu Cc: Siyuan Fu Signed-off-by: Chao Li Reviewed-by: Michael D Kinney --- NetworkPkg/Network.dsc.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc index 99fad885bf..04b515a0bb 100644 --- a/NetworkPkg/Network.dsc.inc +++ b/NetworkPkg/Network.dsc.inc @@ -9,6 +9,7 @@ # # Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights = reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -38,7 +39,7 @@ !include NetworkPkg/NetworkComponents.dsc.inc =20 !else -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64, Comp= onents.RISCV64] +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64, Comp= onents.RISCV64, Components.LOONGARCH64] !include NetworkPkg/NetworkComponents.dsc.inc =20 !endif --=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 (#94428): https://edk2.groups.io/g/devel/message/94428 Mute This Topic: https://groups.io/mt/93947391/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-