<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/virt/kvm/arm/hyp, branch linux-4.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-07-22T12:28:50Z</updated>
<entry>
<title>KVM: arm/arm64: Do not use kern_hyp_va() with kvm_vgic_global_state</title>
<updated>2018-07-22T12:28:50Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2018-07-20T09:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dca7815605aff032d0b7f9c4f1d98af0e529cdee'/>
<id>urn:sha1:dca7815605aff032d0b7f9c4f1d98af0e529cdee</id>
<content type='text'>
Commit 44a497abd621a71c645f06d3d545ae2f46448830 upstream.

kvm_vgic_global_state is part of the read-only section, and is
usually accessed using a PC-relative address generation (adrp + add).

It is thus useless to use kern_hyp_va() on it, and actively problematic
if kern_hyp_va() becomes non-idempotent. On the other hand, there is
no way that the compiler is going to guarantee that such access is
always PC relative.

So let's bite the bullet and provide our own accessor.

Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reviewed-by: James Morse &lt;james.morse@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>kvm: arm/arm64: vgic-v3: Tighten synchronization for guests using v2 on v3</title>
<updated>2018-03-21T11:06:43Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2018-03-06T21:44:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b85437d007f45e347cf564b6acfb2761453e9f45'/>
<id>urn:sha1:b85437d007f45e347cf564b6acfb2761453e9f45</id>
<content type='text'>
commit 27e91ad1e746e341ca2312f29bccb9736be7b476 upstream.

On guest exit, and when using GICv2 on GICv3, we use a dsb(st) to
force synchronization between the memory-mapped guest view and
the system-register view that the hypervisor uses.

This is incorrect, as the spec calls out the need for "a DSB whose
required access type is both loads and stores with any Shareability
attribute", while we're only synchronizing stores.

We also lack an isb after the dsb to ensure that the latter has
actually been executed before we start reading stuff from the sysregs.

The fix is pretty easy: turn dsb(st) into dsb(sy), and slap an isb()
just after.

Cc: stable@vger.kernel.org
Fixes: f68d2b1b73cc ("arm64: KVM: Implement vgic-v3 save/restore")
Acked-by: Christoffer Dall &lt;cdall@kernel.org&gt;
Reviewed-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>KVM: arm/arm64: Fix broken GICH_ELRSR big endian conversion</title>
<updated>2017-12-14T08:53:01Z</updated>
<author>
<name>Christoffer Dall</name>
</author>
<published>2017-12-03T22:54:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73c4af9627c0914b81832e162deb34f4894760cb'/>
<id>urn:sha1:73c4af9627c0914b81832e162deb34f4894760cb</id>
<content type='text'>
commit fc396e066318c0a02208c1d3f0b62950a7714999 upstream.

We are incorrectly rearranging 32-bit words inside a 64-bit typed value
for big endian systems, which would result in never marking a virtual
interrupt as inactive on big endian systems (assuming 32 or fewer LRs on
the hardware).  Fix this by not doing any word order manipulation for
the typed values.

Acked-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>arm64/kvm: sysreg: fix typo'd SYS_ICC_IGRPEN*_EL1</title>
<updated>2017-06-15T08:45:07Z</updated>
<author>
<name>Mark Rutland</name>
</author>
<published>2017-06-05T13:20:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21bc52817772a5af6a8a5a750c676ea4a02d4d3b'/>
<id>urn:sha1:21bc52817772a5af6a8a5a750c676ea4a02d4d3b</id>
<content type='text'>
Per ARM DDI 0487B.a, the registers are named ICC_IGRPEN*_EL1 rather than
ICC_GRPEN*_EL1. Correct our mnemonics and comments to match, before we
add more GICv3 register definitions.

Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Cc: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Cc: kvmarm@lists.cs.columbia.edu
Acked-by: Christoffer Dall &lt;cdall@linaro.org&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;cdall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access</title>
<updated>2017-06-15T08:45:07Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2017-06-09T11:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b1dba1f7325629427c0e5bdf014159b229d16c8'/>
<id>urn:sha1:7b1dba1f7325629427c0e5bdf014159b229d16c8</id>
<content type='text'>
A write-to-read-only GICv3 access should UNDEF at EL1. But since
we're in complete paranoia-land with broken CPUs, let's assume the
worse and gracefully handle the case.

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Reviewed-by: Christoffer Dall &lt;cdall@linaro.org&gt;
Signed-off-by: Christoffer Dall &lt;cdall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Log an error if trapping a read-from-write-only GICv3 access</title>
<updated>2017-06-15T08:45:06Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2017-06-09T11:49:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7f1d1eef482150a64a6e6ad8faf40f8f97eed67'/>
<id>urn:sha1:e7f1d1eef482150a64a6e6ad8faf40f8f97eed67</id>
<content type='text'>
A read-from-write-only GICv3 access should UNDEF at EL1. But since
we're in complete paranoia-land with broken CPUs, let's assume the
worse and gracefully handle the case.

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Reviewed-by: Christoffer Dall &lt;cdall@linaro.org&gt;
Signed-off-by: Christoffer Dall &lt;cdall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: vgic-v3: Add ICV_PMR_EL1 handler</title>
<updated>2017-06-15T08:45:05Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2017-06-09T11:49:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6293d6514d6b0945210e15edcecc71d99cfca97c'/>
<id>urn:sha1:6293d6514d6b0945210e15edcecc71d99cfca97c</id>
<content type='text'>
Add a handler for reading/writing the guest's view of the ICC_PMR_EL1
register, which is located in the ICH_VMCR_EL2.VPMR field.

Tested-by: Alexander Graf &lt;agraf@suse.de&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Acked-by: Christoffer Dall &lt;cdall@linaro.org&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;cdall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: vgic-v3: Add ICV_CTLR_EL1 handler</title>
<updated>2017-06-15T08:45:05Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2017-06-09T11:49:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d840b2d37d3ef2463db38274c6fd72619acbe216'/>
<id>urn:sha1:d840b2d37d3ef2463db38274c6fd72619acbe216</id>
<content type='text'>
Add a handler for reading/writing the guest's view of the ICV_CTLR_EL1
register. only EOIMode and CBPR are of interest here, as all the other
bits directly come from ICH_VTR_EL2 and are Read-Only.

Tested-by: Alexander Graf &lt;agraf@suse.de&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Acked-by: Christoffer Dall &lt;cdall@linaro.org&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;cdall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: vgic-v3: Add ICV_RPR_EL1 handler</title>
<updated>2017-06-15T08:45:05Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2017-06-09T11:49:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43515894c06f856b7743145e002591309f60b247'/>
<id>urn:sha1:43515894c06f856b7743145e002591309f60b247</id>
<content type='text'>
Add a handler for reading the guest's view of the ICV_RPR_EL1
register, returning the highest active priority.

Tested-by: Alexander Graf &lt;agraf@suse.de&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Acked-by: Christoffer Dall &lt;cdall@linaro.org&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;cdall@linaro.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: vgic-v3: Add ICV_DIR_EL1 handler</title>
<updated>2017-06-15T08:45:04Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2017-06-09T11:49:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40228ba57c8532d4977d684a363915402d85dbf9'/>
<id>urn:sha1:40228ba57c8532d4977d684a363915402d85dbf9</id>
<content type='text'>
Add a handler for writing the guest's view of the ICC_DIR_EL1
register, performing the deactivation of an interrupt if EOImode
is set ot 1.

Tested-by: Alexander Graf &lt;agraf@suse.de&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Reviewed-by: Christoffer Dall &lt;cdall@linaro.org&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Christoffer Dall &lt;cdall@linaro.org&gt;
</content>
</entry>
</feed>
