From mboxrd@z Thu Jan 1 00:00:00 1970 From: Conor Dooley Date: Wed, 25 Jan 2023 21:51:02 +0000 Subject: [PATCH -next v13 05/19] riscv: Disable Vector Instructions for kernel itself In-Reply-To: <20230125142056.18356-6-andy.chiu@sifive.com> References: <20230125142056.18356-1-andy.chiu@sifive.com> <20230125142056.18356-6-andy.chiu@sifive.com> Message-ID: List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Wed, Jan 25, 2023 at 02:20:42PM +0000, Andy Chiu wrote: > Disable vector instructions execution for kernel mode at its entrances. > > Signed-off-by: Guo Ren > Co-developed-by: Vincent Chen > Signed-off-by: Vincent Chen > Co-developed-by: Han-Kuan Chen > Signed-off-by: Han-Kuan Chen > Co-developed-by: Greentime Hu > Signed-off-by: Greentime Hu > Signed-off-by: Vineet Gupta > [vineetg: split off vecreg file clearing] > Signed-off-by: Andy Chiu That's a hilarious co-developed-by list for adding "| foo". I can only assume that this is mostly related to the asm that was removed by Vineet? Either way: Reviewed-by: Conor Dooley > --- > arch/riscv/kernel/entry.S | 6 +++--- > arch/riscv/kernel/head.S | 12 ++++++------ > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/arch/riscv/kernel/entry.S b/arch/riscv/kernel/entry.S > index 99d38fdf8b18..e38676d9a0d6 100644 > --- a/arch/riscv/kernel/entry.S > +++ b/arch/riscv/kernel/entry.S > @@ -77,10 +77,10 @@ _save_context: > * Disable user-mode memory access as it should only be set in the > * actual user copy routines. > * > - * Disable the FPU to detect illegal usage of floating point in kernel > - * space. > + * Disable the FPU/Vector to detect illegal usage of floating point > + * or vector in kernel space. > */ > - li t0, SR_SUM | SR_FS > + li t0, SR_SUM | SR_FS_VS > > REG_L s0, TASK_TI_USER_SP(tp) > csrrc s1, CSR_STATUS, t0 > diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S > index ea803c96eeff..7cc975ce619d 100644 > --- a/arch/riscv/kernel/head.S > +++ b/arch/riscv/kernel/head.S > @@ -140,10 +140,10 @@ secondary_start_sbi: > .option pop > > /* > - * Disable FPU to detect illegal usage of > - * floating point in kernel space > + * Disable FPU & VECTOR to detect illegal usage of > + * floating point or vector in kernel space > */ > - li t0, SR_FS > + li t0, SR_FS_VS > csrc CSR_STATUS, t0 > > /* Set trap vector to spin forever to help debug */ > @@ -234,10 +234,10 @@ pmp_done: > .option pop > > /* > - * Disable FPU to detect illegal usage of > - * floating point in kernel space > + * Disable FPU & VECTOR to detect illegal usage of > + * floating point or vector in kernel space > */ > - li t0, SR_FS > + li t0, SR_FS_VS > csrc CSR_STATUS, t0 > > #ifdef CONFIG_RISCV_BOOT_SPINWAIT > -- > 2.17.1 > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 228 bytes Desc: not available URL: