[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1539051514-3658-1-git-send-email-alankao@andestech.com>
Date: Tue, 9 Oct 2018 10:18:29 +0800
From: Alan Kao <alankao@...estech.com>
To: Palmer Dabbelt <palmer@...ive.com>,
<linux-riscv@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
Christoph Hellwig <hch@....de>
CC: Greentime Hu <greentime@...estech.com>,
Vincent Chen <vincentc@...estech.com>,
Zong Li <zong@...estech.com>, Nick Hu <nickhu@...estech.com>,
Alan Kao <alankao@...estech.com>
Subject: [PATCH v8 0/5] riscv: Add support to no-FPU systems
This patchset adds an option, CONFIG_FPU, to enable/disable floating-
point procedures.
Kernel's new behavior will be as follows:
* with CONFIG_FPU=y
All FPU codes are reserved. If no FPU is found during booting, a
global flag will be set, and those functions will be bypassed with
condition check to that flag.
* with CONFIG_FPU=n
No floating-point instructions in kernel and all related settings
are excluded.
Changes in v8:
- Fix a build fail introduced in v7.
Changes in v7:
- Remove "fd" attribute from KBUILD_CFLAGS.
Changes in v6 (PATCH 0005 only):
- Make the flag checking neater.
Changes in v5:
- Invert the polarity of checking flag from no_fpu to has_fpu.
Changes in v4:
- Append a new patch to detect existence of FPU and followups.
- Add SPDX header to newly created fpu.S.
- Fix a build error, sorry for that.
- Fix wording, style, etc.
Changes in v3:
- Refactor the whole patch into independent ones.
Changes in v2:
- Various code cleanups and style fixes.
Alan Kao (5):
Extract FPU context operations from entry.S
Refactor FPU code in signal setup/return procedures
Cleanup ISA string setting
Allow to disable FPU support
Auto-detect whether a FPU exists
arch/riscv/Kconfig | 9 ++++
arch/riscv/Makefile | 19 +++----
arch/riscv/include/asm/switch_to.h | 12 ++++-
arch/riscv/kernel/Makefile | 1 +
arch/riscv/kernel/cpufeature.c | 8 +++
arch/riscv/kernel/entry.S | 87 ------------------------------
arch/riscv/kernel/fpu.S | 106 +++++++++++++++++++++++++++++++++++++
arch/riscv/kernel/process.c | 6 ++-
arch/riscv/kernel/signal.c | 75 ++++++++++++++++----------
9 files changed, 196 insertions(+), 127 deletions(-)
create mode 100644 arch/riscv/kernel/fpu.S
--
2.7.4
Powered by blists - more mailing lists