Lines Matching refs:mmio
648 static int subpage_register (subpage_t *mmio, uint32_t start, uint32_t end,
1639 static inline uint32_t subpage_readlen (subpage_t *mmio, hwaddr addr,
1648 mmio, len, addr, idx);
1650 ret = (**mmio->mem_read[idx][len])(mmio->opaque[idx][0][len],
1651 addr + mmio->region_offset[idx][0][len]);
1656 static inline void subpage_writelen (subpage_t *mmio, hwaddr addr,
1664 mmio, len, addr, idx, value);
1666 (**mmio->mem_write[idx][len])(mmio->opaque[idx][1][len],
1667 addr + mmio->region_offset[idx][1][len],
1737 static int subpage_register (subpage_t *mmio, uint32_t start, uint32_t end,
1749 mmio, start, end, idx, eidx, memory);
1755 mmio->mem_read[idx][i] = &_io_mem_read[memory][i];
1756 mmio->opaque[idx][0][i] = io_mem_opaque[memory];
1757 mmio->region_offset[idx][0][i] = region_offset;
1760 mmio->mem_write[idx][i] = &_io_mem_write[memory][i];
1761 mmio->opaque[idx][1][i] = io_mem_opaque[memory];
1762 mmio->region_offset[idx][1][i] = region_offset;
1773 subpage_t *mmio;
1776 mmio = g_malloc0(sizeof(subpage_t));
1778 mmio->base = base;
1779 subpage_memory = cpu_register_io_memory(subpage_read, subpage_write, mmio);
1782 mmio, base, TARGET_PAGE_SIZE, subpage_memory);
1785 subpage_register(mmio, 0, TARGET_PAGE_SIZE - 1, orig_memory,
1788 return mmio;