Skip to content
  • Avi Kivity's avatar
    memory: fix I/O port aliases · a2d33521
    Avi Kivity authored
    
    
    Commit e58ac72b6a0 ("ioport: change portio_list not to use
    memory_region_set_offset()") started using aliases of I/O memory
    regions.  Since the IORange used for the I/O was contained in the
    target region, the alias information (specifically, the offset
    into the region) was lost.  This broke -vga std.
    
    Fix by allocating an independent object to hold the IORange and
    also the new offset.
    
    Note that I/O memory regions were conceptually broken wrt aliases
    in a different way: an alias can cause the same region to appear
    twice in an address space, but we had just one IORange to service it.
    This patch fixes that problem as well, since we can now have multiple
    IORange/MemoryRegion associations.
    
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    a2d33521