<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/include/asm/kvm_emulate.h, branch linux-5.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.1.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.1.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-02-19T21:05:45Z</updated>
<entry>
<title>KVM: arm/arm64: Move kvm_is_write_fault to header file</title>
<updated>2019-02-19T21:05:45Z</updated>
<author>
<name>Christoffer Dall</name>
</author>
<published>2016-05-01T20:29:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64cf98fa5544aee6c547786ee32f92b796b30635'/>
<id>urn:sha1:64cf98fa5544aee6c547786ee32f92b796b30635</id>
<content type='text'>
Move this little function to the header files for arm/arm64 so other
code can make use of it directly.

Signed-off-by: Christoffer Dall &lt;christoffer.dall@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'kvmarm-for-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD</title>
<updated>2018-08-22T12:07:56Z</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2018-08-22T12:07:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=631989303b06b8fdb15ec3b88aee2d25e80d4cec'/>
<id>urn:sha1:631989303b06b8fdb15ec3b88aee2d25e80d4cec</id>
<content type='text'>
KVM/arm updates for 4.19

- Support for Group0 interrupts in guests
- Cache management optimizations for ARMv8.4 systems
- Userspace interface for RAS, allowing error retrival and injection
- Fault path optimization
- Emulated physical timer fixes
- Random cleanups
</content>
</entry>
<entry>
<title>KVM: arm: Use true and false for boolean values</title>
<updated>2018-08-12T11:17:51Z</updated>
<author>
<name>Gustavo A. R. Silva</name>
</author>
<published>2018-08-08T00:04:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=062a585ec21ea478be4826be7ddddb5b3ac49789'/>
<id>urn:sha1:062a585ec21ea478be4826be7ddddb5b3ac49789</id>
<content type='text'>
Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva &lt;gustavo@embeddedor.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>KVM: arm/arm64: Enable adaptative WFE trapping</title>
<updated>2018-07-09T10:38:24Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2018-06-21T09:43:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de73708915adc1b3f05e617a86da6b2d68fae141'/>
<id>urn:sha1:de73708915adc1b3f05e617a86da6b2d68fae141</id>
<content type='text'>
Trapping blocking WFE is extremely beneficial in situations where
the system is oversubscribed, as it allows another thread to run
while being blocked. In a non-oversubscribed environment, this is
the complete opposite, and trapping WFE is just unnecessary overhead.

Let's only enable WFE trapping if the CPU has more than a single task
to run (that is, more than just the vcpu thread).

Reviewed-by: Christoffer Dall &lt;christoffer.dall@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>kvm/arm: use PSR_AA32 definitions</title>
<updated>2018-07-05T16:24:15Z</updated>
<author>
<name>Mark Rutland</name>
</author>
<published>2018-07-05T14:16:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=256c0960b7b6453dc90a4e879da52ab76b4037f9'/>
<id>urn:sha1:256c0960b7b6453dc90a4e879da52ab76b4037f9</id>
<content type='text'>
Some code cares about the SPSR_ELx format for exceptions taken from
AArch32 to inspect or manipulate the SPSR_ELx value, which is already in
the SPSR_ELx format, and not in the AArch32 PSR format.

To separate these from cases where we care about the AArch32 PSR format,
migrate these cases to use the PSR_AA32_* definitions rather than
COMPAT_PSR_*.

There should be no functional change as a result of this patch.

Note that arm64 KVM does not support a compat KVM API, and always uses
the SPSR_ELx format, even for AArch32 guests.

Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Acked-by: Christoffer Dall &lt;christoffer.dall@arm.com&gt;
Acked-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>KVM: arm/arm64: Prepare to handle deferred save/restore of SPSR_EL1</title>
<updated>2018-03-19T10:53:17Z</updated>
<author>
<name>Christoffer Dall</name>
</author>
<published>2017-12-27T19:01:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=00536ec476601a60d976eebf6aeb9633d4fb37d9'/>
<id>urn:sha1:00536ec476601a60d976eebf6aeb9633d4fb37d9</id>
<content type='text'>
SPSR_EL1 is not used by a VHE host kernel and can be deferred, but we
need to rework the accesses to this register to access the latest value
depending on whether or not guest system registers are loaded on the CPU
or only reside in memory.

The handling of accessing the various banked SPSRs for 32-bit VMs is a
bit clunky, but this will be improved in following patches which will
first prepare and subsequently implement deferred save/restore of the
32-bit registers, including the 32-bit SPSRs.

Reviewed-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Reviewed-by: Andrew Jones &lt;drjones@redhat.com&gt;
Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>KVM: arm/arm64: Get rid of vcpu-&gt;arch.irq_lines</title>
<updated>2018-03-19T10:53:10Z</updated>
<author>
<name>Christoffer Dall</name>
</author>
<published>2017-08-03T10:09:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3df59d8dd3c2526b33d51af9e6f66e61262de71b'/>
<id>urn:sha1:3df59d8dd3c2526b33d51af9e6f66e61262de71b</id>
<content type='text'>
We currently have a separate read-modify-write of the HCR_EL2 on entry
to the guest for the sole purpose of setting the VF and VI bits, if set.
Since this is most rarely the case (only when using userspace IRQ chip
and interrupts are in flight), let's get rid of this operation and
instead modify the bits in the vcpu-&gt;arch.hcr[_el2] directly when
needed.

Acked-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Reviewed-by: Andrew Jones &lt;drjones@redhat.com&gt;
Reviewed-by: Julien Thierry &lt;julien.thierry@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>KVM: arm/arm64: Fix trailing semicolon</title>
<updated>2018-01-23T15:48:32Z</updated>
<author>
<name>Luis de Bethencourt</name>
</author>
<published>2018-01-23T15:11:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b276f1b3b1eb52697f6645bb98f7d32ffb89df69'/>
<id>urn:sha1:b276f1b3b1eb52697f6645bb98f7d32ffb89df69</id>
<content type='text'>
The trailing semicolon is an empty statement that does no operation.
Removing it since it doesn't do anything.

Signed-off-by: Luis de Bethencourt &lt;luisbg@kernel.org&gt;
Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm/arm64: fix the incompatible matching for external abort</title>
<updated>2017-11-06T15:23:20Z</updated>
<author>
<name>Dongjiu Geng</name>
</author>
<published>2017-10-30T06:05:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2b83133339067c1b27f902e32506ab2871e2320'/>
<id>urn:sha1:a2b83133339067c1b27f902e32506ab2871e2320</id>
<content type='text'>
kvm_vcpu_dabt_isextabt() tries to match a full fault syndrome, but
calls kvm_vcpu_trap_get_fault_type() that only returns the fault class,
thus reducing the scope of the check. This doesn't cause any observable
bug yet as we end-up matching a closely related syndrome for which we
return the same value.

Using kvm_vcpu_trap_get_fault() instead fixes it for good.

Signed-off-by: Dongjiu Geng &lt;gengdongjiu@huawei.com&gt;
Acked-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm/arm64: Unify 32bit fault injection</title>
<updated>2017-11-06T15:23:20Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2017-10-29T02:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74a64a981662ab34289b3c90f6f964aa38ec1d9f'/>
<id>urn:sha1:74a64a981662ab34289b3c90f6f964aa38ec1d9f</id>
<content type='text'>
Both arm and arm64 implementations are capable of injecting
faults, and yet have completely divergent implementations,
leading to different bugs and reduced maintainability.

Let's elect the arm64 version as the canonical one
and move it into aarch32.c, which is common to both
architectures.

Reviewed-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
</content>
</entry>
</feed>
