@@ -77,6 +77,15 @@ void vp_set_status(struct vp_device *vp, u8 status)
}
}
+u8 vp_get_isr(struct vp_device *vp)
+{
+ if (vp->use_modern) {
+ return vp_read(&vp->isr, virtio_pci_isr, isr);
+ } else {
+ return vp_read(&vp->legacy, virtio_pci_legacy, isr);
+ }
+}
+
int vp_find_vq(struct vp_device *vp, int queue_index,
struct vring_virtqueue **p_vq)
{
@@ -230,11 +230,7 @@ static inline void vp_get(struct vp_device *vp, unsigned offset,
u8 vp_get_status(struct vp_device *vp);
void vp_set_status(struct vp_device *vp, u8 status);
-
-static inline u8 vp_get_isr(struct vp_device *vp)
-{
- return inb(GET_LOWFLAT(vp->ioaddr) + VIRTIO_PCI_ISR);
-}
+u8 vp_get_isr(struct vp_device *vp);
static inline void vp_reset(struct vp_device *vp)
{
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- src/hw/virtio-pci.c | 9 +++++++++ src/hw/virtio-pci.h | 6 +----- 2 files changed, 10 insertions(+), 5 deletions(-)