<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in msrs.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>67f8bc848ee31831336bd478e57d2f993551902e - Merge drm/drm-fixes into drm-misc-fixes</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#67f8bc848ee31831336bd478e57d2f993551902e</link>
        <description>Merge drm/drm-fixes into drm-misc-fixesLet&apos;s start the 7.3 drm-misc-fixes cycle.Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Tue, 01 Sep 2026 09:38:51 +0200</pubDate>
        <dc:creator>Maxime Ripard &lt;mripard@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>7bb6284aa7b3c369b41e7f33fcbe193161f008e7 - Merge tag &apos;for-linus&apos; of git://git.kernel.org/pub/scm/virt/kvm/kvm</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#7bb6284aa7b3c369b41e7f33fcbe193161f008e7</link>
        <description>Merge tag &apos;for-linus&apos; of git://git.kernel.org/pub/scm/virt/kvm/kvmPull kvm updates from Paolo Bonzini: &quot;ARM64:   - Add support for &apos;slot&apos; based PMU events, paired with new UAPI that     compels the user to select a specific PMU implementation   - Lazy save/restore of vCPU state for pKVM, along with various fixes     and cleanups to the management of vCPU state between the untrusted     host and pKVM hypervisor   - Disable traps of EL1 registers for nested hypervisors when     FEAT_NV2p1 is present, guaranteeing that EL2-specific register bits     are stateful in the EL1 counterpart   - Leverage FEAT_NV3 to avoid unnecessary ERET/TLBI traps when the     scope of those instructions remains &apos;in host&apos; (i.e. L1     kernel/userspace)   - Pile of fixes for the management of the VNCR pseudo-TLB, such as     under-invalidations and races with concurrent TLBIs on other vCPUs   - Consolidate the non-protected and pKVM view of ICH_VTR_EL2 to a     runtime-patched constant, allowing the same data to be shared with     pKVM prior to dropping host privileges   - Considerable pile of LLM-assisted fixes around the shop but mostly     in the VGIC, our in-kernel generator of bugs (and sometimes     interrupts)  LoongArch:   - Advertise already-supported capabilities   - Some bug fixes about timer and MMIO   - Some hardening about interrupt injection   - Replace kvm_err() with kvm_pr_unimpl()   - Add FPU/LSX/LASX test cases for selftests  RISC-V:   - Svadu/Zicfiss/Zicfilp FWFT support for Guest   - Use try_cmpxchg for IMSIC MRIF RMW   - More arch-specific tracepoints in KVM RISC-V   - Eager page splitting when enabling dirty logging   - Optimize hfence request handling for SMP Guests   - Improve dirty log clearing by skipping zero bits in mask   - Guard HFENCE range loops against overflow   - CPU PM notifiers in KVM RISC-V for non-retentive idle states   - Fix kernel-mode vector context save/restore for Guest  s390:   - Fixes for vfio-ap   - Fixes for the gmap rework   - Fixes for vsie   - AI triggered fixes all over   - diag9c tracing   - code move preparation for the additional arm64 support   - enable CONTEXT_ANALYSIS  x86:   - Perform spring cleaning on x86.{c,h} and asm/kvm_host.h, by adding     regs.c (the kvm_cache_regs.h =&gt; regs.h is already applied) and     msrs.{c,h}, and moving relevant code out of x86.c   - Split kvm_mmu in three parts, respectively to describe the format     of page tables, walking the guest page tables and building the page     tables. Always use the same page table walker kvm-&gt;arch.gva_walk as     the entry point to convert a guest&apos;s virtual address, where the     previous code used two different kvm_mmu structs depending on     whether the walk included nested EPT/NPT or not. Make page fault     vmexits reuse the permission checking machinery that is used for     guest page faults. This is both a cleanup and a baby step towards     supporting XS/XU memory permissions   - Document some of the &quot;fun&quot; gotchas with the APIC base when creating     IRQCHIPs on x86   - Remove a defunct masterclock update from kvm_xen_shared_info_init().     It could result in incorrect kvmclock due to triggering an     unnecessary switch to/from masterclock mode   - Skip Xen runstate time updates if time has effectively gone     backwards, so that the guest doesn&apos;t report 100% steal time for     a very, very long time   - Drop KVM&apos;s runtime updates of the Xen PV timing CPUID leaf, as KVM     was updating the wrong sub-leaf, and upstream KVM will soon provide     all the information needed by userspace to populate the CPUID field     itself   - Fix a bug where KVM would walk a newly created rmap without holding     the rmap lock (or mmu_lock) during aging   - Fix a bug where aging TDP MMU SPTEs could clobber FROZEN SPTEs   - Fix a variety of #DB priority bugs   - Fix a class of races related to enabling Hyper-V emulation on a     vCPU after the vCPU is visible to the rest of KVM   - Use static calls for nested virtualization ops   - Move more KVM-internal code out of x86&apos;s kvm_host.h   - Enumerate support for a variety of Zhaoxin instructions that don&apos;t     require explicit virtualization   - Fix missing EFER validation bugs, including in the KVM_SET_SREGS*     path   - Harden kvm_vcpu_map() against double-mapping and thus leaking     references   - Misc fixes and cleanups, e.g. for largely benign syzkaller splats  x86 (Intel):   - Zero a vCPU&apos;s entry in VMX&apos;s Posted Interrupt Descriptor table used     for IPI virtualization when the vCPU is freed, to fix a     use-after-free where hardware will write to a freed vCPU&apos;s PID   - Service local TLB flushes on a failed nested VM-Enter to fix a bug     where KVM could miss a TLB on a future, successful VM-Enter with     the same L2 VPID   - Cap the maximum value shoved into the VMX Preemption Timer to     workaround an erratum that affects all existing Intel CPUs that     support CPUID 0x15   - Fix VPID virtualization bugs where KVM would fail to flush hardware     TLBs   - Harden the TDX &quot;populate&quot; ioctls against bad input, and to prepare     for supporting in-place private&lt;=&gt;shared conversion  x86 (AMD):   - Forcefully invalidate SNP VMSA pages if their backing guest_memfd     page is zapped/invalidated, e.g. due to a PUNCH_HOLE in response to     a Page-State Change request   - Remove a dying VM from the GA Log notifier list before the VM is     actually destroyed, to fix a potential use-after-free   - While FOLL_WRITE was needed in the past to trigger CoW unsharing,     nowadays FOLL_LONGTERM does that already even without FOLL_WRITE,     and in fact, get_user_pages() actually disallows FOLL_WRITE     together with FOLL_LONGTERM. So don&apos;t pass FOLL_WRITE when     registering encrypted memory regions, i.e. when pinning SEV/SEV-ES     guest memory, to fix a regression with file-backed memory     introduced by KVM&apos;s (correct) usage of long-term pins     (This was reviewed by mm maintainers; for more information, see     commit ee1a586dd1fa &quot;KVM: SEV: Drop FOLL_WRITE for encrypted region     registration&quot;)   - Allocate full pages for SEV/SEV-ES {DE,EN}CRYPT ops on SNP-enabled     hosts to fix a data corruption issue due to the PSP driver     assigning to-be-written pages to firmware (as required by the SNP     specs)   - Unconditionally intercept ICBEP so that KVM generates the correct     guest RIP when handling an ICEBP-induced TASK_SWITCH #VMEXIT   - Harden the SNP &quot;populate&quot; ioctls against bad input, and to prepare     for supporting in-place private&lt;=&gt;shared conversion  Generic:   - Remove kvm_debugfs_dir if kvm_init() fails after creating KVM&apos;s     debugfs   - Add a per-VM bitmap to track which vCPU IDs have been &quot;claimed&quot; but     for which the vCPU isn&apos;t yet online, and use the bitmap to reject     duplicate IDs before calling into arch code. This allows arch code     to consume vcpu_id without having to worry about cross-vCPU     clobbering (at least s390 and x86 have had related bugs)   - Rework the so called &quot;prepare&quot; and &quot;invalidate&quot; guest_memfd hooks     to prepare for in-place private&lt;=&gt;shared conversion, and clean up a     few warts along the way  Selftests:   - Automatically allocate a full page for L2 guest stacks on x86     instead of requiring test-specific L1 guest code to carve out a     portion of the L1 stack for L2 usage, and to ensure the L2 stack     also adheres to the x86-64 calling convention ABI   - Add a selftest to verify {Guest,Host}-Only behavior in x86&apos;s     mediated PMU   - Clean up nested SVM&apos;s handling of GPRs on L2&lt;=&gt;L1 transitions,     reuse the functionality for nested VMX, and drop the ucall hack     that was fudging around the lack of GPR switching on nVMX   - Add a stress test to verify KVM doesn&apos;t clobber/drop #PF state,     e.g. CR2, across save/restore, including when L2 is active   - Add a test to verify KVM_CREATE_VM accepts exactly what is reported     by KVM_CAP_VM_TYPES   - Misc selftests fixes and cleanups   - Fix several issues with seeding the pRNG, and rework the pRNG APIs     to that the pRNG can be sanely used in host code, not just guest     code   - Add an IRQ test to validate virtual IRQ deliverty for IRQs wired up     via KVM_IRQFD + KVM_SET_GSI_ROUTING, with optional support for     triggering IRQs via writes to an assigned VFIO device   - Add syscall wrappers to assert success on a variety of pthreads and     CPU affinity APIs   - Set vCPU pthread affinity as early as possible to reduce contention     issues that were surfaced by PREEMPT_LAZY, which result in runtimes     of over a minute on large hosts, versus the expected ~5 seconds   - Rework the PMU counters test to run each testcase using a single VM     with many vCPUs for each sub-testcase, instead of using a unique VM     for each sub-testcase. This cuts the runtime by ~20x  Miscellaneous:   - MAINTAINERS updates for vfio-ap, guest_memfd, kvm-x86. Mostly     representing the status quo more accurately, but also... welcome     David Hildenbrand as guest_memfd reviewer!&quot;* tag &apos;for-linus&apos; of git://git.kernel.org/pub/scm/virt/kvm/kvm: (413 commits)  KVM: arm64: Validate GICv5 timer PPIs before claiming ownership  KVM: arm64: vgic: Reject out-of-range GICv5 PPI IDs  KVM: arm64: vgic: Prevent speculative SPI array underflow  KVM: arm64: vgic: Free gic_kvm_info on initialization failure  KVM: arm64: Avoid mismatched accesses to &apos;struct kvm_nvhe_init_params&apos;  s390/vfio-ap: Fix NULL deref in status_show() during queue probe  s390/vfio-ap: Fix hot-unplug skipped when last AP adapter or domain removed  s390/vfio-ap: fix potential use of uninitialized apm_filtered bitmap  s390/vfio-ap: Fix control domain removal in vfio_ap_mdev_cfg_remove  s390/vfio-ap: Fix required lock not held during update of ap_matrix_mdev object  s390/vfio-ap: Fix missing lock required to access list of ap_matrix_mdev objects  s390/vfio-ap: Fix dereference matrix_mdev-&gt;kvm without checking for NULL  s390/vfio-ap: Fix stale do_remove flag across iterations in vfio_ap_mdev_cfg_remove  RISC-V: KVM: fix vcpu vector context handling for kernel-mode vector  riscv: vector: allow non-preemptible kernel-mode vector with IRQs off  riscv: vector: refactor riscv_v_start_kernel_context  KVM: s390: gmap: Make prefix handling optional  KVM: s390: gmap: Make CMMA optional  KVM: s390: gmap: Make storage keys optional  KVM: s390: Prepare gmap for a second KVM implementation  ...

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Tue, 25 Aug 2026 20:48:04 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>d75b48460559423f8c38aafed7a9cdec91d26d57 - Merge tag &apos;kvm-x86-misc-7.3&apos; of https://github.com/kvm-x86/linux into HEAD</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#d75b48460559423f8c38aafed7a9cdec91d26d57</link>
        <description>Merge tag &apos;kvm-x86-misc-7.3&apos; of https://github.com/kvm-x86/linux into HEADKVM x86 misc changes for 7.3 - Fix VPID virtualization bugs where KVM would fail to flush hardware TLBs. - Harden the SNP and TDX &quot;populate&quot; ioctls against bad input, and to prepare   for supporting in-place private&lt;=&gt;shared conversion. - Fix a variety of #DB priority bugs. - Fix a class of races related to enabling Hyper-V emulation on a vCPU after   the vCPU is visible to the rest of KVM. - Use static calls for nested virtualization ops. - Move more KVM-internal code out of x86&apos;s kvm_host.h. - Enumerate support for a variety of Zhaoxin instructions that don&apos;t require   explicit virtualization. - Fix missing EFER validation bugs, including in the KVM_SET_SREGS* path. - Harden kvm_vcpu_map() against double-mapping and thus leaking references. - Misc fixes and cleanups, e.g. for largely benign syzkaller splats.

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Tue, 18 Aug 2026 13:41:51 +0200</pubDate>
        <dc:creator>Paolo Bonzini &lt;pbonzini@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>92b2af2b6d2c9f53097e48614ea9b9e3aa1dfd43 - KVM: x86: Move supported EFER bits to kvm_caps</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#92b2af2b6d2c9f53097e48614ea9b9e3aa1dfd43</link>
        <description>KVM: x86: Move supported EFER bits to kvm_capsSupported EFER bits naturally fits into kvm_caps because it getsrecomputed during vendor initialization (e.g. to account for EFER.SVMEbeing allowed/disallowed based on nested being enabled/disabled). Moveefer_supported_bits into kvm_caps as supported_efer_bits (for namingconsistency).As the bitmask is now globally visible as part of kvm_caps, there&apos;slittle use for helpers to enable/disable specific bits, so drop them andopen-code updates to kvm_caps.supported_efer_bits.No functional change intended.Suggested-by: Sean Christopherson &lt;seanjc@google.com&gt;Reviewed-by: Nikolay Borisov &lt;nik.borisov@suse.com&gt;Signed-off-by: Yosry Ahmed &lt;yosry@kernel.org&gt;Link: https://patch.msgid.link/20260713181020.2735367-6-yosry@kernel.orgSigned-off-by: Sean Christopherson &lt;seanjc@google.com&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Mon, 13 Jul 2026 20:10:20 +0200</pubDate>
        <dc:creator>Yosry Ahmed &lt;yosry@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>37352c4fbdd7921c032ab7e0eb7a0fec960924ec - KVM: x86: Reverse the polarity of efer_reserved_bits</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#37352c4fbdd7921c032ab7e0eb7a0fec960924ec</link>
        <description>KVM: x86: Reverse the polarity of efer_reserved_bitsIn preparation for moving efer_reserved_bits into kvm_caps, reverse itspolarity and make it efer_supported_bits, to be more consistent withother fields in kvm_caps.No functional change intended.Reviewed-by: Nikolay Borisov &lt;nik.borisov@suse.com&gt;Signed-off-by: Yosry Ahmed &lt;yosry@kernel.org&gt;Link: https://patch.msgid.link/20260713181020.2735367-5-yosry@kernel.orgSigned-off-by: Sean Christopherson &lt;seanjc@google.com&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Mon, 13 Jul 2026 20:10:19 +0200</pubDate>
        <dc:creator>Yosry Ahmed &lt;yosry@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a4b8acd428ba3f03952ef309d7f438dbc357557b - KVM: x86: Always initialize EFER reserved bits on vendor initialization</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#a4b8acd428ba3f03952ef309d7f438dbc357557b</link>
        <description>KVM: x86: Always initialize EFER reserved bits on vendor initializationEFER reserved bits are statically initialized, and do not reset if avendor module is re-loaded. For example, loading kvm_amd with nested=1removes EFER.SVME (and potentially EFER.LMSLE) from the reserved bits.Reloading kvm_amd with nested=0 does not add them back, allowinguserspace to set EFER.SVME with nested=0.Re-initializing EFER reserved bits before configuring them on vendorinitialization.Cc: stable@vger.kernel.orgSigned-off-by: Yosry Ahmed &lt;yosry@kernel.org&gt;Link: https://patch.msgid.link/20260713181020.2735367-4-yosry@kernel.orgSigned-off-by: Sean Christopherson &lt;seanjc@google.com&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Mon, 13 Jul 2026 20:10:18 +0200</pubDate>
        <dc:creator>Yosry Ahmed &lt;yosry@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>e62392bf39ebfdf60d1d082799397fe1cbf8dfc5 - KVM: x86: Disallow EFER.LME and EFER.LMA if long mode is not supported</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#e62392bf39ebfdf60d1d082799397fe1cbf8dfc5</link>
        <description>KVM: x86: Disallow EFER.LME and EFER.LMA if long mode is not supportedRemove EFER.LME and EFER.LMA from EFER reserved bits only if long modeis actually supported. KVM does check long-mode support before allowingthe bits for guest writes and userspace writes through KVM_SET_SREGS*(in __kvm_valid_efer()), but userspace writes through KVM_SET_MSRS onlycheck reserved bits.In practice, this doesn&apos;t really matter. The true motiviation is gettingrid of the #ifdeffery when initializing efer_reserved_bits.Cc: stable@vger.kernel.orgSigned-off-by: Yosry Ahmed &lt;yosry@kernel.org&gt;Link: https://patch.msgid.link/20260713181020.2735367-3-yosry@kernel.orgSigned-off-by: Sean Christopherson &lt;seanjc@google.com&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Mon, 13 Jul 2026 20:10:17 +0200</pubDate>
        <dc:creator>Yosry Ahmed &lt;yosry@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>458dbb64b9ae8ee79072571681ce5fc49b76b202 - Merge branch &apos;kvm-spring-clean&apos; into HEAD</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#458dbb64b9ae8ee79072571681ce5fc49b76b202</link>
        <description>Merge branch &apos;kvm-spring-clean&apos; into HEADIt&apos;s still technically spring!Perform spring cleaning on x86.{c,h} and asm/kvm_host.h, by adding regs.c(the kvm_cache_regs.h =&gt; regs.h is already applied) and msrs.{c,h}, and movingrelevant code out of x86.c.Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Wed, 24 Jun 2026 14:29:26 +0200</pubDate>
        <dc:creator>Paolo Bonzini &lt;pbonzini@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>765ae5dc6fc1cb10d36a9179699d80d6e8bc9c70 - KVM: x86: Move &quot;struct kvm_x86_msr_filter&quot; definition to msrs.c</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#765ae5dc6fc1cb10d36a9179699d80d6e8bc9c70</link>
        <description>KVM: x86: Move &quot;struct kvm_x86_msr_filter&quot; definition to msrs.cMove the definition of &quot;struct kvm_x86_msr_filter&quot; and its associate,&quot;struct msr_bitmap_range&quot;, to msrs.c, as the details of the filters arevery much implementation details that can and should be buried in msrs.c.While the _existence_ of filters is public knowledge, almost by definition,the contents don&apos;t need to be exposed outside of the MSR code as the filterdata is provided by userspace, i.e. it pretty much has to be dynamicallyallocated, and thus never should be fully embedded in a globally visiblestructure.Note, this creates a discrepancy with the PMU event filter structure; thatwill be remedied shortly.No functional change intended.Suggested-by: Kai Huang &lt;kai.huang@intel.com&gt;Signed-off-by: Sean Christopherson &lt;seanjc@google.com&gt;Reviewed-by: Kai Huang &lt;kai.huang@intel.com&gt;Reviewed-by: Binbin Wu &lt;binbin.wu@linux.intel.com&gt;Message-ID: &lt;20260613000329.732085-19-seanjc@google.com&gt;Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Sat, 13 Jun 2026 02:03:17 +0200</pubDate>
        <dc:creator>Sean Christopherson &lt;seanjc@google.com&gt;</dc:creator>
    </item>
<item>
        <title>7a268308015843c7e8b15dda588b2e9adf45223f - KVM: x86: Move the bulk of MSR specific code from x86.c to msrs.{c,h}</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/x86/kvm/msrs.c#7a268308015843c7e8b15dda588b2e9adf45223f</link>
        <description>KVM: x86: Move the bulk of MSR specific code from x86.c to msrs.{c,h}Introduce msrs.{c,h}, and move the vast majority of MSR specific code outof x86.{c,h}.  Use a plural &quot;msrs&quot; instead of just &quot;msr&quot; to be consistentwith regs.{c,h}, and to make it easier to differentiate KVM&apos;s code from theother 5+ msr.c files in the kernel.Opportunistically drop the &quot;x86.h&quot; include from mtrr.c, mostly as proofthat the bulk of the MSR code is indeed being relocated to msrs.c.No functional change intended.Reviewed-by: Kai Huang &lt;kai.huang@intel.com&gt;Signed-off-by: Sean Christopherson &lt;seanjc@google.com&gt;Reviewed-by: Binbin Wu &lt;binbin.wu@linux.intel.com&gt;Message-ID: &lt;20260613000329.732085-15-seanjc@google.com&gt;Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;

            List of files:
            /linux/arch/x86/kvm/msrs.c</description>
        <pubDate>Sat, 13 Jun 2026 02:03:13 +0200</pubDate>
        <dc:creator>Sean Christopherson &lt;seanjc@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
