From 3bb28b7208b349e7a1b326e3c6ef9efac1d462bf Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Mon, 2 Sep 2013 18:43:30 +0200 Subject: memory: Provide separate handling of unassigned io ports accesses Accesses to unassigned io ports shall return -1 on read and be ignored on write. Ensure these properties via dedicated ops, decoupling us from the memory core's handling of unassigned accesses. Cc: qemu-stable@nongnu.org Signed-off-by: Jan Kiszka Signed-off-by: Paolo Bonzini --- ioport.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'ioport.c') diff --git a/ioport.c b/ioport.c index 79b7f1ae38..707cce88ab 100644 --- a/ioport.c +++ b/ioport.c @@ -44,6 +44,22 @@ typedef struct MemoryRegionPortioList { MemoryRegionPortio ports[]; } MemoryRegionPortioList; +static uint64_t unassigned_io_read(void *opaque, hwaddr addr, unsigned size) +{ + return -1ULL; +} + +static void unassigned_io_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) +{ +} + +const MemoryRegionOps unassigned_io_ops = { + .read = unassigned_io_read, + .write = unassigned_io_write, + .endianness = DEVICE_NATIVE_ENDIAN, +}; + void cpu_outb(pio_addr_t addr, uint8_t val) { LOG_IOPORT("outb: %04"FMT_pioaddr" %02"PRIx8"\n", addr, val); -- cgit v1.2.1