Statistics
| Branch: | Revision:

root / memory.h @ c2162a8b

History | View | Annotate | Download (18 kB)

# Date Author Comment
75f5941c 08/26/2011 12:35 am Avi Kivity

memory: add opaque parameter to memory_region_init_rom_device()

The MemoryRegionOps callbacks expect it.

Signed-off-by: Avi Kivity <>

d0a9b5bc 08/12/2011 04:31 pm Avi Kivity

memory: add API for creating ROM/device regions

ROM/device regions act as mapped RAM for reads, can I/O memory for
writes. This allow emulation of flash devices.

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

545e92e0 08/12/2011 04:31 pm Avi Kivity

memory: reclaim resources when a memory region is destroyed for good

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

2dd30228 08/08/2011 06:15 pm Avi Kivity

memory: rename PORTIO_END to PORTIO_END_OF_LIST

For consistency with other _END_OF_LIST macros.

Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

14a3c10a 07/29/2011 04:25 pm Avi Kivity

memory: rename MemoryRegion::has_ram_addr to ::terminates

I/O regions will not have ram_addrs, so this is a better name.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

16ef61c9 07/29/2011 04:25 pm Avi Kivity

memory: late initialization of ram_addr

For non-RAM memory regions, we cannot tell whether this is an I/O region
or an MMIO region. Since the qemu backing registration is different for
the two, we have to defer initialization until we know which address...

658b2224 07/29/2011 04:25 pm Avi Kivity

memory: I/O address space support

Allow registering I/O ports via the same mechanism as mmio ranges.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

627a0e90 07/29/2011 04:25 pm Avi Kivity

memory: add backward compatibility for old portio registration

Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

74901c3b 07/29/2011 04:25 pm Avi Kivity

memory: add backward compatibility for old mmio registration

This eases the transition to the new API.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

3e9d69e7 07/29/2011 04:25 pm Avi Kivity

memory: add ioeventfd support

As with the rest of the memory API, the caller associates an eventfd
with an address, and the memory API takes care of registering or
unregistering when the address is made visible or invisible to the
guest.

Signed-off-by: Avi Kivity <>...

4ef4db86 07/29/2011 04:25 pm Avi Kivity

memory: transaction API

Allow changes to the memory hierarchy to be accumulated and
made visible all at once. This reduces computational effort,
especially when an accelerator (e.g. kvm) is involved.

Useful when a single register update causes multiple changes...

093bc2cd 07/29/2011 04:25 pm Avi Kivity

Hierarchical memory region API

The memory API separates the attributes of a memory region (its size, how
reads or writes are handled, dirty logging, and coalescing) from where it
is mapped and whether it is enabled. This allows a device to configure
a memory region once, then hand it off to its parent bus to map it according...

5a583347 07/29/2011 04:25 pm Avi Kivity

memory: implement dirty tracking

Currently dirty tracking is implemented by passing through
all calls to the underlying cpu_physical_memory_*() calls.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>