<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/include/asm/sysreg.h, branch linux-6.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-10-25T00:25:06Z</updated>
<entry>
<title>KVM: arm64: Handle AArch32 SPSR_{irq,abt,und,fiq} as RAZ/WI</title>
<updated>2023-10-25T00:25:06Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2023-10-23T09:54:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f7915ccc90261c201664b5fdce139db09480a36'/>
<id>urn:sha1:3f7915ccc90261c201664b5fdce139db09480a36</id>
<content type='text'>
When trapping accesses from a NV guest that tries to access
SPSR_{irq,abt,und,fiq}, make sure we handle them as RAZ/WI,
as if AArch32 wasn't implemented.

This involves a bit of repainting to make the visibility
handler more generic.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20231023095444.1587322-6-maz@kernel.org
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>arm64: Add missing _EL2 encodings</title>
<updated>2023-10-25T00:24:49Z</updated>
<author>
<name>Miguel Luis</name>
</author>
<published>2023-10-23T09:54:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=41f6c9344713e6b895a77f2bdd596cf56d4cc197'/>
<id>urn:sha1:41f6c9344713e6b895a77f2bdd596cf56d4cc197</id>
<content type='text'>
Some _EL2 encodings are missing. Add them.

Signed-off-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
[maz: dropped secure encodings]
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20231023095444.1587322-3-maz@kernel.org
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>arm64: Add missing _EL12 encodings</title>
<updated>2023-10-25T00:24:34Z</updated>
<author>
<name>Miguel Luis</name>
</author>
<published>2023-10-23T09:54:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5cb781b77416a9ed4129960712932dbcf8a9f30'/>
<id>urn:sha1:d5cb781b77416a9ed4129960712932dbcf8a9f30</id>
<content type='text'>
Some _EL12 encodings are missing. Add them.

Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Signed-off-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20231023095444.1587322-2-maz@kernel.org
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm</title>
<updated>2023-09-07T20:52:20Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2023-09-07T20:52:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c02183427b4d2002992f26d4917c1263c5d4a7f'/>
<id>urn:sha1:0c02183427b4d2002992f26d4917c1263c5d4a7f</id>
<content type='text'>
Pull kvm updates from Paolo Bonzini:
 "ARM:

   - Clean up vCPU targets, always returning generic v8 as the preferred
     target

   - Trap forwarding infrastructure for nested virtualization (used for
     traps that are taken from an L2 guest and are needed by the L1
     hypervisor)

   - FEAT_TLBIRANGE support to only invalidate specific ranges of
     addresses when collapsing a table PTE to a block PTE. This avoids
     that the guest refills the TLBs again for addresses that aren't
     covered by the table PTE.

   - Fix vPMU issues related to handling of PMUver.

   - Don't unnecessary align non-stack allocations in the EL2 VA space

   - Drop HCR_VIRT_EXCP_MASK, which was never used...

   - Don't use smp_processor_id() in kvm_arch_vcpu_load(), but the cpu
     parameter instead

   - Drop redundant call to kvm_set_pfn_accessed() in user_mem_abort()

   - Remove prototypes without implementations

  RISC-V:

   - Zba, Zbs, Zicntr, Zicsr, Zifencei, and Zihpm support for guest

   - Added ONE_REG interface for SATP mode

   - Added ONE_REG interface to enable/disable multiple ISA extensions

   - Improved error codes returned by ONE_REG interfaces

   - Added KVM_GET_REG_LIST ioctl() implementation for KVM RISC-V

   - Added get-reg-list selftest for KVM RISC-V

  s390:

   - PV crypto passthrough enablement (Tony, Steffen, Viktor, Janosch)

     Allows a PV guest to use crypto cards. Card access is governed by
     the firmware and once a crypto queue is "bound" to a PV VM every
     other entity (PV or not) looses access until it is not bound
     anymore. Enablement is done via flags when creating the PV VM.

   - Guest debug fixes (Ilya)

  x86:

   - Clean up KVM's handling of Intel architectural events

   - Intel bugfixes

   - Add support for SEV-ES DebugSwap, allowing SEV-ES guests to use
     debug registers and generate/handle #DBs

   - Clean up LBR virtualization code

   - Fix a bug where KVM fails to set the target pCPU during an IRTE
     update

   - Fix fatal bugs in SEV-ES intrahost migration

   - Fix a bug where the recent (architecturally correct) change to
     reinject #BP and skip INT3 broke SEV guests (can't decode INT3 to
     skip it)

   - Retry APIC map recalculation if a vCPU is added/enabled

   - Overhaul emergency reboot code to bring SVM up to par with VMX, tie
     the "emergency disabling" behavior to KVM actually being loaded,
     and move all of the logic within KVM

   - Fix user triggerable WARNs in SVM where KVM incorrectly assumes the
     TSC ratio MSR cannot diverge from the default when TSC scaling is
     disabled up related code

   - Add a framework to allow "caching" feature flags so that KVM can
     check if the guest can use a feature without needing to search
     guest CPUID

   - Rip out the ancient MMU_DEBUG crud and replace the useful bits with
     CONFIG_KVM_PROVE_MMU

   - Fix KVM's handling of !visible guest roots to avoid premature
     triple fault injection

   - Overhaul KVM's page-track APIs, and KVMGT's usage, to reduce the
     API surface that is needed by external users (currently only
     KVMGT), and fix a variety of issues in the process

  Generic:

   - Wrap kvm_{gfn,hva}_range.pte in a union to allow mmu_notifier
     events to pass action specific data without needing to constantly
     update the main handlers.

   - Drop unused function declarations

  Selftests:

   - Add testcases to x86's sync_regs_test for detecting KVM TOCTOU bugs

   - Add support for printf() in guest code and covert all guest asserts
     to use printf-based reporting

   - Clean up the PMU event filter test and add new testcases

   - Include x86 selftests in the KVM x86 MAINTAINERS entry"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (279 commits)
  KVM: x86/mmu: Include mmu.h in spte.h
  KVM: x86/mmu: Use dummy root, backed by zero page, for !visible guest roots
  KVM: x86/mmu: Disallow guest from using !visible slots for page tables
  KVM: x86/mmu: Harden TDP MMU iteration against root w/o shadow page
  KVM: x86/mmu: Harden new PGD against roots without shadow pages
  KVM: x86/mmu: Add helper to convert root hpa to shadow page
  drm/i915/gvt: Drop final dependencies on KVM internal details
  KVM: x86/mmu: Handle KVM bookkeeping in page-track APIs, not callers
  KVM: x86/mmu: Drop @slot param from exported/external page-track APIs
  KVM: x86/mmu: Bug the VM if write-tracking is used but not enabled
  KVM: x86/mmu: Assert that correct locks are held for page write-tracking
  KVM: x86/mmu: Rename page-track APIs to reflect the new reality
  KVM: x86/mmu: Drop infrastructure for multiple page-track modes
  KVM: x86/mmu: Use page-track notifiers iff there are external users
  KVM: x86/mmu: Move KVM-only page-track declarations to internal header
  KVM: x86: Remove the unused page-track hook track_flush_slot()
  drm/i915/gvt: switch from -&gt;track_flush_slot() to -&gt;track_remove_region()
  KVM: x86: Add a new page-track hook to handle memslot deletion
  drm/i915/gvt: Don't bother removing write-protection on to-be-deleted slot
  KVM: x86: Reject memslot MOVE operations if KVMGT is attached
  ...
</content>
</entry>
<entry>
<title>KVM: arm64: Correctly handle ACCDATA_EL1 traps</title>
<updated>2023-08-17T09:00:27Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2023-08-15T18:38:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=484f86824a3d94c6d9412618dd70b1d5923fff6f'/>
<id>urn:sha1:484f86824a3d94c6d9412618dd70b1d5923fff6f</id>
<content type='text'>
As we blindly reset some HFGxTR_EL2 bits to 0, we also randomly trap
unsuspecting sysregs that have their trap bits with a negative
polarity.

ACCDATA_EL1 is one such register that can be accessed by the guest,
causing a splat on the host as we don't have a proper handler for
it.

Adding such handler addresses the issue, though there are a number
of other registers missing as the current architecture documentation
doesn't describe them yet.

Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Reviewed-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Reviewed-by: Jing Zhang &lt;jingzhangos@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20230815183903.2735724-11-maz@kernel.org
</content>
</entry>
<entry>
<title>arm64: Add HDFGRTR_EL2 and HDFGWTR_EL2 layouts</title>
<updated>2023-08-17T09:00:27Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2023-08-15T18:38:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cc24f656f7cf834f384a43fc6fe68ec62730743d'/>
<id>urn:sha1:cc24f656f7cf834f384a43fc6fe68ec62730743d</id>
<content type='text'>
As we're about to implement full support for FEAT_FGT, add the
full HDFGRTR_EL2 and HDFGWTR_EL2 layouts.

Reviewed-by: Mark Brown &lt;broonie@kernel.org&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Reviewed-by: Jing Zhang &lt;jingzhangos@google.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20230815183903.2735724-9-maz@kernel.org
</content>
</entry>
<entry>
<title>arm64: Add missing BRB/CFP/DVP/CPP instructions</title>
<updated>2023-08-17T09:00:26Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2023-08-15T18:38:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2b062ed483ebd625b6c6054b9d29d600bd755a86'/>
<id>urn:sha1:2b062ed483ebd625b6c6054b9d29d600bd755a86</id>
<content type='text'>
HFGITR_EL2 traps a bunch of instructions for which we don't have
encodings yet. Add them.

Reviewed-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: Jing Zhang &lt;jingzhangos@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20230815183903.2735724-8-maz@kernel.org
</content>
</entry>
<entry>
<title>arm64: Add debug registers affected by HDFGxTR_EL2</title>
<updated>2023-08-17T09:00:26Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2023-08-15T18:38:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57596c8f991c9aace47d75b31249b8ec36b3b899'/>
<id>urn:sha1:57596c8f991c9aace47d75b31249b8ec36b3b899</id>
<content type='text'>
The HDFGxTR_EL2 registers trap a (huge) set of debug and trace
related registers. Add their encodings (and only that, because
we really don't care about what these registers actually do at
this stage).

Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Reviewed-by: Jing Zhang &lt;jingzhangos@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20230815183903.2735724-7-maz@kernel.org
</content>
</entry>
<entry>
<title>arm64: Add AT operation encodings</title>
<updated>2023-08-17T09:00:26Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2023-08-15T18:38:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2b97411fef8ff9dafc862971f08382f780dc5357'/>
<id>urn:sha1:2b97411fef8ff9dafc862971f08382f780dc5357</id>
<content type='text'>
Add the encodings for the AT operation that are usable from NS.

Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Reviewed-by: Jing Zhang &lt;jingzhangos@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20230815183903.2735724-6-maz@kernel.org
</content>
</entry>
<entry>
<title>arm64: Add TLBI operation encodings</title>
<updated>2023-08-17T09:00:26Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2023-08-15T18:38:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb1926cccd70a5032448968dfd639187cd894cb7'/>
<id>urn:sha1:fb1926cccd70a5032448968dfd639187cd894cb7</id>
<content type='text'>
Add all the TLBI encodings that are usable from Non-Secure.

Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Reviewed-by: Jing Zhang &lt;jingzhangos@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20230815183903.2735724-5-maz@kernel.org
</content>
</entry>
</feed>
