From 43f752a86cfa3ce17c8e19af7aa5186d6877803d Mon Sep 17 00:00:00 2001 From: heyuanjie87 Date: Wed, 19 Jun 2024 17:26:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[rv/virt/stackframe.h]=E6=B7=BB=E5=8A=A0GP?= =?UTF-8?q?=E5=AF=84=E5=AD=98=E5=99=A8=E4=BF=9D=E5=AD=98=E5=81=8F=E7=A7=BB?= =?UTF-8?q?=E9=87=8F=E5=AE=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libcpu/risc-v/virt64/stackframe.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libcpu/risc-v/virt64/stackframe.h b/libcpu/risc-v/virt64/stackframe.h index 550fa8947e2..4caf3bc7ab8 100644 --- a/libcpu/risc-v/virt64/stackframe.h +++ b/libcpu/risc-v/virt64/stackframe.h @@ -21,6 +21,7 @@ #define BYTES(idx) ((idx) * REGBYTES) #define FRAME_OFF_SSTATUS BYTES(2) #define FRAME_OFF_SP BYTES(32) +#define FRAME_OFF_GP BYTES(3) #ifdef __ASSEMBLY__ From e36c393fcc4f3a0efcd57b17b2594b7bbb80e8ff Mon Sep 17 00:00:00 2001 From: heyuanjie87 Date: Wed, 19 Jun 2024 17:30:57 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=90rv/c906/stackframe.h]=E5=AE=9A?= =?UTF-8?q?=E4=B9=89GP=E5=AF=84=E5=AD=98=E5=99=A8=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E5=81=8F=E7=A7=BB=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libcpu/risc-v/t-head/c906/stackframe.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libcpu/risc-v/t-head/c906/stackframe.h b/libcpu/risc-v/t-head/c906/stackframe.h index d6fd0c3c5ea..6e8ab0c7bd2 100644 --- a/libcpu/risc-v/t-head/c906/stackframe.h +++ b/libcpu/risc-v/t-head/c906/stackframe.h @@ -16,6 +16,7 @@ #define BYTES(idx) ((idx) * REGBYTES) #define FRAME_OFF_SSTATUS BYTES(2) #define FRAME_OFF_SP BYTES(32) +#define FRAME_OFF_GP BYTES(3) #include "cpuport.h" #include "encoding.h" From 0271fa87cded95ffdcae650b0e1ee222d3bc1416 Mon Sep 17 00:00:00 2001 From: heyuanjie87 Date: Wed, 19 Jun 2024 17:51:32 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[rv]=E4=BF=A1=E5=8F=B7=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=88=B0=E7=94=A8=E6=88=B7=E6=80=81=E5=89=8D?= =?UTF-8?q?=E6=81=A2=E5=A4=8Dgp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/lwp/arch/risc-v/rv64/lwp_gcc.S | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/lwp/arch/risc-v/rv64/lwp_gcc.S b/components/lwp/arch/risc-v/rv64/lwp_gcc.S index 61db9b24e51..c0936623bfd 100644 --- a/components/lwp/arch/risc-v/rv64/lwp_gcc.S +++ b/components/lwp/arch/risc-v/rv64/lwp_gcc.S @@ -174,6 +174,9 @@ arch_thread_signal_enter: /* dummy a2 */ mv a2, a1 + /* restore user GP */ + LOAD gp, FRAME_OFF_GP(s3) + /** * handler(signo, psi, ucontext); */