<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/virt/kvm/arm, branch jd/unified-crypt-queue</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/virt/kvm/arm?h=jd%2Funified-crypt-queue</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/virt/kvm/arm?h=jd%2Funified-crypt-queue'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2020-03-31T14:48:03Z</updated>
<entry>
<title>KVM: Pass kvm_init()'s opaque param to additional arch funcs</title>
<updated>2020-03-31T14:48:03Z</updated>
<author>
<name>Sean Christopherson</name>
<email>sean.j.christopherson@intel.com</email>
</author>
<published>2020-03-21T20:25:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=b990408537388e9174b642ad36cdef6c47c64d3a'/>
<id>urn:sha1:b990408537388e9174b642ad36cdef6c47c64d3a</id>
<content type='text'>
Pass @opaque to kvm_arch_hardware_setup() and
kvm_arch_check_processor_compat() to allow architecture specific code to
reference @opaque without having to stash it away in a temporary global
variable.  This will enable x86 to separate its vendor specific callback
ops, which are passed via @opaque, into "init" and "runtime" ops without
having to stash away the "init" ops.

No functional change intended.

Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Tested-by: Cornelia Huck &lt;cohuck@redhat.com&gt; #s390
Acked-by: Marc Zyngier &lt;maz@kernel.org&gt;
Signed-off-by: Sean Christopherson &lt;sean.j.christopherson@intel.com&gt;
Message-Id: &lt;20200321202603.19355-2-sean.j.christopherson@intel.com&gt;
Reviewed-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'kvmarm-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD</title>
<updated>2020-03-31T14:44:53Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2020-03-31T14:44:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=cf39d37539068d53e015d8b4f1dcf42c65306b0d'/>
<id>urn:sha1:cf39d37539068d53e015d8b4f1dcf42c65306b0d</id>
<content type='text'>
KVM/arm updates for Linux 5.7

- GICv4.1 support
- 32bit host removal
</content>
</entry>
<entry>
<title>Merge branch 'kvm-arm64/gic-v4.1' into kvmarm-master/next</title>
<updated>2020-03-24T12:45:27Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-24T12:45:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=cc98702c1775a9ff3d943674c97d9561cf605fcd'/>
<id>urn:sha1:cc98702c1775a9ff3d943674c97d9561cf605fcd</id>
<content type='text'>
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: GICv4.1: Expose HW-based SGIs in debugfs</title>
<updated>2020-03-24T12:15:52Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-04T20:33:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=dab4fe3bf6dd87a7d6dbab2c929afd1ef62a120b'/>
<id>urn:sha1:dab4fe3bf6dd87a7d6dbab2c929afd1ef62a120b</id>
<content type='text'>
The vgic-state debugfs file could do with showing the pending state
of the HW-backed SGIs. Plug it into the low-level code.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Link: https://lore.kernel.org/r/20200304203330.4967-24-maz@kernel.org
</content>
</entry>
<entry>
<title>KVM: arm64: GICv4.1: Reload VLPI configuration on distributor enable/disable</title>
<updated>2020-03-24T12:15:51Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-04T20:33:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d9c3872cd2f86b7295446e35b4801270669d2960'/>
<id>urn:sha1:d9c3872cd2f86b7295446e35b4801270669d2960</id>
<content type='text'>
Each time a Group-enable bit gets flipped, the state of these bits
needs to be forwarded to the hardware. This is a pretty heavy
handed operation, requiring all vcpus to reload their GICv4
configuration. It is thus implemented as a new request type.

These enable bits are programmed into the HW by setting the VGrp{0,1}En
fields of GICR_VPENDBASER when the vPEs are made resident again.

Of course, we only support Group-1 for now...

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Link: https://lore.kernel.org/r/20200304203330.4967-22-maz@kernel.org
</content>
</entry>
<entry>
<title>KVM: arm64: GICv4.1: Plumb SGI implementation selection in the distributor</title>
<updated>2020-03-24T12:15:51Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-04T20:33:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=2291ff2f2a569b7b7a64aff3d05e1d51fe0fd66a'/>
<id>urn:sha1:2291ff2f2a569b7b7a64aff3d05e1d51fe0fd66a</id>
<content type='text'>
The GICv4.1 architecture gives the hypervisor the option to let
the guest choose whether it wants the good old SGIs with an
active state, or the new, HW-based ones that do not have one.

For this, plumb the configuration of SGIs into the GICv3 MMIO
handling, present the GICD_TYPER2.nASSGIcap to the guest,
and handle the GICD_CTLR.nASSGIreq setting.

In order to be able to deal with the restore of a guest, also
apply the GICD_CTLR.nASSGIreq setting at first run so that we
can move the restored SGIs to the HW if that's what the guest
had selected in a previous life.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Link: https://lore.kernel.org/r/20200304203330.4967-21-maz@kernel.org
</content>
</entry>
<entry>
<title>KVM: arm64: GICv4.1: Allow SGIs to switch between HW and SW interrupts</title>
<updated>2020-03-24T12:15:51Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-04T20:33:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=bacf2c60548befa8a31c2f19ef65bf2177fda33f'/>
<id>urn:sha1:bacf2c60548befa8a31c2f19ef65bf2177fda33f</id>
<content type='text'>
In order to let a guest buy in the new, active-less SGIs, we
need to be able to switch between the two modes.

Handle this by stopping all guest activity, transfer the state
from one mode to the other, and resume the guest. Nothing calls
this code so far, but a later patch will plug it into the MMIO
emulation.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Link: https://lore.kernel.org/r/20200304203330.4967-20-maz@kernel.org
</content>
</entry>
<entry>
<title>KVM: arm64: GICv4.1: Add direct injection capability to SGI registers</title>
<updated>2020-03-24T12:15:51Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-04T20:33:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=ef1820be47773012d7526abb8c79befcc1d7b607'/>
<id>urn:sha1:ef1820be47773012d7526abb8c79befcc1d7b607</id>
<content type='text'>
Most of the GICv3 emulation code that deals with SGIs now has to be
aware of the v4.1 capabilities in order to benefit from it.

Add such support, keyed on the interrupt having the hw flag set and
being a SGI.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Link: https://lore.kernel.org/r/20200304203330.4967-19-maz@kernel.org
</content>
</entry>
<entry>
<title>KVM: arm64: GICv4.1: Let doorbells be auto-enabled</title>
<updated>2020-03-24T12:15:51Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-04T20:33:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=9879b79aefe5ca3cfee0138189c8116f3a71e770'/>
<id>urn:sha1:9879b79aefe5ca3cfee0138189c8116f3a71e770</id>
<content type='text'>
As GICv4.1 understands the life cycle of doorbells (instead of
just randomly firing them at the most inconvenient time), just
enable them at irq_request time, and be done with it.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Link: https://lore.kernel.org/r/20200304203330.4967-18-maz@kernel.org
</content>
</entry>
<entry>
<title>irqchip/gic-v4.1: Move doorbell management to the GICv4 abstraction layer</title>
<updated>2020-03-24T12:15:51Z</updated>
<author>
<name>Marc Zyngier</name>
<email>maz@kernel.org</email>
</author>
<published>2020-03-04T20:33:20Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=ae699ad348cdcd416cbf28e8a02fc468780161f7'/>
<id>urn:sha1:ae699ad348cdcd416cbf28e8a02fc468780161f7</id>
<content type='text'>
In order to hide some of the differences between v4.0 and v4.1, move
the doorbell management out of the KVM code, and into the GICv4-specific
layer. This allows the calling code to ask for the doorbell when blocking,
and otherwise to leave the doorbell permanently disabled.

This matches the v4.1 code perfectly, and only results in a minor
refactoring of the v4.0 code.

Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Reviewed-by: Zenghui Yu &lt;yuzenghui@huawei.com&gt;
Link: https://lore.kernel.org/r/20200304203330.4967-14-maz@kernel.org
</content>
</entry>
</feed>
