<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/kvm/Makefile, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-06-24T15:47:57Z</updated>
<entry>
<title>KVM: stats: Add fd-based API to read binary stats data</title>
<updated>2021-06-24T15:47:57Z</updated>
<author>
<name>Jing Zhang</name>
</author>
<published>2021-06-18T22:27:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb082bfab59a224a49ae803fed52cd03e8d6b5e0'/>
<id>urn:sha1:cb082bfab59a224a49ae803fed52cd03e8d6b5e0</id>
<content type='text'>
This commit defines the API for userspace and prepare the common
functionalities to support per VM/VCPU binary stats data readings.

The KVM stats now is only accessible by debugfs, which has some
shortcomings this change series are supposed to fix:
1. The current debugfs stats solution in KVM could be disabled
   when kernel Lockdown mode is enabled, which is a potential
   rick for production.
2. The current debugfs stats solution in KVM is organized as "one
   stats per file", it is good for debugging, but not efficient
   for production.
3. The stats read/clear in current debugfs solution in KVM are
   protected by the global kvm_lock.

Besides that, there are some other benefits with this change:
1. All KVM VM/VCPU stats can be read out in a bulk by one copy
   to userspace.
2. A schema is used to describe KVM statistics. From userspace's
   perspective, the KVM statistics are self-describing.
3. With the fd-based solution, a separate telemetry would be able
   to read KVM stats in a less privileged environment.
4. After the initial setup by reading in stats descriptors, a
   telemetry only needs to read the stats data itself, no more
   parsing or setup is needed.

Reviewed-by: David Matlack &lt;dmatlack@google.com&gt;
Reviewed-by: Ricardo Koller &lt;ricarkol@google.com&gt;
Reviewed-by: Krish Sadhukhan &lt;krish.sadhukhan@oracle.com&gt;
Reviewed-by: Fuad Tabba &lt;tabba@google.com&gt;
Tested-by: Fuad Tabba &lt;tabba@google.com&gt; #arm64
Signed-off-by: Jing Zhang &lt;jingzhangos@google.com&gt;
Message-Id: &lt;20210618222709.1858088-3-jingzhangos@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Implement the TRNG hypervisor call</title>
<updated>2021-01-25T22:19:31Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-01-06T10:34:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8e190cdae1bf8e9e490776b8179babc1962bb25'/>
<id>urn:sha1:a8e190cdae1bf8e9e490776b8179babc1962bb25</id>
<content type='text'>
Provide a hypervisor implementation of the ARM architected TRNG firmware
interface described in ARM spec DEN0098. All function IDs are implemented,
including both 32-bit and 64-bit versions of the TRNG_RND service, which
is the centerpiece of the API.

The API is backed by the kernel's entropy pool only, to avoid guests
draining more precious direct entropy sources.

Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
[Andre: minor fixes, drop arch_get_random() usage]
Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20210106103453.152275-6-andre.przywara@arm.com
</content>
</entry>
<entry>
<title>KVM: arm64: Replace KVM_ARM_PMU with HW_PERF_EVENTS</title>
<updated>2021-01-04T16:50:16Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2021-01-04T16:50:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8cbebc4118b5933b3ae6351ceb433f75ac6b7c6b'/>
<id>urn:sha1:8cbebc4118b5933b3ae6351ceb433f75ac6b7c6b</id>
<content type='text'>
KVM_ARM_PMU only existed for the benefit of 32bit ARM hosts,
and makes no sense now that we are 64bit only. Get rid of it.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Get rid of the AArch32 register mapping code</title>
<updated>2020-11-10T08:34:27Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2020-10-16T17:41:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90c1f934ed7141a6d4c202936d12faaeb405fb66'/>
<id>urn:sha1:90c1f934ed7141a6d4c202936d12faaeb405fb66</id>
<content type='text'>
The only use of the register mapping code was for the sake of the LR
mapping, which we trivially solved in a previous patch. Get rid of
the whole thing now.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Consolidate exception injection</title>
<updated>2020-11-10T08:34:26Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2020-10-15T08:45:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dcfba399325f919b25854ca17ef1535f5d754fe1'/>
<id>urn:sha1:dcfba399325f919b25854ca17ef1535f5d754fe1</id>
<content type='text'>
Move the AArch32 exception injection code back into the inject_fault.c
file, removing the need for a few non-static functions now that AArch32
host support is a thing of the past.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: nVHE: Migrate hyp-init to SMCCC</title>
<updated>2020-09-15T17:39:04Z</updated>
<author>
<name>Andrew Scull</name>
</author>
<published>2020-09-15T10:46:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=04e4caa8d355d19fd7d26734bd2b9e3b563bb22a'/>
<id>urn:sha1:04e4caa8d355d19fd7d26734bd2b9e3b563bb22a</id>
<content type='text'>
To complete the transition to SMCCC, the hyp initialization is given a
function ID. This looks neater than comparing the hyp stub function IDs
to the page table physical address.

Some care is taken to only clobber x0-3 before the host context is saved
as only those registers can be clobbered accoring to SMCCC. Fortunately,
only a few acrobatics are needed. The possible new tpidr_el2 is moved to
the argument in x2 so that it can be stashed in tpidr_el2 early to free
up a scratch register. The page table configuration then makes use of
x0-2.

Signed-off-by: Andrew Scull &lt;ascull@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20200915104643.2543892-19-ascull@google.com
</content>
</entry>
<entry>
<title>Merge branch 'kvm-arm64/target-table-no-more' into kvmarm-master/next-WIP</title>
<updated>2020-07-28T15:10:32Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2020-07-28T15:10:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c9dc95005a681cf93c4012f7cc75eaa0ad12bfdc'/>
<id>urn:sha1:c9dc95005a681cf93c4012f7cc75eaa0ad12bfdc</id>
<content type='text'>
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Move hyp-init.S to nVHE</title>
<updated>2020-07-05T17:38:12Z</updated>
<author>
<name>Andrew Scull</name>
</author>
<published>2020-06-25T13:14:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=208243c752a7eeef4236f7b7d67e806ee356e3f8'/>
<id>urn:sha1:208243c752a7eeef4236f7b7d67e806ee356e3f8</id>
<content type='text'>
hyp-init.S contains the identity mapped initialisation code for the
non-VHE code that runs at EL2. It is only used for non-VHE.

Adjust code that calls into this to use the prefixed symbol name.

Signed-off-by: Andrew Scull &lt;ascull@google.com&gt;
Signed-off-by: David Brazdil &lt;dbrazdil@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20200625131420.71444-8-dbrazdil@google.com
</content>
</entry>
<entry>
<title>KVM: arm64: Remove the target table</title>
<updated>2020-07-05T17:20:45Z</updated>
<author>
<name>James Morse</name>
</author>
<published>2020-06-22T11:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=750ed56693803e992ed09ac9c46e07226dd4d350'/>
<id>urn:sha1:750ed56693803e992ed09ac9c46e07226dd4d350</id>
<content type='text'>
Finally, remove the target table. Merge the code that checks the
tables into kvm_reset_sys_regs() as there is now only one table.

Signed-off-by: James Morse &lt;james.morse@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Link: https://lore.kernel.org/r/20200622113317.20477-6-james.morse@arm.com
</content>
</entry>
<entry>
<title>KVM: arm64: Clean up kvm makefiles</title>
<updated>2020-05-16T14:04:18Z</updated>
<author>
<name>Fuad Tabba</name>
</author>
<published>2020-05-05T15:45:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25357de01b95140ecacd4d9347d74df2dda789f2'/>
<id>urn:sha1:25357de01b95140ecacd4d9347d74df2dda789f2</id>
<content type='text'>
Consolidate references to the CONFIG_KVM configuration item to encompass
entire folders rather than per line.

Signed-off-by: Fuad Tabba &lt;tabba@google.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Acked-by: Will Deacon &lt;will@kernel.org&gt;
Link: https://lore.kernel.org/r/20200505154520.194120-5-tabba@google.com
</content>
</entry>
</feed>
