linux/arch/riscv/include/asm
Ivy Lopez 93a27367ba riscv: hwprobe: simplify has_fpu() to check D extension only
The kernel never supports D without F, since D depends on F. The
D-extension flag is cleared during devicetree/ACPI parsing whenever
F is not present, so has_fpu() checking either extension with '||'
never actually produces a different result than checking D alone -
F without D cannot occur in practice, and there is no observable
impact on RISCV_HWPROBE_IMA_FD or userspace.

Simplify has_fpu() to check D only, matching the expectations set
elsewhere in the kernel for this dependency, rather than relying on
a redundant OR condition.

sys_hwprobe.c already calls has_fpu() and needs no changes.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=221874
Suggested-by: Conor Dooley <conor.dooley@microchip.com>
Suggested-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Ivy Lopez <skunkolee@gmail.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20260901013746.19386-1-skunkolee@gmail.com
[pjw@kernel.org: updated to apply]
Signed-off-by: Paul Walmsley <pjw@kernel.org>
2026-09-01 19:20:13 -06:00
..
vdso Revert "riscv: hwprobe: Fix stale vDSO data for late-initialized keys at boot" 2026-08-07 19:24:30 -06:00
vendor_extensions riscv: asm: use .insn for making custom instructions 2025-10-27 18:58:37 -06:00
acenv.h RISC-V: Add support to build the ACPI core 2023-06-01 08:45:01 -07:00
acpi.h RISC-V updates for v7.3 2026-08-20 14:53:54 -07:00
alternative-macros.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
alternative.h riscv: errata: Fix the PAUSE Opcode for MIPS P8700 2025-09-19 10:33:56 -06:00
arch_hweight.h riscv: hweight: Use riscv_has_extension_likely 2025-11-19 09:19:27 -07:00
archrandom.h RISC-V: Implement archrandom when Zkr is available 2024-01-17 18:20:49 -08:00
asm-extable.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
asm-offsets.h
asm-prototypes.h riscv: add platform-specific double word shifts for riscv32 2026-05-28 21:24:51 -07:00
asm.h riscv/runtime-const: Introduce runtime_const_mask_32() 2026-07-29 13:17:45 +02:00
assembler.h arch/riscv: compile vdso with landing pad and shadow stack note 2026-01-29 02:38:40 -07:00
atomic.h riscv: fix various typos in comments and code 2026-04-04 18:42:39 -06:00
barrier.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
bitops.h riscv: remove irqflags.h inclusion in asm/bitops.h 2026-01-07 13:16:38 -07:00
bitrev.h arch/riscv: Add bitrev.h file to support rev8 and brev8 2026-05-28 11:39:16 -04:00
bug.h riscv: bug: Make RV32 use GENERIC_BUG_RELATIVE_POINTERS 2026-08-31 19:11:23 -06:00
bugs.h riscv: Add ghostwrite vulnerability 2025-01-18 12:33:39 -08:00
cache.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
cacheflush.h mm/sparse-vmemmap: flush_cache_vmap() after hotplugging vmemmap 2026-07-13 11:29:52 -06:00
cacheinfo.h
cfi.h kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI 2025-09-24 14:29:14 -07:00
checksum.h riscv: checksum: Use riscv_has_extension_likely 2025-11-19 09:19:27 -07:00
clint.h
clocksource.h
cmpxchg.h riscv: cmpxchg: Use .option arch for Zacas and Zabha 2026-08-07 19:24:32 -06:00
compat.h riscv: compat: fix COMPAT_UTS_MACHINE definition 2026-01-29 00:59:17 -07:00
cpu_ops_sbi.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
cpu_ops.h riscv: cpu_ops: Change return value type of cpu_is_stopped() to bool 2026-06-06 23:48:14 -06:00
cpu.h RISC-V: Add support to build the ACPI core 2023-06-01 08:45:01 -07:00
cpufeature-macros.h riscv: Move cpufeature.h macros into their own header 2024-11-11 07:33:08 -08:00
cpufeature.h riscv: zicfiss / zicfilp enumeration 2026-01-25 21:09:53 -07:00
cpuidle.h
crash_reserve.h kexec: split crashkernel reservation code out from crash_core.c 2024-02-23 17:48:21 -08:00
csr_indirect.h RISC-V: Define indirect CSR access helpers 2026-08-07 19:24:31 -06:00
csr.h Arm: 2026-08-25 11:48:04 -07:00
current.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
delay.h
dma-noncoherent.h riscv: mm: dma-noncoherent: nonstandard cache operations support 2023-09-01 09:08:57 -07:00
dmi.h riscv: dmi: Add SMBIOS/DMI support 2024-06-26 08:02:33 -07:00
efi.h Merge patch series "riscv: Introduce KASLR" 2023-09-08 11:25:13 -07:00
elf.h riscv: fix various typos in comments and code 2026-04-04 18:42:39 -06:00
entry-common.h riscv/traps: Introduce software check exception and uprobe handling 2026-01-29 02:38:40 -07:00
errata_list_vendors.h riscv: errata: Fix the PAUSE Opcode for MIPS P8700 2025-09-19 10:33:56 -06:00
errata_list.h riscv: errata: Fix the PAUSE Opcode for MIPS P8700 2025-09-19 10:33:56 -06:00
exec.h riscv: Randomize lower bits of stack address 2024-09-17 08:05:10 -07:00
extable.h riscv: mm: stub extable related functions/macros for !MMU 2023-06-14 07:17:45 -07:00
fence.h riscv: Add license to fence.h 2024-09-03 07:18:33 -07:00
fixmap.h riscv: remove unused __late_set_fixmap() and __late_clear_fixmap() 2026-08-06 18:57:22 -07:00
fpu.h riscv: add support for kernel-mode FPU 2024-05-19 14:36:19 -07:00
ftrace.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
futex.h riscv/futex: sign extend compare value in atomic cmpxchg 2025-02-14 13:06:31 -08:00
gdb_xml.h
gpr-num.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
hugetlb.h mm: introduce memdesc_flags_t 2025-09-13 16:55:07 -07:00
hwcap.h riscv: Add Ziccamoa, Ziccif, Ziccrse, and Za64rs to cpufeature and hwprobe 2026-08-07 19:24:33 -06:00
hwprobe.h Revert "riscv: hwprobe: Fix stale vDSO data for late-initialized keys at boot" 2026-08-07 19:24:30 -06:00
image.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
insn-def.h riscv: Introduce Zalasr instructions 2025-11-19 09:19:28 -07:00
insn.h riscv: kprobes: Move branch_funct3 to insn.h 2025-09-16 18:46:43 -06:00
io.h riscv: io: avoid null-pointer arithmetic in PIO helpers 2026-07-13 12:01:49 -06:00
irq_stack.h riscv: Deduplicate IRQ stack switching 2023-10-27 14:43:06 -07:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irq.h ACPI: RISC-V: Add RPMI System MSI to GSI mapping 2025-09-25 19:49:09 -06:00
irqflags.h riscv: Remove unnecessary irqflags processor.h include 2024-04-16 18:50:52 -07:00
jump_label.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
kasan.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
Kbuild ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
kdebug.h
kexec.h riscv: kexec_file: Support loading Image binary file 2025-06-05 11:09:34 -07:00
kfence.h riscv: kfence: Call mark_new_valid_map() for kfence_unprotect() 2026-06-06 23:48:15 -06:00
kgdb.h riscv: kgdb: Ensure that BUFMAX > NUMREGBYTES 2025-10-09 19:36:45 -06:00
kprobes.h riscv: Only consider swbp/ss handlers for correct privileged mode 2023-09-20 06:45:27 -07:00
kvm_aia.h KVM: RISC-V: Add CPU PM notifier for non-retention idle states 2026-08-12 22:07:07 +05:30
kvm_gstage.h RISC-V: KVM: Improve dirty log clearing by skipping zero bits in mask 2026-08-07 18:44:46 +05:30
kvm_host.h KVM: RISC-V: Clear former VCPU cache on virtualization disable 2026-08-08 19:18:11 +05:30
kvm_isa.h RISC-V: KVM: Factor-out ISA checks into separate sources 2026-04-03 17:35:01 +05:30
kvm_mmu.h RISC-V: KVM: Factor-out g-stage page table management 2025-07-28 22:27:30 +05:30
kvm_nacl.h riscv: kvm: Use endian-specific __lelong for NACL shared memory 2026-06-14 11:09:41 +05:30
kvm_tlb.h RISC-V: KVM: Flush VS-stage TLB after VCPU migration for Andes cores 2025-11-24 09:55:36 +05:30
kvm_types.h
kvm_vcpu_config.h RISC-V: KVM: Factor-out VCPU config into separate sources 2026-04-03 17:48:40 +05:30
kvm_vcpu_fp.h
kvm_vcpu_insn.h RISC-V: KVM: Widen G-stage fault address to gpa_t 2026-07-29 21:37:40 +05:30
kvm_vcpu_pmu.h RISC-V: KVM: Implement get event info function 2025-09-16 11:49:31 +05:30
kvm_vcpu_sbi_fwft.h RISC-V: KVM: Implement ONE_REG interface for SBI FWFT state 2025-09-16 10:54:21 +05:30
kvm_vcpu_sbi.h RISC-V: KVM: Add SBI extension validate callback 2026-07-30 11:38:58 +05:30
kvm_vcpu_timer.h
kvm_vcpu_vector.h RISC-V: KVM: fix vcpu vector context handling for kernel-mode vector 2026-08-13 13:20:02 +05:30
kvm_vmid.h RISC-V: KVM: Flush VS-stage TLB after VCPU migration for Andes cores 2025-11-24 09:55:36 +05:30
linkage.h riscv: Implement _THIS_IP_ using inline asm 2026-06-06 20:17:53 -06:00
membarrier.h membarrier: riscv: Provide core serializing command 2024-02-15 08:04:14 -08:00
mman.h riscv/mm: ensure PROT_WRITE leads to VM_READ | VM_WRITE 2026-01-25 21:09:53 -07:00
mmio.h riscv/barrier: Consolidate fence definitions 2024-03-19 18:52:24 -07:00
mmiowb.h riscv/barrier: Consolidate fence definitions 2024-03-19 18:52:24 -07:00
mmu_context.h riscv/shstk: If needed allocate a new shadow stack on clone 2026-01-29 02:34:21 -07:00
mmu.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
module.h
module.lds.h module, riscv: force sh_addr=0 for arch-specific sections 2026-05-26 20:45:59 +00:00
numa.h
page.h RISC-V updates for v7.1 2026-04-24 10:00:37 -07:00
paravirt.h riscv/paravirt: Use common code for paravirt_steal_clock() 2026-01-12 16:47:33 +01:00
pci.h
perf_event.h The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
pgalloc.h riscv: pgtable: unconditionally use tlb_remove_ptdesc() 2025-04-01 15:17:14 -07:00
pgtable-32.h RISC-V: Provide pgtable_l5_enabled on rv32 2023-10-31 19:15:50 -07:00
pgtable-64.h riscv: mm: Define MAX_POSSIBLE_PHYSMEM_BITS for zsmalloc 2025-10-17 22:00:29 -06:00
pgtable-bits.h mm: rename uffd-wp PTE bit macros to uffd 2026-08-04 19:18:36 -07:00
pgtable.h mm.git review status for mm-hotfixes-stable..mm-stable 2026-08-20 18:17:08 -07:00
probes.h
processor.h Arm: 2026-08-25 11:48:04 -07:00
ptrace.h riscv: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-16 16:25:30 -06:00
purgatory.h riscv/purgatory: add asm/purgatory.h 2026-06-06 20:17:52 -06:00
qos.h riscv: Add support for srmcfg CSR from Ssqosid extension 2026-08-07 19:24:32 -06:00
runtime-const.h riscv/runtime-const: Disable linker relaxation for RUNTIME_MAGIC 2026-08-04 12:29:45 +02:00
sbi.h riscv: Add SBI debug trigger extension and function ids 2025-12-19 00:22:30 -07:00
scs.h riscv: Remove support for XIP kernel 2026-04-04 18:42:44 -06:00
seccomp.h
sections.h riscv: Check if the code to patch lies in the exit section 2024-01-09 10:58:59 -08:00
semihost.h
set_memory.h riscv: Remove support for XIP kernel 2026-04-04 18:42:44 -06:00
signal32.h
simd.h riscv: vector: allow non-preemptible kernel-mode vector with IRQs off 2026-08-13 13:20:02 +05:30
smp.h riscv: remove redundant check for CONFIG_SMP 2026-04-04 18:42:41 -06:00
soc.h
sparsemem.h RISC-V: Don't have MAX_PHYSMEM_BITS exceed phys_addr_t 2024-09-20 01:32:39 -07:00
spinlock.h riscv: qspinlock: Fixup _Q_PENDING_LOOPS definition 2025-01-08 10:46:01 -08:00
stackprotector.h
stacktrace.h riscv: declare overflow_stack as exported from traps.c 2024-02-07 09:55:27 -08:00
string.h riscv: lib: add strrchr() implementation 2026-04-04 18:42:44 -06:00
suspend.h riscv: Add stimecmp save and restore 2025-03-18 12:59:03 +00:00
swab.h riscv: introduce asm/swab.h 2025-09-18 08:20:25 -06:00
switch_to.h riscv: hwprobe: simplify has_fpu() to check D extension only 2026-09-01 19:20:13 -06:00
sync_core.h membarrier: riscv: Provide core serializing command 2024-02-15 08:04:14 -08:00
syscall_table.h riscv: convert to generic syscall table 2024-07-10 14:23:38 +02:00
syscall_wrapper.h Disable -Wattribute-alias for clang-23 and newer 2026-05-28 06:51:30 -07:00
syscall.h syscall_user_dispatch: Introduce ARCH_SUPPORTS_SYSCALL_USER_DISPATCH 2026-07-14 16:34:07 +02:00
text-patching.h asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
thread_info.h riscv: fix various typos in comments and code 2026-04-04 18:42:39 -06:00
timex.h Treewide timer related cleanups: 2026-08-18 15:58:29 -07:00
tlb.h mm: pgtable: introduce generic __tlb_remove_table() 2025-01-25 20:22:23 -08:00
tlbbatch.h riscv: Add support for BATCHED_UNMAP_TLB_FLUSH 2024-01-11 08:01:53 -08:00
tlbflush.h riscv: mm: Apply Svinval in update_mmu_cache() 2026-08-07 19:24:29 -06:00
topology.h arch, mm: move definition of node_data to generic code 2024-09-03 21:15:28 -07:00
trace.h riscv: Add tracepoints for SBI calls and returns 2024-07-10 13:23:09 -07:00
uaccess.h riscv: kvm: Use endian-specific __lelong for NACL shared memory 2026-06-14 11:09:41 +05:30
unistd.h riscv: convert to generic syscall table 2024-07-10 14:23:38 +02:00
uprobes.h asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
usercfi.h riscv: cfi: reject unknown flags in PR_SET_CFI 2026-06-06 20:17:05 -06:00
vdso.h riscv: vdso: Add symbols for the alternative section boundaries 2026-08-07 19:24:33 -06:00
vector.h RISC-V: KVM: fix vcpu vector context handling for kernel-mode vector 2026-08-13 13:20:02 +05:30
vendor_extensions.h riscv: cpufeature: Extract common elements from extension checking 2024-07-22 15:36:57 -07:00
vendorid_list.h riscv: Update MIPS vendor id to 0x127 2025-11-15 15:27:02 -07:00
vermagic.h
vmalloc.h riscv: Add license to vmalloc.h 2024-09-03 07:18:34 -07:00
word-at-a-time.h kernel.h: removed REPEAT_BYTE from kernel.h 2024-02-01 09:47:59 -08:00