use range helper function in i440fx_write_config(). Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp> --- hw/piix_pci.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/piix_pci.c b/hw/piix_pci.c index 7bbaf50..304f84a 100644 --- a/hw/piix_pci.c +++ b/hw/piix_pci.c @@ -136,9 +136,11 @@ static void i440fx_write_config(PCIDevice *dev, /* XXX: implement SMRAM.D_LOCK */ pci_default_write_config(dev, address, val, len); - if ((address >= I440FX_PAM0 && address <= I440FX_PAM6) || - address == I440FX_SMRAM) + if (ranges_overlap(address, len, + I440FX_PAM0, I440FX_PAM6 - I440FX_PAM0 + 1) || + range_covers_byte(address, len, I440FX_SMRAM)) { i440fx_update_memory_mappings(d); + } } static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id) -- 1.6.5.4