linux-yocto/scripts
Linus Torvalds 43db111107 ARM:
* Add large stage-2 mapping (THP) support for non-protected guests when
   pKVM is enabled, clawing back some performance.
 
 * Enable nested virtualisation support on systems that support it,
   though it is disabled by default.
 
 * Add UBSAN support to the standalone EL2 object used in nVHE/hVHE and
   protected modes.
 
 * Large rework of the way KVM tracks architecture features and links
   them with the effects of control bits. While this has no functional
   impact, it ensures correctness of emulation (the data is automatically
   extracted from the published JSON files), and helps dealing with the
   evolution of the architecture.
 
 * Significant changes to the way pKVM tracks ownership of pages,
   avoiding page table walks by storing the state in the hypervisor's
   vmemmap. This in turn enables the THP support described above.
 
 * New selftest checking the pKVM ownership transition rules
 
 * Fixes for FEAT_MTE_ASYNC being accidentally advertised to guests
   even if the host didn't have it.
 
 * Fixes for the address translation emulation, which happened to be
   rather buggy in some specific contexts.
 
 * Fixes for the PMU emulation in NV contexts, decoupling PMCR_EL0.N
   from the number of counters exposed to a guest and addressing a
   number of issues in the process.
 
 * Add a new selftest for the SVE host state being corrupted by a
   guest.
 
 * Keep HCR_EL2.xMO set at all times for systems running with the
   kernel at EL2, ensuring that the window for interrupts is slightly
   bigger, and avoiding a pretty bad erratum on the AmpereOne HW.
 
 * Add workaround for AmpereOne's erratum AC04_CPU_23, which suffers
   from a pretty bad case of TLB corruption unless accesses to HCR_EL2
   are heavily synchronised.
 
 * Add a per-VM, per-ITS debugfs entry to dump the state of the ITS
   tables in a human-friendly fashion.
 
 * and the usual random cleanups.
 
 LoongArch:
 
 * Don't flush tlb if the host supports hardware page table walks.
 
 * Add KVM selftests support.
 
 RISC-V:
 
 * Add vector registers to get-reg-list selftest
 
 * VCPU reset related improvements
 
 * Remove scounteren initialization from VCPU reset
 
 * Support VCPU reset from userspace using set_mpstate() ioctl
 
 x86:
 
 * Initial support for TDX in KVM.  This finally makes it possible to use the
   TDX module to run confidential guests on Intel processors.  This is quite a
   large series, including support for private page tables (managed by the
   TDX module and mirrored in KVM for efficiency), forwarding some TDVMCALLs
   to userspace, and handling several special VM exits from the TDX module.
 
   This has been in the works for literally years and it's not really possible
   to describe everything here, so I'll defer to the various merge commits
   up to and including commit 7bcf7246c4 ("Merge branch 'kvm-tdx-finish-initial'
   into HEAD").
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmg02hwUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroNnkwf/db4xeWKSMseCIvBVR+ObDn3LXhwT
 hAgmTkDkP1zq9RfbfJSbUA1DXRwfP+f1sWySLMWECkFEQW9fGIJF9fOQRDSXKmhX
 158U3+FEt+3jxLRCGFd4zyXAqyY3C8JSkPUyJZxCpUbXtB5tdDNac4rZAXKDULwe
 sUi0OW/kFDM2yt369pBGQAGdN+75/oOrYISGOSvMXHxjccNqvveX8MUhpBjYIuuj
 73iBWmsfv3vCtam56Racz3C3v44ie498PmWFtnB0R+CVfWfrnUAaRiGWx+egLiBW
 dBPDiZywMn++prmphEUFgaStDTQy23JBLJ8+RvHkp+o5GaTISKJB3nedZQ==
 =adZU
 -----END PGP SIGNATURE-----

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

Pull kvm updates from Paolo Bonzini:
 "As far as x86 goes this pull request "only" includes TDX host support.

  Quotes are appropriate because (at 6k lines and 100+ commits) it is
  much bigger than the rest, which will come later this week and
  consists mostly of bugfixes and selftests. s390 changes will also come
  in the second batch.

  ARM:

   - Add large stage-2 mapping (THP) support for non-protected guests
     when pKVM is enabled, clawing back some performance.

   - Enable nested virtualisation support on systems that support it,
     though it is disabled by default.

   - Add UBSAN support to the standalone EL2 object used in nVHE/hVHE
     and protected modes.

   - Large rework of the way KVM tracks architecture features and links
     them with the effects of control bits. While this has no functional
     impact, it ensures correctness of emulation (the data is
     automatically extracted from the published JSON files), and helps
     dealing with the evolution of the architecture.

   - Significant changes to the way pKVM tracks ownership of pages,
     avoiding page table walks by storing the state in the hypervisor's
     vmemmap. This in turn enables the THP support described above.

   - New selftest checking the pKVM ownership transition rules

   - Fixes for FEAT_MTE_ASYNC being accidentally advertised to guests
     even if the host didn't have it.

   - Fixes for the address translation emulation, which happened to be
     rather buggy in some specific contexts.

   - Fixes for the PMU emulation in NV contexts, decoupling PMCR_EL0.N
     from the number of counters exposed to a guest and addressing a
     number of issues in the process.

   - Add a new selftest for the SVE host state being corrupted by a
     guest.

   - Keep HCR_EL2.xMO set at all times for systems running with the
     kernel at EL2, ensuring that the window for interrupts is slightly
     bigger, and avoiding a pretty bad erratum on the AmpereOne HW.

   - Add workaround for AmpereOne's erratum AC04_CPU_23, which suffers
     from a pretty bad case of TLB corruption unless accesses to HCR_EL2
     are heavily synchronised.

   - Add a per-VM, per-ITS debugfs entry to dump the state of the ITS
     tables in a human-friendly fashion.

   - and the usual random cleanups.

  LoongArch:

   - Don't flush tlb if the host supports hardware page table walks.

   - Add KVM selftests support.

  RISC-V:

   - Add vector registers to get-reg-list selftest

   - VCPU reset related improvements

   - Remove scounteren initialization from VCPU reset

   - Support VCPU reset from userspace using set_mpstate() ioctl

  x86:

   - Initial support for TDX in KVM.

     This finally makes it possible to use the TDX module to run
     confidential guests on Intel processors. This is quite a large
     series, including support for private page tables (managed by the
     TDX module and mirrored in KVM for efficiency), forwarding some
     TDVMCALLs to userspace, and handling several special VM exits from
     the TDX module.

     This has been in the works for literally years and it's not really
     possible to describe everything here, so I'll defer to the various
     merge commits up to and including commit 7bcf7246c4 ('Merge
     branch 'kvm-tdx-finish-initial' into HEAD')"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (248 commits)
  x86/tdx: mark tdh_vp_enter() as __flatten
  Documentation: virt/kvm: remove unreferenced footnote
  RISC-V: KVM: lock the correct mp_state during reset
  KVM: arm64: Fix documentation for vgic_its_iter_next()
  KVM: arm64: np-guest CMOs with PMD_SIZE fixmap
  KVM: arm64: Stage-2 huge mappings for np-guests
  KVM: arm64: Add a range to pkvm_mappings
  KVM: arm64: Convert pkvm_mappings to interval tree
  KVM: arm64: Add a range to __pkvm_host_test_clear_young_guest()
  KVM: arm64: Add a range to __pkvm_host_wrprotect_guest()
  KVM: arm64: Add a range to __pkvm_host_unshare_guest()
  KVM: arm64: Add a range to __pkvm_host_share_guest()
  KVM: arm64: Introduce for_each_hyp_page
  KVM: arm64: Handle huge mappings for np-guest CMOs
  KVM: arm64: nv: Release faulted-in VNCR page from mmu_lock critical section
  KVM: arm64: nv: Handle TLBI S1E2 for VNCR invalidation with mmu_lock held
  KVM: arm64: nv: Hold mmu_lock when invalidating VNCR SW-TLB before translating
  RISC-V: KVM: add KVM_CAP_RISCV_MP_STATE_RESET
  RISC-V: KVM: Remove scounteren initialization
  KVM: RISC-V: remove unnecessary SBI reset state
  ...
2025-05-29 08:10:01 -07:00
..
atomic locking/atomic: scripts: fix ${atomic}_sub_and_test() kerneldoc 2024-06-05 15:52:34 +02:00
bash-completion kbuild: add Kbuild bash completion 2025-03-15 21:22:52 +09:00
basic integer-wrap: Force full rebuild when .scl file changes 2025-05-08 09:42:06 -07:00
clang-tools gen_compile_commands.py: remove code for '\#' replacement 2025-03-15 21:16:21 +09:00
coccinelle - The 7 patch series "powerpc/crash: use generic crashkernel 2025-04-01 10:06:52 -07:00
dtc dt: dt-extract-compatibles: Extract compatibles from function parameters 2024-09-05 10:17:03 -05:00
dummy-tools kbuild: dummy-tools: pretend we understand -fpatchable-function-entry 2023-11-01 23:24:56 +09:00
gcc-plugins randstruct: gcc-plugin: Remove bogus void member 2025-05-08 09:42:40 -07:00
gdb x86/mm/64: Always use dynamic memory layout 2025-05-17 10:33:44 +02:00
gendwarfksyms gendwarfksyms: Add a separate pass to resolve FQNs 2025-03-15 21:16:11 +09:00
genksyms genksyms: Handle typeof_unqual keyword and __seg_{fs,gs} qualifiers 2025-04-14 09:19:04 +02:00
include scripts: import more list macros 2024-10-07 02:12:27 +09:00
ipe scripts: ipe: polgen: remove redundant close and error exit path 2024-11-19 13:57:03 -08:00
kconfig kconfig: merge_config: use an empty file as initfile 2025-04-06 06:22:01 +09:00
ksymoops
lib scripts: kernel-doc: prevent a KeyError when checking output 2025-05-21 03:53:40 -06:00
mod Disable SLUB_TINY for build testing 2025-04-06 10:00:04 -07:00
package kbuild: rpm-pkg: Add (elfutils-devel or libdw-devel) to BuildRequires 2025-05-12 15:03:17 +09:00
selinux selinux: Chain up tool resolving errors in install_policy.sh 2025-03-07 14:38:34 -05:00
tracing scripts/tracing: Remove scripts/tracing/draw_functrace.py 2025-03-20 07:02:21 -04:00
.gitignore lib: packing: add pack_fields() and unpack_fields() 2024-12-11 20:13:00 -08:00
as-version.sh
asn1_compiler.c
bloat-o-meter
bootgraph.pl
bpf_doc.py scripts/bpf_doc.py: implement json output format 2025-05-09 11:31:23 -07:00
build-version kbuild: move init/build-version to scripts/ 2024-07-16 01:08:37 +09:00
cc-can-link.sh
cc-version.sh
check_extable.sh
check-git
check-sysctl-docs scripts: check-sysctl-docs: handle per-namespace sysctls 2024-02-23 12:13:09 +01:00
check-uapi.sh check-uapi: Introduce check-uapi.sh 2023-12-29 22:25:20 +09:00
check-variable-fonts.sh docs: scripts/check-variable-fonts.sh: Improve commands for detection 2024-05-02 10:14:52 -06:00
checkdeclares.pl
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl Networking changes for 6.16. 2025-05-28 15:24:36 -07:00
checkstack.pl scripts/checkstack.pl: fix no space expression between sp and offset 2023-12-29 12:22:28 -08:00
checksyscalls.sh
checktransupdate.py scripts: fix all issues reported by pylint 2024-07-29 15:34:22 -06:00
checkversion.pl
cleanfile
cleanpatch
coccicheck kbuild: change working directory to external module directory with M= 2024-11-28 08:10:23 +09:00
config kbuild: fix argument parsing in scripts/config 2025-03-15 21:22:42 +09:00
const_structs.checkpatch const_structs.checkpatch: add ctl_table 2024-10-09 13:39:11 +02:00
decode_stacktrace.sh scripts/decode_stacktrace.sh: fix decoding of lines with an additional info 2025-01-12 19:03:34 -08:00
decodecode scripts/decodecode: add support for LoongArch 2023-12-29 12:22:25 -08:00
depmod.sh kbuild: add $(objtree)/ prefix to some in-kernel build artifacts 2024-11-27 09:38:27 +09:00
dev-needs.sh
diffconfig
documentation-file-ref-check scripts/documentation-file-ref-check: don't check perl/python scripts 2025-02-10 11:19:56 -07:00
extract_xc3028.pl
extract-fwblobs scripts: add script to extract built-in firmware blobs 2025-03-16 22:30:46 -07:00
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
faddr2line Revert "scripts/faddr2line: Check only two symbols when calculating symbol size" 2024-10-17 15:16:04 -07:00
file-size.sh
find-unused-docs.sh scripts/kernel-doc.py: don't create *.pyc files 2025-04-24 10:12:46 -06:00
gen_packed_field_checks.c lib: packing: add pack_fields() and unpack_fields() 2024-12-11 20:13:00 -08:00
gen-crc-consts.py riscv/crc: add "template" for Zbc optimized CRC functions 2025-03-10 09:29:08 -07:00
gen-randstruct-seed.sh
generate_builtin_ranges.awk kbuild: exclude .rodata.(cst|str)* when building ranges 2025-03-15 21:22:52 +09:00
generate_initcall_order.pl
generate_rust_analyzer.py scripts: generate_rust_analyzer: Add ffi crate 2025-04-08 19:47:06 +02:00
generate_rust_target.rs ARM and clkdev updates for 6.15-rc1 2025-04-03 12:21:44 -07:00
get_abi.py scripts/get_abi.py: add support for undefined ABIs 2025-02-10 11:19:57 -07:00
get_dvb_firmware
get_feat.pl scripts: get_feat.pl: substitute s390x with s390 2025-03-12 16:25:50 -06:00
get_maintainer.pl get_maintainer: stop reporting subsystem status as maintainer role 2025-03-16 22:30:49 -07:00
gfp-translate scripts: fix gfp-translate after ___GFP_*_BITS conversion to an enum 2024-09-01 17:59:01 -07:00
git.orderFile scripts: Introduce a default git.orderFile 2023-12-29 22:25:20 +09:00
head-object-list.txt openrisc: place exception table at the head of vmlinux 2024-12-10 12:04:19 +00:00
headerdep.pl
headers_install.sh m68k: Avoid CONFIG_COLDFIRE switch in uapi header 2024-05-07 08:55:23 +10:00
insert-sys-cert.c
install.sh kbuild: Create INSTALL_PATH directory if it does not exist 2024-07-20 13:34:54 +09:00
integer-wrap-ignore.scl ubsan/overflow: Enable ignorelist parsing and add type filter 2025-03-07 19:58:05 -08:00
jobserver-exec
kallsyms.c kallsyms: Remove KALLSYMS_ABSOLUTE_PERCPU 2025-02-18 10:16:04 +01:00
Kbuild.include kbuild: add $(objtree)/ prefix to some in-kernel build artifacts 2024-11-27 09:38:27 +09:00
Kconfig.include kbuild: rust: add CONFIG_RUSTC_LLVM_VERSION 2024-10-13 22:22:28 +02:00
kernel-doc scripts/kernel-doc: switch to use kernel-doc.py 2025-04-09 12:10:34 -06:00
kernel-doc.pl scripts: kernel-doc: fix parsing function-like typedefs (again) 2025-04-09 12:10:34 -06:00
kernel-doc.py scripts/kernel_doc.py: better handle exported symbols 2025-04-09 12:10:34 -06:00
ld-version.sh kbuild: Make ld-version.sh more robust against version string changes 2024-07-15 03:13:32 +09:00
leaking_addresses.pl leaking_addresses: Provide mechanism to scan binary files 2024-02-29 13:38:03 -08:00
Lindent
link-vmlinux.sh Kbuild updates for v6.15 2025-04-05 15:46:50 -07:00
macro_checker.py scripts: add macro_checker script to check unused parameters in macros 2024-09-01 20:43:28 -07:00
make_fit.py scripts/make_fit: Print DT name before libfdt errors 2025-03-27 14:03:32 -05:00
Makefile Kbuild updates for v6.14 2025-01-31 12:07:07 -08:00
Makefile.asm-headers kbuild: fix rebuild of generic syscall headers 2024-07-18 10:01:55 -07:00
Makefile.autofdo AutoFDO: Enable machine function split optimization for AutoFDO 2024-11-27 09:38:27 +09:00
Makefile.btf kbuild, bpf: Enable --btf_features=attributes 2025-04-15 11:17:50 -07:00
Makefile.build scripts/kernel-doc.py: don't create *.pyc files 2025-04-24 10:12:46 -06:00
Makefile.clang kbuild: clang: Support building UM with SUBARCH=i386 2025-03-04 09:40:13 -08:00
Makefile.clean kbuild: change working directory to external module directory with M= 2024-11-28 08:10:23 +09:00
Makefile.compiler Make 'cc-option' work correctly for the -Wno-xyzzy pattern 2025-05-27 14:35:51 -07:00
Makefile.debug kbuild: rust: use -Zdebuginfo-compression 2024-04-02 17:41:22 +02:00
Makefile.defconf kbuild: suppress stdout from merge_config for silent builds 2025-01-10 23:01:21 +09:00
Makefile.dtbinst kbuild: Install dtb files as 0644 in Makefile.dtbinst 2024-06-26 00:18:57 +09:00
Makefile.dtbs kbuild: move non-boot built-in DTBs to .rodata section 2024-09-30 20:42:52 +09:00
Makefile.extrawarn hardening updates for v6.16-rc1 2025-05-28 07:47:10 -07:00
Makefile.gcc-plugins gcc-plugins: Force full rebuild when plugins change 2025-05-08 09:42:06 -07:00
Makefile.headersinst
Makefile.host kbuild: support building external modules in a separate build directory 2024-11-28 08:11:55 +09:00
Makefile.kasan kbuild: rust: Enable KASAN support 2024-09-16 18:04:37 +02:00
Makefile.kcov
Makefile.kcsan
Makefile.kmsan
Makefile.lib gcc-plugins: Force full rebuild when plugins change 2025-05-08 09:42:06 -07:00
Makefile.modfinal kbuild: re-enable KCSAN for autogenerated *.mod.c intermediaries 2024-11-28 08:11:55 +09:00
Makefile.modinst kbuild: Fix signing issue for external modules 2025-01-18 08:52:09 +09:00
Makefile.modpost modpost: Allow extended modversions without basic MODVERSIONS 2025-01-11 02:36:32 +09:00
Makefile.package kbuild: rpm-pkg: disable kernel-devel package when cross-compiling 2024-10-31 21:40:46 +09:00
Makefile.propeller kbuild: Fix Propeller build option 2024-11-27 09:38:27 +09:00
Makefile.randstruct
Makefile.ubsan ARM: 2025-05-29 08:10:01 -07:00
Makefile.userprogs kbuild: support 'userldlibs' syntax 2023-11-01 23:26:01 +09:00
Makefile.vdsoinst more s390 updates for 6.10 merge window 2024-05-21 12:09:36 -07:00
Makefile.vmlinux kbuild: fix typos "module.builtin" to "modules.builtin" 2025-05-12 15:04:52 +09:00
Makefile.vmlinux_o kbuild: fix typos "module.builtin" to "modules.builtin" 2025-05-12 15:04:52 +09:00
makelst
markup_oops.pl
min-tool-version.sh x86/build: Raise the minimum LLVM version to 15.0.0 2025-02-21 14:08:16 +01:00
misc-check
mkcompile_h
mksysmap scripts/mksysmap: Fix escape chars '$' 2024-12-28 23:23:52 +09:00
mkuboot.sh
module-common.c kbuild: compile constant module information only once 2024-09-07 17:24:08 +09:00
module.lds.S kbuild: keep symbols for symbol_get() even with CONFIG_TRIM_UNUSED_KSYMS 2025-02-06 01:08:58 +09:00
modules-check.sh
nsdeps scripts/nsdeps: get 'make nsdeps' working again 2024-12-03 08:22:25 -08:00
objdiff
objdump-func
orc_hash.sh
pahole-version.sh
parse-maintainers.pl
patch-kernel
profile2linkerlist.pl
prune-kernel
recordmcount.c scripts: clean up IA-64 code 2023-12-03 18:51:48 +09:00
recordmcount.h
recordmcount.pl riscv: remove MCOUNT_NAME workaround 2024-02-22 15:38:54 -08:00
relocs_check.sh
remove-stale-files selinux: move genheaders to security/selinux/ 2024-10-03 16:07:51 -04:00
rust_is_available_bindgen_0_66.h rust: warn about bindgen versions 0.66.0 and 0.66.1 2024-07-10 10:28:52 +02:00
rust_is_available_bindgen_libclang_concat.h rust: warn on bindgen < 0.69.5 and libclang >= 19.1 2024-11-12 21:26:54 +01:00
rust_is_available_bindgen_libclang.h
rust_is_available_test.py rust: warn on bindgen < 0.69.5 and libclang >= 19.1 2024-11-12 21:26:54 +01:00
rust_is_available.sh rust: document bindgen 0.71.0 regression 2025-01-10 00:17:00 +01:00
rustc-llvm-version.sh kbuild: rust: avoid errors with old rustcs without LLVM patch version 2024-10-28 00:27:16 +01:00
rustc-version.sh kbuild: rust: add CONFIG_RUSTC_VERSION 2024-09-05 22:44:18 +02:00
rustdoc_test_builder.rs
rustdoc_test_gen.rs Rust changes for v6.15 2025-03-30 17:03:26 -07:00
setlocalversion setlocalversion: add -e option 2024-11-28 08:11:56 +09:00
show_delta scripts: make python shebangs specific about desired version 2025-03-15 21:19:44 +09:00
sign-file.c sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
sorttable.c scripts/sorttable: Fix endianness handling in build-time mcount sort 2025-04-02 09:51:26 -04:00
spdxcheck-test.sh
spdxcheck.py scripts/spdxcheck: Handle license identifiers in Jinja comments 2025-01-08 15:38:33 +01:00
spdxexclude
spelling.txt kernel-wide: add explicity||explicitly to spelling.txt 2025-01-12 20:21:06 -08:00
sphinx-pre-install scripts: sphinx-pre-install: remove unnecessary double check for $cur_version 2024-09-05 14:32:36 -06:00
split-man.pl
ssl-common.h sign-file,extract-cert: avoid using deprecated ERR_get_error_line() 2024-09-20 19:49:52 +03:00
stackdelta
stackusage
subarch.include scripts: subarch.include: fix SUBARCH on macOS hosts 2024-09-10 13:56:37 +09:00
syscall.tbl fs: add open_tree_attr() 2025-02-12 12:12:28 +01:00
syscallhdr.sh
syscallnr.sh
syscalltbl.sh x86/syscall: Mark exit[_group] syscall handlers __noreturn 2024-06-28 15:23:38 +02:00
tags.sh scripts/tags.sh: tag SYM_*START*() assembler symbols 2025-02-20 15:24:09 +01:00
tools-support-relr.sh
unifdef.c scripts/unifdef: avoid constexpr keyword 2024-04-23 00:09:41 +09:00
ver_linux
verify_builtin_ranges.awk scripts: add verifier script for builtin module range data 2024-09-20 09:21:52 +09:00
xen-hypercalls.sh
xz_wrap.sh xz: adjust arch-specific options for better kernel compression 2024-09-01 20:43:27 -07:00