lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a2U_-EmBf5r4wELddwTYF-S_GKPBcwPiqhV0cp-Cb44gA@mail.gmail.com>
Date:   Thu, 11 Oct 2018 09:30:30 +0200
From:   Arnd Bergmann <arnd@...db.de>
To:     Vincent Chen <vincentc@...estech.com>
Cc:     Greentime Hu <green.hu@...il.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Vincent Chen <deanbo422@...il.com>
Subject: Re: [PATCH v2 1/5] nds32: nds32 FPU port

On Thu, Oct 11, 2018 at 4:56 AM Vincent Chen <vincentc@...estech.com> wrote:
>
> This commit contains basic components for nds32 FPU support such as
> FPU exception handler and context switch for FPU register.
>
> diff --git a/arch/nds32/Kconfig.cpu b/arch/nds32/Kconfig.cpu
> index b8c8984..7ee4e19 100644
> --- a/arch/nds32/Kconfig.cpu
> +++ b/arch/nds32/Kconfig.cpu
> @@ -7,6 +7,28 @@ config CPU_LITTLE_ENDIAN
>         bool "Little endian"
>         default y
>
> +config FPU
> +       bool "FPU support"
> +       default n
> +       help
> +         If FPU ISA is used in user space, this configure shall be Y to make
> +         the fpu context switch and fpu exception handler is enabled in kernel.
> +         Lazy FPU is the default scheme for fpu context switch. If user wants
> +         to disable Lazy FPU scheme, please enable CONFIG_UNLAZY_FPU.
> +
> +         If no FPU ISA is used in user space, say N.

There was a long discussion on RISC-V about what happens when
FPU support is enabled or disabled, you may have seen that as well.

Can you confirm that:

a) A kernel with FPU support enabled running on a CPU without an FPU
    will behave the same as a kernel without FPU support, and in particular
    not crash while trying to access the FPU
b) A kernel with FPU support disabled running on a CPU with an FPU
    prevents user space from accessing the FPU, to avoid corrupting
    FPU registers during a task switch when a process accidentally contains
    FPU access

> +config UNLAZY_FPU
> +       bool "Unlazy FPU support"
> +       depends on FPU
> +       default n
> +       help
> +         Say Y here to disable lazy FPU scheme. Disable lazy FPU scheme causes
> +         some performance loss because the fpu register are loaded and stored
> +         in each context switch.
> +
> +         For nomal case, say N.

I prefer Kconfig symbols to avoid using negatives, as this easily gets
confusing. Why not do it like

config LAZY_FPU_SWITCHING
           bool "Lazy FPU switching"
           depends on FPU
           default y

      Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ