On Fri, 16 Oct 2020 13:43:25 +0200 Gerd Hoffmann <kra...@redhat.com> wrote:
> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > --- > include/hw/i386/microvm.h | 2 +- > hw/i386/microvm.c | 9 +++++++-- > 2 files changed, 8 insertions(+), 3 deletions(-) > > diff --git a/include/hw/i386/microvm.h b/include/hw/i386/microvm.h > index 91b064575d55..0154ad5bd707 100644 > --- a/include/hw/i386/microvm.h > +++ b/include/hw/i386/microvm.h > @@ -52,7 +52,6 @@ > > /* Platform virtio definitions */ > #define VIRTIO_MMIO_BASE 0xfeb00000 > -#define VIRTIO_NUM_TRANSPORTS 8 > #define VIRTIO_CMDLINE_MAXLEN 64 > > #define GED_MMIO_BASE 0xfea00000 > @@ -95,6 +94,7 @@ struct MicrovmMachineState { > > /* Machine state */ > uint32_t virtio_irq_base; > + uint32_t virtio_num_transports; > bool kernel_cmdline_fixed; > Notifier machine_done; > Notifier powerdown_req; > diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c > index 9dd74458aca4..eaf5da31f7e1 100644 > --- a/hw/i386/microvm.c > +++ b/hw/i386/microvm.c > @@ -177,8 +177,13 @@ static void microvm_devices_init(MicrovmMachineState > *mms) > > kvmclock_create(true); > > - mms->virtio_irq_base = x86_machine_is_acpi_enabled(x86ms) ? 16 : 5; > - for (i = 0; i < VIRTIO_NUM_TRANSPORTS; i++) { > + mms->virtio_irq_base = 5; > + mms->virtio_num_transports = 8; > + if (x86_machine_is_acpi_enabled(x86ms)) { > + mms->virtio_irq_base = 16; > + } can we unify and use the same base in both cases? > + > + for (i = 0; i < mms->virtio_num_transports; i++) { > sysbus_create_simple("virtio-mmio", > VIRTIO_MMIO_BASE + i * 512, > x86ms->gsi[mms->virtio_irq_base + i]);