1. 04 1月, 2012 9 次提交
  2. 20 12月, 2011 1 次提交
    • A
      memory: add API for observing updates to the physical memory map · 7664e80c
      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>
      7664e80c
  3. 19 12月, 2011 2 次提交
  4. 16 12月, 2011 1 次提交
  5. 15 12月, 2011 2 次提交
  6. 11 12月, 2011 1 次提交
  7. 01 11月, 2011 2 次提交
  8. 26 10月, 2011 1 次提交
  9. 22 10月, 2011 1 次提交
  10. 01 10月, 2011 1 次提交
  11. 21 9月, 2011 1 次提交
  12. 21 8月, 2011 1 次提交
  13. 12 8月, 2011 1 次提交
  14. 08 8月, 2011 1 次提交
  15. 07 8月, 2011 1 次提交
  16. 05 8月, 2011 2 次提交
    • J
      Avoid allocating TCG resources in non-TCG mode · d5ab9713
      Jan Kiszka 提交于
      Do not allocate TCG-only resources like the translation buffer when
      running over KVM or XEN. Saves a "few" bytes in the qemu address space
      and is also conceptually cleaner.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      d5ab9713
    • A
      memory: use signed arithmetic · 8417cebf
      Avi Kivity 提交于
      When trying to map an alias of a ram region, where the alias starts at
      address A and we map it into address B, and A > B, we had an arithmetic
      underflow.  Because we use unsigned arithmetic, the underflow converted
      into a large number which failed addrrange_intersects() tests.
      
      The concrete example which triggered this was cirrus vga mapping
      the framebuffer at offsets 0xc0000-0xc7fff (relative to the start of
      the framebuffer) into offsets 0xa0000 (relative to system addres space
      start).
      
      With our favorite analogy of a windowing system, this is equivalent to
      dragging a subwindow off the left edge of the screen, and failing to clip
      it into its parent window which is on screen.
      
      Fix by switching to signed arithmetic.
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8417cebf
  17. 29 7月, 2011 1 次提交
  18. 26 7月, 2011 2 次提交
  19. 21 7月, 2011 1 次提交
  20. 17 7月, 2011 3 次提交
  21. 13 7月, 2011 2 次提交
    • P
      exec.c: Fix calculation of code_gen_buffer_max_size · a884da8a
      Peter Maydell 提交于
      When calculating the point at which we should not try to put another
      TB into the code gen buffer, we have to allow not just for OPC_MAX_SIZE
      but OPC_BUF_SIZE. This is because the target translate.c will only
      stop when an instruction has put it past the OPC_MAX_SIZE limit, so
      we have to include the MAX_OP_PER_INSTR margin which that final insn
      might have used.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      a884da8a
    • A
      exec: add endian specific phys ld/st functions · 1e78bcc1
      Alexander Graf 提交于
      Device code some times needs to access physical memory and does that
      through the ld./st._phys functions. However, these are the exact same
      functions that the CPU uses to access memory, which means they will
      be endianness swapped depending on the target CPU.
      
      However, devices don't know about the CPU's endianness, but instead
      access memory directly using their own interface to the memory bus,
      so they need some way to read data with their native endianness.
      
      This patch adds _le and _be functions to ld./st._phys.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      1e78bcc1
  22. 27 6月, 2011 1 次提交
  23. 24 6月, 2011 1 次提交
  24. 19 6月, 2011 1 次提交
    • S
      xen: mapcache performance improvements · 712c2b41
      Stefano Stabellini 提交于
      Use qemu_invalidate_entry in cpu_physical_memory_unmap.
      
      Do not lock mapcache entries in qemu_get_ram_ptr if the address falls in
      the ramblock with offset == 0. We don't need to do that because the
      callers of qemu_get_ram_ptr either try to map an entire block, other
      from the main ramblock, or until the end of a page to implement a single
      read or write in the main ramblock.
      If we don't lock mapcache entries in qemu_get_ram_ptr we don't need to
      call qemu_invalidate_entry in qemu_put_ram_ptr anymore because we can
      leave with few long lived block mappings requested by devices.
      
      Also move the call to qemu_ram_addr_from_mapcache at the beginning of
      qemu_ram_addr_from_host.
      Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      712c2b41