linux/arch/riscv/include/asm
Linus Torvalds b4b760b59f RISC-V:
- Avoid redundant allocations when allocating IMSIC page tables
 
 - Apply SBI FWFT LOCK flag only on successful set
 
 - Bound SBI PMU counter mask scan to BITS_PER_LONG, since on RV32
   the PMU SBI start/stop helper can only access 32 PMU counters.
 
 - Skip TLB flush when G-stage PTE becomes valid if the Svvptc
   extension is available.
 
 - Always show Zicbo[m|z|p] block sizes in ONE_REG
 
 - Inject instruction access fault on unmapped guest fetch
 
 - Use raw spinlock for irqs_pending and irqs_pending_mask
 
 - Fix Spectre-v1 in vector register access via ONE_REG
 
 x86:
 
 - Fixes to SEV selftests.
 
 - Once free_nested() did a VMCLEAR of shadow VMCS, there's no need to VMCLEAR it
   again if the kernel is preempted and thread migration happens
 
 - Preserve nested TDP shadow page tables if they are used as roots, instead of
   clearing them unnecessarily
 
 - Fix use of stale data if out-of-memory happens after vendor module reload
 
 - Check for invalid/obsolete root *after* making MMU pages available, because
   the latter can make a page invalid
 
 - Only reset TSC Deadline Timer in apic_timer_expired on KVM_RUN
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmpfSUwUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroOrWQf/S8Za6t7bZbQbJHDV0NXCKufpyKyz
 l6WMsLGdn4LFLNqCtKhvQf5lEZ5PKRHFTGoWrO1wQSbREHRUCnfMD5lsSKQA4Grf
 0QpQ6YBjXFv6zg0M456/Q/S1oyusyqkXXBS8BxlBQyfqR+ByKx8f4PXTGazfUua3
 4SPHr5TUxr6CXy8715OQUGa1Xdf0/5d3OseiAgBwqM31yZPhK0tsar77Cd9P93bs
 DC+FzfphHg0gb3s/xSfuVR0BPnqHvQMDF9rS/YKgJgJdZkzHXCo7muWRQmHWK+FR
 Q2zOTWSlJATQucC0+2j1yj2Wdhg1itgZTfj/8RaIDRKbmjk0S1bLc3bamg==
 =Svds
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini:
 "RISC-V:

   - Avoid redundant allocations when allocating IMSIC page tables

   - Apply SBI FWFT LOCK flag only on successful set

   - Bound SBI PMU counter mask scan to BITS_PER_LONG, since on RV32 the
     PMU SBI start/stop helper can only access 32 PMU counters.

   - Skip TLB flush when G-stage PTE becomes valid if the Svvptc
     extension is available.

   - Always show Zicbo[m|z|p] block sizes in ONE_REG

   - Inject instruction access fault on unmapped guest fetch

   - Use raw spinlock for irqs_pending and irqs_pending_mask

   - Fix Spectre-v1 in vector register access via ONE_REG

  x86:

   - Fixes to SEV selftests

   - Once free_nested() did a VMCLEAR of shadow VMCS, there's no need to
     VMCLEAR it again if the kernel is preempted and thread migration
     happens

   - Preserve nested TDP shadow page tables if they are used as roots,
     instead of clearing them unnecessarily

   - Fix use of stale data if out-of-memory happens after vendor module
     reload

   - Check for invalid/obsolete root *after* making MMU pages available,
     because the latter can make a page invalid

   - Only reset TSC Deadline Timer in apic_timer_expired on KVM_RUN"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: x86: Only reset TSC Deadline Timer in apic_timer_expired on KVM_RUN
  KVM: selftests: sev_init2_tests: Derive SEV availability from KVM
  KVM: selftests: sev_smoke_test: Only run VM types the host offers
  KVM: x86/mmu: Fix use-after-free on vendor module reload
  KVM: x86/mmu: Preserve nested TDP shadow page tables if they are used as roots
  KVM: x86: Check for invalid/obsolete root *after* making MMU pages available
  KVM: nVMX: Hide shadow VMCS right after VMCLEAR
  KVM: riscv: Fix Spectre-v1 in vector register access
  RISC-V: KVM: Serialize virtual interrupt pending state updates
  RISC-V: KVM: Inject instruction access fault on unmapped guest fetch
  RISC-V: KVM: Zicbo[m|z|p] block sizes should be always present in ONE_REG
  riscv: kvm: Skip TLB flush when G-stage PTE becomes valid with Svvptc
  KVM: riscv: PMU: Bound counter mask scan to BITS_PER_LONG
  KVM: riscv: SBI FWFT: Apply LOCK flag only on successful set
  RISC-V: KVM: Avoid redundant page-table allocations in ioremap topup
2026-07-21 08:26:21 -07:00
..
vdso riscv: vdso: Drop CONFIG_GENERIC_TIME_VSYSCALL guard around syscall fallbacks 2026-06-02 21:41:23 +02: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 ACPI: PPTT: Use acpi_get_cpu_uid() and remove get_acpi_id_for_cpu() 2026-04-06 16:55:16 +02: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: asm: use .insn for making custom instructions 2025-10-27 18:58:37 -06: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 Merge commit 'linus' into core/bugs, to resolve conflicts 2025-08-05 11:15:34 +02: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 riscv_has_extension_likely 2025-11-19 09:19:28 -07: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.h riscv: csr: define vtype register elements 2026-02-09 15:27:33 -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: Move early dtb mapping into the fixmap region 2023-04-13 18:14:26 -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: zicfiss / zicfilp enumeration 2026-01-25 21:09:53 -07:00
hwprobe.h riscv: hwprobe: add support for RISCV_HWPROBE_KEY_IMA_EXT_1 2026-01-29 02:38:40 -07: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 RISC-V: KVM: AIA: Make HGEI number management fully per-CPU 2026-05-26 09:05:10 +05:30
kvm_gstage.h KVM: riscv: Add a G-stage PTE cmpxchg helper 2026-06-03 18:19:57 +05:30
kvm_host.h RISC-V: KVM: Serialize virtual interrupt pending state updates 2026-07-15 13:37:48 +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 RISC-V: KVM: Improve ISA extension by using a bitmap 2022-07-29 17:14:11 +05:30
kvm_vcpu_insn.h RISC-V: KVM: Add extensible CSR emulation framework 2022-07-29 17:14:53 +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 MPXY extension support for Guest 2025-11-24 09:55:36 +05:30
kvm_vcpu_timer.h RISC-V: KVM: Fix kvm_riscv_vcpu_timer_pending() for Sstc 2022-10-21 11:52:45 +05:30
kvm_vcpu_vector.h KVM: RISC-V: refactor vector state reset 2025-05-21 09:34:46 +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 riscv: module: move find_section to module.h 2023-01-31 23:29:39 -08:00
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 RISC-V Patches for the 5.20 Merge Window, Part 1 2022-08-06 15:04:48 -07:00
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 riscv: mm: add userfaultfd write-protect support 2025-11-24 15:08:55 -08:00
pgtable.h riscv: mm: Define DIRECT_MAP_PHYSMEM_END 2026-06-06 23:48:15 -06:00
probes.h
processor.h riscv: fix various typos in comments and code 2026-04-04 18:42:39 -06: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
runtime-const.h riscv: make runtime const not usable by modules 2026-04-04 18:37:31 -06: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 riscv: Implement semihost.h for earlycon semihost driver 2023-01-19 14:58:19 +01:00
set_memory.h riscv: Remove support for XIP kernel 2026-04-04 18:42:44 -06:00
signal32.h
simd.h riscv: vector: Fix a typo of preempt_v 2024-03-15 10:17:38 -07:00
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 stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
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: vector: Support xtheadvector save/restore 2025-01-18 12:33:33 -08: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 riscv: fix minor typo in syscall.h comment 2026-01-25 21:08:59 -07: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 init: consolidate prototypes in linux/init.h 2023-06-09 17:44:16 -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 mm: remove arch_flush_tlb_batched_pending() arch helper 2025-07-24 19:12:32 -07: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: Always declare vdso_start symbols 2026-06-07 01:43:24 -06:00
vector.h riscv: signal: abstract header saving for setup_sigcontext 2025-12-19 00:18:33 -07:00
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