From 071106ecf68c401173c58808b1cf5f68cc50d390 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 05 Jan 2024 08:39:27 +0000 Subject: [PATCH] change wifi driver to cypress --- kernel/arch/nds32/kernel/sys_nds32.c | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/kernel/arch/nds32/kernel/sys_nds32.c b/kernel/arch/nds32/kernel/sys_nds32.c index 9de93ab..cb2d1e2 100644 --- a/kernel/arch/nds32/kernel/sys_nds32.c +++ b/kernel/arch/nds32/kernel/sys_nds32.c @@ -6,6 +6,8 @@ #include <asm/cachectl.h> #include <asm/proc-fns.h> +#include <asm/fpu.h> +#include <asm/fp_udfiex_crtl.h> SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, unsigned long, prot, unsigned long, flags, @@ -48,3 +50,35 @@ return 0; } + +SYSCALL_DEFINE2(fp_udfiex_crtl, unsigned int, cmd, unsigned int, act) +{ +#if IS_ENABLED(CONFIG_SUPPORT_DENORMAL_ARITHMETIC) + int old_udf_iex; + + if (!used_math()) { + load_fpu(&init_fpuregs); + current->thread.fpu.UDF_IEX_trap = init_fpuregs.UDF_IEX_trap; + set_used_math(); + } + + old_udf_iex = current->thread.fpu.UDF_IEX_trap; + act &= (FPCSR_mskUDFE | FPCSR_mskIEXE); + + switch (cmd) { + case DISABLE_UDF_IEX_TRAP: + current->thread.fpu.UDF_IEX_trap &= ~act; + break; + case ENABLE_UDF_IEX_TRAP: + current->thread.fpu.UDF_IEX_trap |= act; + break; + case GET_UDF_IEX_TRAP: + break; + default: + return -EINVAL; + } + return old_udf_iex; +#else + return -ENOTSUPP; +#endif +} -- Gitblit v1.6.2