[PATCH] xen/riscv: disable fpu

Oleksii Kurochko posted 1 patch 1 year, 2 months ago
Failed in applying to current master (apply log)
xen/arch/riscv/setup.c | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH] xen/riscv: disable fpu
Posted by Oleksii Kurochko 1 year, 2 months ago
Disable FPU to detect illegal usage of floating point in kernel
space.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/setup.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 593bb471a4..b7cd438a1d 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -36,6 +36,11 @@ static void __init init_bss(void)
     }
 }
 
+static void __init disable_fpu(void)
+{
+    csr_write(CSR_SSTATUS, SSTATUS_FS);
+}
+
 void __init noreturn start_xen(void)
 {
     /*
@@ -52,6 +57,8 @@ void __init noreturn start_xen(void)
 
     init_bss();
 
+    disable_fpu();
+
     early_printk("Hello from C env\n");
 
     trap_init();
-- 
2.39.0
Re: [PATCH] xen/riscv: disable fpu
Posted by Jan Beulich 1 year, 2 months ago
On 24.02.2023 15:48, Oleksii Kurochko wrote:
> Disable FPU to detect illegal usage of floating point in kernel
> space.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/riscv/setup.c | 7 +++++++
>  1 file changed, 7 insertions(+)

This looks to contextually depend on earlier individually sent patches.
When there are dependencies, preferably group the patches in a series,
or if not at the very least call out the dependency in the post-commit-
message area, for committers to be aware.

Jan

> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -36,6 +36,11 @@ static void __init init_bss(void)
>      }
>  }
>  
> +static void __init disable_fpu(void)
> +{
> +    csr_write(CSR_SSTATUS, SSTATUS_FS);
> +}
> +
>  void __init noreturn start_xen(void)
>  {
>      /*
> @@ -52,6 +57,8 @@ void __init noreturn start_xen(void)
>  
>      init_bss();
>  
> +    disable_fpu();
> +
>      early_printk("Hello from C env\n");
>  
>      trap_init();