Lines Matching full:memory

2 The memory API
5 The memory API models the memory and I/O buses and controllers of a QEMU
9 - memory-mapped I/O (MMIO)
10 - memory controllers that can dynamically reroute physical memory regions
13 The memory model provides support for
16 - setting up coalesced memory for kvm
19 Memory is modelled as an acyclic graph of MemoryRegion objects. Sinks
21 buses, memory controllers, and memory regions that have been rerouted.
23 In addition to MemoryRegion objects, the memory API provides AddressSpace
25 These represent memory as seen from the CPU or a device's viewpoint.
30 There are multiple types of memory regions (all represented by a single C type
33 - RAM: a RAM region is simply a range of host memory that can be made available
39 - MMIO: a range of guest memory that is implemented by host callbacks;
44 - ROM: a ROM memory region works like RAM for reads (directly accessing
45 a region of host memory), and forbids writes. You initialize these with
48 - ROM device: a ROM device memory region works like RAM for reads
49 (directly accessing a region of host memory), but like MMIO for
54 and forwards them to some other target memory region. As the name suggests,
58 - container: a container simply includes other memory regions, each at
64 useful to have overlapping regions; for example a memory controller that
71 split apart into discontiguous regions. Examples of uses are memory
73 of RAM addressed, or a memory controller that splits main memory to
101 Where the memory region is backed by host memory (RAM, ROM and
102 ROM device memory region types), this host memory needs to be
104 the host memory for you will also register the memory so it is
113 the backing memory yourself, you can call the functions:
131 register the backing memory for migration; the caller must
161 Destruction of a memory region happens automatically when the owner
164 If however the memory region is part of a dynamically allocated data
165 structure, you should call object_unparent() to destroy the memory region
169 You must not destroy a memory region as long as it may be in use by a
171 destroy memory regions dynamically during a device's lifetime, and only
172 call object_unparent() in the memory region owner's instance_finalize
174 memory region then should obviously be freed in the instance_finalize
179 - the memory region's owner had a reference taken via memory_region_ref
184 - when address_space_unmap is called, the reference to the memory region's
194 QEMU building the guest's memory map; they are never accessed directly.
208 Usually, regions may not overlap each other; a memory address decodes into
258 a bus or a memory controller) can use them to manage the interaction of
267 The memory core uses the following rules to select a memory region when the
290 Example memory map
320 This is a (simplified) PC memory map. The 4GB RAM block is mapped into the
324 4GB of memory.
326 The memory controller diverts addresses in the range 640K-768K to the PCI
329 can be removed by programming the memory controller; this is modelled by
335 by two 32K memory banks pointing at two sections of the framebuffer.
347 based on the attributes used for the memory transaction, or need
372 .. kernel-doc:: include/system/memory.h