Commit-ID: 4646dd4f5931bfa4b53513222c8629bee1f79f89 Gitweb: http://git.kernel.org/tip/4646dd4f5931bfa4b53513222c8629bee1f79f89 Author: Marc Zyngier <marc.zyngier@xxxxxxx> AuthorDate: Tue, 21 May 2013 15:29:36 +0300 Committer: Pekka Enberg <penberg@xxxxxxxxxx> CommitDate: Mon, 10 Jun 2013 17:38:24 +0300 kvm tools: add status notification hook to virtio-mmio Patch e03b449cbddf (kvm tools: add status notification hook for virtio) converted virtio-net to use a new notification mechanism, but unfortunately left virtio-mmio behind. The direct consequence is that both arm and arm64 guests are left without any form of networking. Not good. Bring virtio-mmio into this brave new notified world, and feel the power of being able to ping again. Acked-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Asias He <asias.hejun@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxx> --- tools/kvm/virtio/mmio.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/kvm/virtio/mmio.c b/tools/kvm/virtio/mmio.c index a4e4855..afa2692 100644 --- a/tools/kvm/virtio/mmio.c +++ b/tools/kvm/virtio/mmio.c @@ -144,16 +144,21 @@ static void virtio_mmio_config_out(u64 addr, void *data, u32 len, struct virtio_device *vdev) { struct virtio_mmio *vmmio = vdev->virtio; + struct kvm *kvm = vmmio->kvm; u32 val = 0; switch (addr) { case VIRTIO_MMIO_HOST_FEATURES_SEL: case VIRTIO_MMIO_GUEST_FEATURES_SEL: case VIRTIO_MMIO_QUEUE_SEL: - case VIRTIO_MMIO_STATUS: val = ioport__read32(data); *(u32 *)(((void *)&vmmio->hdr) + addr) = val; break; + case VIRTIO_MMIO_STATUS: + vmmio->hdr.status = ioport__read32(data); + if (vdev->ops->notify_status) + vdev->ops->notify_status(kvm, vmmio->dev, vmmio->hdr.status); + break; case VIRTIO_MMIO_GUEST_FEATURES: if (vmmio->hdr.guest_features_sel == 0) { val = ioport__read32(data); -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html