[SeaBIOS] [PATCH] fix two issues with virtio-blk

Stefan Hajnoczi stefanha at gmail.com
Wed May 12 17:42:30 CEST 2010


On Tue, May 11, 2010 at 1:21 PM, Gleb Natapov <gleb at redhat.com> wrote:
> 2. Disable interrupt otherwise interrupt may stuck
>   with some guests.
[...]
> diff --git a/src/virtio-ring.h b/src/virtio-ring.h
> index 95ae85b..f2f2460 100644
> --- a/src/virtio-ring.h
> +++ b/src/virtio-ring.h
> @@ -105,6 +105,8 @@ static inline void vring_init(struct vring *vr,
>    vr->desc = phys_to_virt(pa);
>
>    vr->avail = (struct vring_avail *)&vr->desc[num];
> +   /* disable interrupts */
> +   vr->avail->flags |= VRING_AVAIL_F_NO_INTERRUPT;

I don't understand this.  Why would the interrupt get stuck?

The virtio-net device closely manages interrupts because it uses NAPI.
 The virtio-blk device assumes it will receive interrupts and doesn't
enable_cb/disable_cb.  I might be confused but have you tested this
change with virtio-blk?

Stefan



More information about the SeaBIOS mailing list