From nobody Sat May 18 12:05:05 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+103718+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+103718+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1682607131; cv=none; d=zohomail.com; s=zohoarc; b=VUke0FdGQ7lIDiYDoLg6wty4kB+wQFMMYVjuW9stmjMqjvEv84wbPXfK6L0vkNVqQskPwVUnj9ba4BBGcChClv7C2JdgFSeS07A5XeRLEK1ggF1j7chAfkOk2qZnro+2qijKPUYRAaaHOWWgvAE+zwmZ/IMR0KhF4SFWKZz/Mzs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682607131; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=1NV2lywqjvTHMFPcOdNDoaQawMwq+bKg9AjV8TThFKc=; b=ITOGl8H4fD981wXcTkLAsjyN11cWcCQeGSbCV+jKZm1nDtW9yKjx2qRByByPYcsTjd4zmG4/g1v8xl+uCZKKFhMB/glVXQxJmHYAcNrtZsKEtHZzW4uqC1/z9YpOuzUNMDiXY/JfJoNDPzmqiHbKP+0BOywPXsVUVOvUZC+iuz0= 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+103718+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1682607131014796.522820854975; Thu, 27 Apr 2023 07:52:11 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Dk0TYY1788612xVm5XowZzx9; Thu, 27 Apr 2023 07:52:10 -0700 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.22684.1682607128721398879 for ; Thu, 27 Apr 2023 07:52:09 -0700 X-Received: from loongson.cn (unknown [10.2.9.245]) by gateway (Coremail) with SMTP id _____8BxLusTjEpko6gBAA--.2890S3; Thu, 27 Apr 2023 22:52:03 +0800 (CST) X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Dxib0SjEpkMuI+AA--.19985S2; Thu, 27 Apr 2023 22:52:02 +0800 (CST) From: "Dongyan Qian" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Chao Li Subject: [edk2-devel] [PATCH] BaseSynchronizationLib: Fix LoongArch64 synchronization functions Date: Thu, 27 Apr 2023 22:51:43 +0800 Message-Id: <20230427145143.1614681-1-qiandongyan@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Dxib0SjEpkMuI+AA--.19985S2 X-CM-SenderInfo: htld0v5rqj5t3q6o00pqjv00gofq/ X-Coremail-Antispam: 1Uk129KBjvJXoW7Cw1ruryrXFyxtw4fGw1UGFg_yoW8ZrWUpr 13t343CF15Kw4fG3WxKrs8JF15Xa48CFyDGa98Aw18ArWDtFyv934Sgr4xXFy09FWxua4S v3W7KrsYk3WUCrDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU b0xFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r1j6r1xM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r1j6r4UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwVC2z280aVCY1x 0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCF FI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x0Yz7 v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxFaVAv 8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7 xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6xII jxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw2 0EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x02 67AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvj4RC_MaUUUUU 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,qiandongyan@loongson.cn X-Gm-Message-State: gGp4d6sYRc6ywLB3xPMhZtMFx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1682607130; bh=ovHrlglF077dkZInnUXKR20P63wjV7QqnRl/56Ga8p8=; h=Cc:Date:From:Reply-To:Subject:To; b=UO59gW3DavJ1NKZYEN1TSe91bEvZCZhwu2YiLkK6JgaYqEjFzFe/Ol5DRIJVIodJTIv bNNNESTCo+wY0Dl/OyCPszSuPZpzB8SK6LqZIEs+i/SWh54ivAWfz8h4b/K/RHviBZ2+j JmXrKlPgKqK6quSlTOIfr8LCDMroIApK8YA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1682607131814100001 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4432 The sc.w/sc.d instruction will destroy the reg_t0 Use reg_t1 to avoid context reg_t0 being corrupted. Optimize function SyncIncrement and SyncDecrement. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Chao Li Signed-off-by: Dongyan Qian Reviewed-by: Chao Li --- .../LoongArch64/AsmSynchronization.S | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSynchroni= zation.S b/MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSynchroniza= tion.S index fdd50c54b5..03865bf2c9 100644 --- a/MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSynchronization.S +++ b/MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSynchronization.S @@ -53,9 +53,9 @@ ASM_PFX(AsmInternalSyncCompareExchange32): 1: ll.w $t0, $a0, 0x0 bne $t0, $a1, 2f - move $t0, $a2 - sc.w $t0, $a0, 0x0 - beqz $t0, 1b + move $t1, $a2 + sc.w $t1, $a0, 0x0 + beqz $t1, 1b b 3f 2: dbar 0 @@ -76,9 +76,9 @@ ASM_PFX(AsmInternalSyncCompareExchange64): 1: ll.d $t0, $a0, 0x0 bne $t0, $a1, 2f - move $t0, $a2 - sc.d $t0, $a0, 0x0 - beqz $t0, 1b + move $t1, $a2 + sc.d $t1, $a0, 0x0 + beqz $t1, 1b b 3f 2: dbar 0 @@ -94,13 +94,10 @@ AsmInternalSyncIncrement ( ) **/ ASM_PFX(AsmInternalSyncIncrement): - move $t0, $a0 - dbar 0 - ld.w $t1, $t0, 0x0 - li.w $t2, 1 - amadd.w $t1, $t2, $t0 + li.w $t0, 1 + amadd.w $zero, $t0, $a0 =20 - ld.w $a0, $t0, 0x0 + ld.w $a0, $a0, 0 jirl $zero, $ra, 0 =20 /** @@ -111,12 +108,9 @@ AsmInternalSyncDecrement ( ) **/ ASM_PFX(AsmInternalSyncDecrement): - move $t0, $a0 - dbar 0 - ld.w $t1, $t0, 0x0 - li.w $t2, -1 - amadd.w $t1, $t2, $t0 + li.w $t0, -1 + amadd.w $zero, $t0, $a0 =20 - ld.w $a0, $t0, 0x0 + ld.w $a0, $a0, 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 (#103718): https://edk2.groups.io/g/devel/message/103718 Mute This Topic: https://groups.io/mt/98538295/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-