- 23 8月, 2010 2 次提交
-
-
由 Yoshiaki Tamura 提交于
Since most of the code in qemu_ram_alloc() and qemu_ram_alloc_from_ptr() are duplicated, let qemu_ram_alloc_from_ptr() to switch by checking void *host, and change qemu_ram_alloc() to a wrapper. Signed-off-by: NYoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Yoshiaki Tamura 提交于
Signed-off-by: NYoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 11 8月, 2010 1 次提交
-
-
由 Cam Macdonell 提交于
Provide a function to add an allocated region of memory to the qemu RAM. This patch is copied from Marcelo's qemu_ram_map() in qemu-kvm and given the clearer name qemu_ram_alloc_from_ptr(). Signed-off-by: NCam Macdonell <cam@cs.ualberta.ca> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 22 7月, 2010 1 次提交
-
-
由 Stefan Weil 提交于
Both values are only used in exec.c, so there is no need to make them globally available. Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 08 7月, 2010 1 次提交
-
-
由 Blue Swirl 提交于
With gcc 4.2.1-sjlj (mingw32-2) I get this warning: /src/qemu/exec.c: In function 'qemu_ram_alloc': /src/qemu/exec.c:2777: warning: 'offset' may be used uninitialized in this function Fix by initializing the variable. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 06 7月, 2010 6 次提交
-
-
由 Alex Williamson 提交于
Now that we have a working qemu_ram_free() and the primary runtime user of it has been updated, don't be lenient about duplicate id strings. We also shouldn't need to create them ondemand at the target. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Alex Williamson 提交于
Now that we can support a ram_addr_t space with holes, we can implement qemu_ram_free(). Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Alex Williamson 提交于
With these two pieces in place, we can start naming ramblocks. When the device is present and it lives on a bus that provides a device path, we concatenate the path and the provided name. Otherwise we just use name. The resulting id string must be unique. For now we assume an allocation for the same name and size is a device that has been removed and reinserted and return the same block. This will go away once qemu_ram_free() is implemented. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Alex Williamson 提交于
These will be used to generate unique id strings for ramblocks. The name field is required, the device pointer is optional as most callers don't have a device. When there's no device or the device isn't a child of a bus implementing BusInfo.get_dev_path, the name should be unique for the platform. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Alex Williamson 提交于
When available, we'd like to be able to access the DeviceState when registering a savevm. For buses with a get_dev_path() function, this will allow us to create more unique savevm id strings. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Alex Williamson 提交于
We currently need this either to allocate the next ram_addr_t for a new block, or for total memory to be migrated. Both of which we can calculate without need of this to keep us in a contiguous address space. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 01 7月, 2010 1 次提交
-
-
由 Jun Koi 提交于
This patch avoids handling write watchpoints on read-only memory access. It also breaks the searching loop for watchpoint once the setup for handling watchpoint later is done. Signed-off-by: NJun Koi <junkoi2004@gmail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 15 6月, 2010 1 次提交
-
-
由 Alex Williamson 提交于
This makes the RAM block list easier to manipulate. Also incorporate relevant variables into the RAMList struct. Signed-off-by: NAlex Williamson <alex.williamson@redhat.com> Acked-by: NChris Wright <chrisw@redhat.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 11 6月, 2010 1 次提交
-
-
由 Richard Henderson 提交于
This allows the use of direct calls to the helpers, and a direct branch back to the epilogue. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 09 6月, 2010 1 次提交
-
-
由 Aurelien Jarno 提交于
copy_size is a left-over from the dyngen era, remove it. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 22 5月, 2010 1 次提交
-
-
由 Richard Henderson 提交于
This will allow backends to make intelligent choices about how to implement GUEST_BASE. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 12 5月, 2010 1 次提交
-
-
由 Marcelo Tosatti 提交于
Fallback to qemu_vmalloc in case file_ram_alloc fails. Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com> Signed-off-by: NAvi Kivity <avi@redhat.com>
-
- 08 5月, 2010 1 次提交
-
-
由 Richard Henderson 提交于
Implement the "functions may be omitted with NULL pointer" interface mentioned in the function block comment by transforming NULL entries in the read/write arrays into calls to the unassigned_mem family of functions. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 06 5月, 2010 2 次提交
-
-
由 Michael S. Tsirkin 提交于
exec.c has a comment 'XXX: optimize' for lduw_phys/stw_phys, so let's do it, along the lines of stl_phys. The reason to address 16 bit accesses specifically is that virtio relies on these accesses to be done atomically, using memset as we do now breaks this assumption, which is reported to cause qemu with kvm to read wrong index values under stress. https://bugzilla.redhat.com/show_bug.cgi?id=525323Signed-off-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Richard Henderson 提交于
Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 05 5月, 2010 1 次提交
-
-
由 Paul Brook 提交于
The usermode PAGE_RESERVED code is not required by the current mmap implementation, and is already broken when guest_base != 0. Unfortunately the bsd emulation still uses the old mmap implementation, so we can't rip it out altogether. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 25 4月, 2010 1 次提交
-
-
由 Richard Henderson 提交于
Greatly simplify the subpage implementation by not supporting multiple devices at the same address at different widths. We don't need full copies of mem_read/mem_write/opaque for each address, only a single index back into the main io_mem_* arrays. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 12 4月, 2010 1 次提交
-
-
由 Jun Koi 提交于
This patch removes some dead code in exec.c Signed-off-by: NJun Koi <junkoi2004@gmail.com> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 10 4月, 2010 2 次提交
-
-
由 Aurelien Jarno 提交于
This reverts commit 01c0bef1. (breaks build on 32-bit hosts)
-
由 Juergen Lock 提交于
V2 that uses endaddr = end-of-guest-address-space if !h2g_valid(endaddr) after I found out that indeed works; and also disables the FreeBSD 6.x /compat/linux/proc/self/maps fallback because it can return partial lines if (at least I think that's the reason) the mappings change between subsequent read() calls. Signed-off-by: NJuergen Lock <nox@jelal.kn-bremen.de> Acked-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 08 4月, 2010 1 次提交
-
-
由 Yoshiaki Tamura 提交于
Replaces direct phys_ram_dirty access with wrapper functions to prevent direct access to the phys_ram_dirty bitmap. Signed-off-by: NYoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp> Signed-off-by: NOHMURA Kei <ohmura.kei@lab.ntt.co.jp> Reviewed-by: NAvi Kivity <avi@redhat.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 05 4月, 2010 1 次提交
-
-
由 Paul Brook 提交于
Historically the qemu tlb "addend" field was used for both RAM and IO accesses, so needed to be able to hold both host addresses (unsigned long) and guest physical addresses (target_phys_addr_t). However since the introduction of the iotlb field it has only been used for RAM accesses. This means we can change the type of addend to unsigned long, and remove associated hacks in the big-endian TCG backends. We can also remove the host dependence from target_phys_addr_t. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 02 4月, 2010 2 次提交
-
-
由 Aurelien Jarno 提交于
On ia64, the default memory alignement is not enough for a code alignement. To fix that, force static_code_gen_buffer alignment to CODE_GEN_ALIGN. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Aurelien Jarno 提交于
When the host page size is bigger that the target one, unprotecting a page should: - mark all the target pages corresponding to the host page as writable - invalidate all tb corresponding to the host page (and not the target page) Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 31 3月, 2010 1 次提交
-
-
由 Juergen Lock 提交于
Use kinfo_getvmmap(3) on FeeBSD >= 7.x and /compat/linux/proc on older FreeBSD. (kinfo_getvmmap is preferred since /compat/linux/proc is usually only mounted on hosts also using the Linuxolator.) This patch is a bit hacky because the includes needed for kinfo_getvmmap conflict with other definitions in exec.c by default so I had to `trick around' a little, but I built the result in FreeBSD 6.4-stable and 7.2-stable tbs and on 8-stable on the host so the hacks at least should be stable. (If this is a problem maybe we could also move the kinfo_getvmmap invocations into a seperate source file but that would be more work...) Signed-off-by: NJuergen Lock <nox@jelal.kn-bremen.de> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 30 3月, 2010 1 次提交
-
-
由 Blue Swirl 提交于
Arrange various declarations so that also non-CPU code can access them, adjust users. Move CPU specific code to cpus.c. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 29 3月, 2010 1 次提交
-
-
由 Aurelien Jarno 提交于
Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 27 3月, 2010 1 次提交
-
-
由 Michael Tokarev 提交于
Signed-Off-By: NMichael Tokarev <mjt@tls.msk.ru> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 17 3月, 2010 1 次提交
-
-
由 Paul Brook 提交于
QEMU uses a fixed page size for the CPU TLB. If the guest uses large pages then we effectively split these into multiple smaller pages, and populate the corresponding TLB entries on demand. When the guest invalidates the TLB by virtual address we must invalidate all entries covered by the large page. However the address used to invalidate the entry may not be present in the QEMU TLB, so we do not know which regions to clear. Implementing a full vaiable size TLB is hard and slow, so just keep a simple address/mask pair to record which addresses may have been mapped by large pages. If the guest invalidates this region then flush the whole TLB. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 14 3月, 2010 1 次提交
-
-
由 Paul Brook 提交于
The multi-level pagetable code fails to iterate ove all entries because of the L2_BITS v.s. L2_SIZE thinko. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
- 13 3月, 2010 5 次提交
-
-
由 Blue Swirl 提交于
Fixes warning: CC sparc-bsd-user/exec.o /src/qemu/exec.c: In function `page_check_range': /src/qemu/exec.c:2375: warning: comparison is always true due to limited range of data type Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Paul Brook 提交于
Usermode virtual addresses are abi_ulong, not target_ulong. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
由 Paul Brook 提交于
Code to handle physical memory access is not meaningful in usrmode emulation, so disable it. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
由 Paul Brook 提交于
The page tracking code in exec.c is used by both userspace and system emulation. Userspace emulation uses it to track virtual pages, and system emulation to track ram pages. Introduce a new type to hold this kind of address. Signed-off-by: NPaul Brook <paul@codesourcery.com>
-
由 Richard Henderson 提交于
The addr < end comparison prevents iterating over the last page in the guest address space; an iteration based on length avoids this problem. At the same time, assert that the given address is in the guest address space. Signed-off-by: NRichard Henderson <rth@twiddle.net>
-