Backport TDX support for KVM

Merge Request Required Information

Summary of Changes

This is the main 9.7 backport for KVM, including TDX support (from Linux 6.16, currently in https://git.kernel.org/pub/scm/virt/kvm/kvm.git) and required prerequisites.

Most of the non-TDX-specific changes were merged in 9.6 already, but the TDX patches ended up depending on more recent commits over the last weeks before they were accepted. These non-TDX-specific changes are in the first ~30 patches, up to "x86/irq: Remove bitfields in posted interrupt descriptor". With these commits, the large TDX series applies with almost no conflict.

Note that TDX support is actually not enabled by this MR, because it also depends on kexec support for TDX which is not ready yet. However, this is by far the most invasive of the two parts, and the combination has already been tested in the CentOS Virtualization SIG.

Approved Development Ticket(s)

JIRA: https://issues.redhat.com/browse/RHEL-15711
JIRA: https://issues.redhat.com/browse/RHEL-95318
Depends: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/6542
Depends: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/6691
Omitted-fix: 4dbe28c0fabd6 ("rust: add helper for mutex_trylock")
Omitted-fix: ddc592972ff4f (no need since there are no selftests changes yet)
Omitted-fix: c126b46e6fa87 (just an optimization)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Edited by Paolo Bonzini

Merge request reports

Loading