- 19 12月, 2012 1 次提交
-
-
由 Paolo Bonzini 提交于
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
-
- 23 10月, 2012 1 次提交
-
-
由 Avi Kivity 提交于
target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are reserved) and its purpose doesn't match the name (most target_phys_addr_t addresses are not target specific). Replace it with a finger-friendly, standards conformant hwaddr. Outstanding patchsets can be fixed up with the command git rebase -i --exec 'find -name "*.[ch]" | xargs s/target_phys_addr_t/hwaddr/g' origin Signed-off-by: NAvi Kivity <avi@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 22 10月, 2012 4 次提交
-
-
由 Avi Kivity 提交于
Since address spaces can be created dynamically by device hotplug, they can also be destroyed dynamically. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Currently we use a global radix tree to dispatch memory access. This only works with a single address space; to support multiple address spaces we make the radix tree a member of AddressSpace (via an intermediate structure AddressSpaceDispatch to avoid exposing too many internals). A side effect is that address_space_io also gains a dispatch table. When we remove all the pre-memory-API I/O registrations, we can use that for dispatching I/O and get rid of the original I/O dispatch. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Using the AddressSpace type reduces confusion, as you can't accidentally supply the MemoryRegion you're interested in. Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com> Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Instead of calling a global function on coalesced mmio changes, which routes the call to kvm if enabled, add coalesced mmio hooks to MemoryListener and make kvm use that instead. The motivation is support for multiple address spaces (which means we we need to filter the call on the right address space) but the result is cleaner as well. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 15 10月, 2012 2 次提交
-
-
由 Avi Kivity 提交于
Instead of embedding knowledge of the memory and I/O address spaces in the memory core, maintain a list of all address spaces. This list will later be extended dynamically for other bus masters. Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com> Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
The DMA API will use an AddressSpace to differentiate among different initiators. Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com> Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 14 9月, 2012 1 次提交
-
-
由 BALATON Zoltan 提交于
Signed-off-by: NBALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
-
- 12 9月, 2012 1 次提交
-
-
由 Jan Kiszka 提交于
Instead of flushing pending coalesced MMIO requests on every vmexit, this provides a mechanism to selectively flush when memory regions related to the coalesced one are accessed. This first of all includes the coalesced region itself but can also applied to other regions, e.g. of the same device, by calling memory_region_set_flush_coalesced. Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com> Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
-
- 12 7月, 2012 1 次提交
-
-
由 Paolo Bonzini 提交于
Under Win32, EventNotifiers will not have event_notifier_get_fd, so we cannot call it in common code such as hw/virtio-pci.c. Pass a pointer to the notifier, and only retrieve the file descriptor in kvm-specific code. Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com> Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 01 5月, 2012 1 次提交
-
-
由 Blue Swirl 提交于
Reviewed-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 05 3月, 2012 1 次提交
-
-
由 Avi Kivity 提交于
Commit e58ac72b6a0 ("ioport: change portio_list not to use memory_region_set_offset()") started using aliases of I/O memory regions. Since the IORange used for the I/O was contained in the target region, the alias information (specifically, the offset into the region) was lost. This broke -vga std. Fix by allocating an independent object to hold the IORange and also the new offset. Note that I/O memory regions were conceptually broken wrt aliases in a different way: an alias can cause the same region to appear twice in an address space, but we had just one IORange to service it. This patch fixes that problem as well, since we can now have multiple IORange/MemoryRegion associations. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 29 2月, 2012 6 次提交
-
-
由 Avi Kivity 提交于
Current memory listeners are incremental; that is, they are expected to maintain their own state, and receive callbacks for changes to that state. This patch adds support for stateless listeners; these work by receiving a ->begin() callback (which tells them that new state is coming), a sequence of ->region_add() and ->region_nop() callbacks, and then a ->commit() callback which signifies the end of the new state. They should ignore ->region_del() callbacks. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Ignore any regions not belonging to a specified address space. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
.readonly cannot be obtained from the MemoryRegion, since it is inherited from aliases (so you can have a MemoryRegion mapped RW at one address and RO at another). Record it in a MemoryRegionSection for listeners. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
This way the accelerator (kvm) can handle them directly. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
This allows reverse iteration, which in turns allows consistent ordering among multiple listeners: l1->add l2->add l2->del l1->del Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
memory_region_set_offset() complicates the API, and has been deprecated since its introduction. Now that it is no longer used, remove it. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
- 04 2月, 2012 1 次提交
-
-
由 Blue Swirl 提交于
Instead of each device knowing or guessing the guest page size, just pass the desired size of dirtied memory area. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 26 1月, 2012 1 次提交
-
-
由 Blue Swirl 提交于
Instead of each target knowing or guessing the guest page size, just pass the desired size of dirtied memory area. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 19 1月, 2012 1 次提交
-
-
由 Jan Kiszka 提交于
Introduce a memory region type that can reserve I/O space. Such regions are useful for modeling I/O that is only handled outside of QEMU, i.e. in the context of an accelerator like KVM. Any access to such a region from QEMU is a bug, but could theoretically be triggered by guest code (DMA to reserved region). So only warning about such events once, then ignore them. Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
-
- 13 1月, 2012 1 次提交
-
-
由 Stefan Weil 提交于
Codespell detected these new spelling issues. Signed-off-by: NStefan Weil <sw@weilnetz.de> Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
-
- 04 1月, 2012 5 次提交
-
-
由 Avi Kivity 提交于
Unlike ->readonly, ->readable is not inherited from aliase, so we can simply query the memory region. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
Replace with a MemoryRegion flag. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
backend_registered was used to lazify the process of registering an mmio region, since the it is different for the I/O address space and the memory address space. However, it also makes registration dependent on the region being visible in the address space. This is not the case for "fake" regions, like watchpoints or IO_MEM_UNASSIGNED. Remove backend_registered and always initialize the region. If it turns out to be part of the I/O address space, we've wasted an I/O slot, but that's not too bad. In any case this will be optimized later on. Signed-off-by: NAvi Kivity <avi@redhat.com> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Avi Kivity 提交于
Currently creating a memory region automatically registers it for live migration. This differs from other state (which is enumerated in a VMStateDescription structure) and ties the live migration code into the memory core. Decouple the two by introducing a separate API, vmstate_register_ram(), for registering a RAM block for migration. Currently the same implementation is reused, but later it can be moved into a separate list, and registrations can be moved to VMStateDescription blocks. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Trivial accessor for the name attribute. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 20 12月, 2011 7 次提交
-
-
由 Avi Kivity 提交于
This is a layering violation, but needed while the code contains naked calls to qemu_get_ram_ptr() and the like. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Add an API that allows a client to observe changes in the global memory map: - region added (possibly with logging enabled) - region removed (possibly with logging enabled) - logging started on a region - logging stopped on a region - global logging started - global logging removed This API will eventually replace cpu_register_physical_memory_client(). Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
The function is still used as the implementation. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Given an address space (represented by the top-level memory region), returns the memory region that maps a given range. Useful for implementing DMA. The implementation is a simplistic binary search. Once we have a tree representation this can be optimized. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 06 12月, 2011 1 次提交
-
-
由 Ademar de Souza Reis Jr 提交于
Fix typos and minor documentation errors in both memory.h and docs/memory.txt. Also add missing documentation formatting tags to transaction functions. Reviewed-by: NStefan Weil <sw@weilnetz.de> Signed-off-by: NAdemar de Souza Reis Jr <areis@redhat.com> Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
-
- 05 12月, 2011 3 次提交
-
-
由 Avi Kivity 提交于
Add an API to update an alias offset of an active alias. This can be used to simplify implementation of dynamic memory banks. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
Allow changing the address of a memory region while it is in the memory hierarchy. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
由 Avi Kivity 提交于
This allows users to disable a memory region without removing it from the hierarchy, simplifying the implementation of memory routers. Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 25 11月, 2011 1 次提交
-
-
由 Avi Kivity 提交于
MemoryRegionOps::valid tries to declaratively specify which transactions are accepted by the device/bus, however it is not completely generic. Add a callback for special cases. Signed-off-by: NAvi Kivity <avi@redhat.com>
-