Necessary since memory region accessor assumes read and write methods are registered. Otherwise reading I/O port 0x7e segfaults.
https://bugzilla.redhat.com/show_bug.cgi?id=954306 Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c index 5b558aa..655483b 100644 --- a/hw/i386/kvmvapic.c +++ b/hw/i386/kvmvapic.c @@ -687,8 +687,14 @@ static void vapic_write(void *opaque, hwaddr addr, uint64_t data, } } +static uint64_t vapic_read(void *opaque, hwaddr addr, unsigned size) +{ + return 0xffffffff; +} + static const MemoryRegionOps vapic_ops = { .write = vapic_write, + .read = vapic_read, .endianness = DEVICE_NATIVE_ENDIAN, };