<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/kvm/hypercalls.c, branch master</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=master</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-05-23T16:30:55Z</updated>
<entry>
<title>arm64: kvm, smccc: Introduce and use API for getting hypervisor UUID</title>
<updated>2025-05-23T16:30:55Z</updated>
<author>
<name>Roman Kisel</name>
</author>
<published>2025-04-28T21:07:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13423063c7cb7d1c34104a78cae85eb0281bae90'/>
<id>urn:sha1:13423063c7cb7d1c34104a78cae85eb0281bae90</id>
<content type='text'>
The KVM/arm64 uses SMCCC to detect hypervisor presence. That code is
private, and it follows the SMCCC specification. Other existing and
emerging hypervisor guest implementations can and should use that
standard approach as well.

Factor out a common infrastructure that the guests can use, update KVM
to employ the new API. The central notion of the SMCCC method is the
UUID of the hypervisor, and the new API follows that.

No functional changes. Validated with a KVM/arm64 guest.

Signed-off-by: Roman Kisel &lt;romank@linux.microsoft.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Michael Kelley &lt;mhklinux@outlook.com&gt;
Link: https://lore.kernel.org/r/20250428210742.435282-2-romank@linux.microsoft.com
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Message-ID: &lt;20250428210742.435282-2-romank@linux.microsoft.com&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Introduce KVM_REG_ARM_VENDOR_HYP_BMAP_2</title>
<updated>2025-02-26T21:30:36Z</updated>
<author>
<name>Shameer Kolothum</name>
</author>
<published>2025-02-21T14:02:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c0000e58c74eed0702b8271e8475378c3c17cf0f'/>
<id>urn:sha1:c0000e58c74eed0702b8271e8475378c3c17cf0f</id>
<content type='text'>
The vendor_hyp_bmap bitmap holds the information about the Vendor Hyp
services available to the user space and can be get/set using
{G, S}ET_ONE_REG interfaces. This is done using the pseudo-firmware
bitmap register KVM_REG_ARM_VENDOR_HYP_BMAP.

At present, this bitmap is a 64 bit one and since the function numbers
for newly added DISCOVER_IPML_* hypercalls are 64-65, introduce
another pseudo-firmware bitmap register KVM_REG_ARM_VENDOR_HYP_BMAP_2.

Reviewed-by: Sebastian Ott &lt;sebott@redhat.com&gt;
Signed-off-by: Shameer Kolothum &lt;shameerali.kolothum.thodi@huawei.com&gt;
Link: https://lore.kernel.org/r/20250221140229.12588-4-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>Merge branch kvm-arm64/psci-1.3 into kvmarm/next</title>
<updated>2024-11-11T18:36:46Z</updated>
<author>
<name>Oliver Upton</name>
</author>
<published>2024-11-11T18:36:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ccd615bc6ebb5e5d3565bf74ab2d695eb83b95e'/>
<id>urn:sha1:7ccd615bc6ebb5e5d3565bf74ab2d695eb83b95e</id>
<content type='text'>
* kvm-arm64/psci-1.3:
  : PSCI v1.3 support, courtesy of David Woodhouse
  :
  : Bump KVM's PSCI implementation up to v1.3, with the added bonus of
  : implementing the SYSTEM_OFF2 call. Like other system-scoped PSCI calls,
  : this gets relayed to userspace for further processing with a new
  : KVM_SYSTEM_EVENT_SHUTDOWN flag.
  :
  : As an added bonus, implement client-side support for hibernation with
  : the SYSTEM_OFF2 call.
  arm64: Use SYSTEM_OFF2 PSCI call to power off for hibernate
  KVM: arm64: nvhe: Pass through PSCI v1.3 SYSTEM_OFF2 call
  KVM: selftests: Add test for PSCI SYSTEM_OFF2
  KVM: arm64: Add support for PSCI v1.2 and v1.3
  KVM: arm64: Add PSCI v1.3 SYSTEM_OFF2 function for hibernation
  firmware/psci: Add definitions for PSCI v1.3 specification

Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Add support for PSCI v1.2 and v1.3</title>
<updated>2024-10-24T23:38:07Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2024-10-19T17:15:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8be82d536a9f8d9974cf746d235c1f1c24dd31ed'/>
<id>urn:sha1:8be82d536a9f8d9974cf746d235c1f1c24dd31ed</id>
<content type='text'>
As with PSCI v1.1 in commit 512865d83fd9 ("KVM: arm64: Bump guest PSCI
version to 1.1"), expose v1.3 to the guest by default. The SYSTEM_OFF2
call which is exposed by doing so is compatible for userspace because
it's just a new flag in the event that KVM raises, in precisely the same
way that SYSTEM_RESET2 was compatible when v1.1 was enabled by default.

Signed-off-by: David Woodhouse &lt;dwmw@amazon.co.uk&gt;
Reviewed-by: Miguel Luis &lt;miguel.luis@oracle.com&gt;
Link: https://lore.kernel.org/r/20241019172459.2241939-4-dwmw2@infradead.org
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Use kvm_has_feat() to check if FEAT_SSBS is advertised to the guest</title>
<updated>2024-08-25T16:48:44Z</updated>
<author>
<name>Shaoqin Huang</name>
</author>
<published>2024-07-23T07:20:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8d164974cfa46fe5ec87869c8a7113641f322d5'/>
<id>urn:sha1:e8d164974cfa46fe5ec87869c8a7113641f322d5</id>
<content type='text'>
Currently KVM use cpus_have_final_cap() to check if FEAT_SSBS is
advertised to the guest. But if FEAT_SSBS is writable and isn't
advertised to the guest, this is wrong.

Update it to use kvm_has_feat() to check if FEAT_SSBS is advertised
to the guest, thus the KVM can do the right thing if FEAT_SSBS isn't
advertised to the guest.

Signed-off-by: Shaoqin Huang &lt;shahuang@redhat.com&gt;
Link: https://lore.kernel.org/r/20240723072004.1470688-3-shahuang@redhat.com
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch kvm-arm64/smccc-filter-cleanups into kvmarm/next</title>
<updated>2023-10-30T20:18:37Z</updated>
<author>
<name>Oliver Upton</name>
</author>
<published>2023-10-30T20:18:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25a35c1a3d8fd4b10805f05b109a76c9b8b0200c'/>
<id>urn:sha1:25a35c1a3d8fd4b10805f05b109a76c9b8b0200c</id>
<content type='text'>
* kvm-arm64/smccc-filter-cleanups:
  : Cleanup the management of KVM's SMCCC maple tree
  :
  : Avoid the cost of maintaining the SMCCC filter maple tree if userspace
  : hasn't writen a rule to the filter. While at it, rip out the now
  : unnecessary VM flag to indicate whether or not the SMCCC filter was
  : configured.
  KVM: arm64: Use mtree_empty() to determine if SMCCC filter configured
  KVM: arm64: Only insert reserved ranges when SMCCC filter is used
  KVM: arm64: Add a predicate for testing if SMCCC filter is configured

Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Use mtree_empty() to determine if SMCCC filter configured</title>
<updated>2023-10-05T09:33:15Z</updated>
<author>
<name>Oliver Upton</name>
</author>
<published>2023-10-04T23:49:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4202bcac5e65de2d7193b7e27984b810ba33aada'/>
<id>urn:sha1:4202bcac5e65de2d7193b7e27984b810ba33aada</id>
<content type='text'>
The smccc_filter maple tree is only populated if userspace attempted to
configure it. Use the state of the maple tree to determine if the filter
has been configured, eliminating the VM flag.

Reviewed-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20231004234947.207507-4-oliver.upton@linux.dev
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Only insert reserved ranges when SMCCC filter is used</title>
<updated>2023-10-05T09:33:15Z</updated>
<author>
<name>Oliver Upton</name>
</author>
<published>2023-10-04T23:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d34b76489ea0c6168d230d4f9ad065422ba5f6d6'/>
<id>urn:sha1:d34b76489ea0c6168d230d4f9ad065422ba5f6d6</id>
<content type='text'>
The reserved ranges are only useful for preventing userspace from
adding a rule that intersects with functions we must handle in KVM. If
userspace never writes to the SMCCC filter than this is all just wasted
work/memory.

Insert reserved ranges on the first call to KVM_ARM_VM_SMCCC_FILTER.

Reviewed-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20231004234947.207507-3-oliver.upton@linux.dev
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Add a predicate for testing if SMCCC filter is configured</title>
<updated>2023-10-05T09:33:15Z</updated>
<author>
<name>Oliver Upton</name>
</author>
<published>2023-10-04T23:49:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb17fb31f00ebd8df478a9533c6b77d6eebe6464'/>
<id>urn:sha1:bb17fb31f00ebd8df478a9533c6b77d6eebe6464</id>
<content type='text'>
Eventually we can drop the VM flag, move around the existing
implementation for now.

Reviewed-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20231004234947.207507-2-oliver.upton@linux.dev
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Get rid of vCPU-scoped feature bitmap</title>
<updated>2023-09-21T18:13:29Z</updated>
<author>
<name>Oliver Upton</name>
</author>
<published>2023-09-20T19:50:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1de10b7d13a971f9ab90c5ed300b76d6e0c0db38'/>
<id>urn:sha1:1de10b7d13a971f9ab90c5ed300b76d6e0c0db38</id>
<content type='text'>
The vCPU-scoped feature bitmap was left in place a couple of releases
ago in case the change to VM-scoped vCPU features broke anyone. Nobody
has complained and the interop between VM and vCPU bitmaps is pretty
gross. Throw it out.

Link: https://lore.kernel.org/r/20230920195036.1169791-9-oliver.upton@linux.dev
Signed-off-by: Oliver Upton &lt;oliver.upton@linux.dev&gt;
</content>
</entry>
</feed>
