static void sysbus_mmio_map_common(SysBusDevice *dev, int n, hwaddr addr,

                                   bool may_overlap, unsigned priority)

{

    assert(n >= 0 && n < dev->num_mmio);



    if (dev->mmio[n].addr == addr) {

        /* ??? region already mapped here.  */

        return;

    }

    if (dev->mmio[n].addr != (hwaddr)-1) {

        /* Unregister previous mapping.  */

        memory_region_del_subregion(get_system_memory(), dev->mmio[n].memory);

    }

    dev->mmio[n].addr = addr;

    if (may_overlap) {

        memory_region_add_subregion_overlap(get_system_memory(),

                                            addr,

                                            dev->mmio[n].memory,

                                            priority);

    }

    else {

        memory_region_add_subregion(get_system_memory(),

                                    addr,

                                    dev->mmio[n].memory);

    }

}

static void sysbus_mmio_map_common(SysBusDevice *dev, int n, hwaddr addr,

                                   bool may_overlap, unsigned priority)

{

    assert(n >= 0 && n < dev->num_mmio);



    if (dev->mmio[n].addr == addr) {

        

        return;

    }

    if (dev->mmio[n].addr != (hwaddr)-1) {

        

        memory_region_del_subregion(get_system_memory(), dev->mmio[n].memory);

    }

    dev->mmio[n].addr = addr;

    if (may_overlap) {

        memory_region_add_subregion_overlap(get_system_memory(),

                                            addr,

                                            dev->mmio[n].memory,

                                            priority);

    }

    else {

        memory_region_add_subregion(get_system_memory(),

                                    addr,

                                    dev->mmio[n].memory);

    }

}

static void FUNC_0(SysBusDevice *VAR_0, int VAR_1, hwaddr VAR_2,

                                   bool VAR_3, unsigned VAR_4)

{

    assert(VAR_1 >= 0 && VAR_1 < VAR_0->num_mmio);



    if (VAR_0->mmio[VAR_1].VAR_2 == VAR_2) {

        

        return;

    }

    if (VAR_0->mmio[VAR_1].VAR_2 != (hwaddr)-1) {

        

        memory_region_del_subregion(get_system_memory(), VAR_0->mmio[VAR_1].memory);

    }

    VAR_0->mmio[VAR_1].VAR_2 = VAR_2;

    if (VAR_3) {

        memory_region_add_subregion_overlap(get_system_memory(),

                                            VAR_2,

                                            VAR_0->mmio[VAR_1].memory,

                                            VAR_4);

    }

    else {

        memory_region_add_subregion(get_system_memory(),

                                    VAR_2,

                                    VAR_0->mmio[VAR_1].memory);

    }

}

static void FUNC_0(SysBusDevice *VAR_0, int VAR_1, hwaddr VAR_2,
bool VAR_3, unsigned VAR_4)
{ assert(VAR_1 >= 0 && VAR_1 < VAR_0->num_mmio); if (VAR_0->mmio[VAR_1].VAR_2 == VAR_2) { return; } if (VAR_0->mmio[VAR_1].VAR_2 != (hwaddr)-1) { memory_region_del_subregion(get_system_memory(), VAR_0->mmio[VAR_1].memory); } VAR_0->mmio[VAR_1].VAR_2 = VAR_2; if (VAR_3) { memory_region_add_subregion_overlap(get_system_memory(),
VAR_2,
VAR_0->mmio[VAR_1].memory,
VAR_4); } else { memory_region_add_subregion(get_system_memory(),
VAR_2,
VAR_0->mmio[VAR_1].memory); } }