[SeaBIOS] [PATCH 10/18] virtio: add version 1.0 support to vp_get_isr
Kevin O'Connor
kevin at koconnor.net
Mon Jun 29 16:00:01 CEST 2015
On Mon, Jun 29, 2015 at 10:53:32AM +0200, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
> ---
> src/hw/virtio-pci.c | 12 ++++++++++++
> src/hw/virtio-pci.h | 6 +-----
> 2 files changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/src/hw/virtio-pci.c b/src/hw/virtio-pci.c
> index b414c71..481b365 100644
> --- a/src/hw/virtio-pci.c
> +++ b/src/hw/virtio-pci.c
> @@ -90,6 +90,18 @@ void vp_set_status(struct vp_device *vp, u8 status)
> }
> }
>
> +u8 vp_get_isr(struct vp_device *vp)
> +{
> + u8 isr;
> +
> + if (vp->use_modern) {
> + vp_modern_read(vp->isr, virtio_pci_isr, isr, isr);
> + } else {
> + isr = inb(vp->ioaddr + VIRTIO_PCI_ISR);
> + }
> + return isr;
> +}
How about renaming "use_modern" to something more descriptive - like
"use_abi1"? Also, couldn't vp_modern_read just be renamed to vp_read.
BTW, out of curiosity, did you consider retroactively making ABIv0
structs and using vp_read() for both the new and old cases? I'm not
sure it would save any code, but mixing the struct/offset/sizeof
method with the inb/define method seems a little awkward.
-Kevin
More information about the SeaBIOS
mailing list