1. 10 12月, 2013 1 次提交
    • P
      split definitions for exec.c and translate-all.c radix trees · 03f49957
      Paolo Bonzini 提交于
      The exec.c and translate-all.c radix trees are quite different, and
      the exec.c one in particular is not limited to the CPU---it can be
      used also by devices that do DMA, and in that case the address space
      is not limited to TARGET_PHYS_ADDR_SPACE_BITS bits.
      
      We want to make exec.c's radix trees 64-bit wide.  As a first step,
      stop sharing the constants between exec.c and translate-all.c.
      exec.c gets P_L2_* constants, translate-all.c gets V_L2_*, for
      consistency with the existing V_L1_* symbols.  Though actually
      in the softmmu case translate-all.c is also indexed by physical
      addresses...
      
      This patch has no semantic change.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      03f49957
  2. 11 10月, 2013 1 次提交
  3. 21 9月, 2013 1 次提交
    • S
      translate-all: Fix formatting of dump output · 227b8175
      Stefan Weil 提交于
      The page dump writes a table with 3 abi_ulong values in each row.
      These values take 8 or 16 characters (depending on sizeof abi_ulong).
      
      Fix the table headings to be aligned with the table columns.
      
      old:
      start    end      size     prot
      0000000120000000-000000012021e000 000000000021e000 rwx
      0000004000000000-0000004000002000 0000000000002000 ---
      0000004000002000-0000004000802000 0000000000800000 rw-
      
      new:
      start            end              size             prot
      0000000120000000-000000012021e000 000000000021e000 rwx
      0000004000000000-0000004000002000 0000000000002000 ---
      0000004000002000-0000004000802000 0000000000800000 rw-
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      227b8175
  4. 03 9月, 2013 1 次提交
  5. 23 7月, 2013 1 次提交
    • A
      linux-user: Unlock mmap_lock when resuming guest from page_unprotect · d02532f0
      Alexander Graf 提交于
      The page_unprotect() function is running everything locked. Before every
      potential exit path of the function mmap_unlock() gets called to make sure
      we don't leak the lock.
      
      However, the function calls tb_invalidate_phys_page() which again can
      exit a signal through longjmp, leaving our mmap_unlock() attempts in vain.
      
      Add a hint to tb_invalidate_phys_page() that we need to unlock before we
      can leave back into guest context, so that we don't leak the lock.
      
      This fixes 16-bit i386 wine programs running in linux-user for me.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NRiku Voipio <riku.voipio@linaro.org>
      d02532f0
  6. 10 7月, 2013 2 次提交
  7. 20 6月, 2013 1 次提交
  8. 12 6月, 2013 1 次提交
  9. 29 5月, 2013 1 次提交
    • P
      memory: add address_space_translate · 149f54b5
      Paolo Bonzini 提交于
      Using phys_page_find to translate an AddressSpace to a MemoryRegionSection
      is unwieldy.  It requires to pass the page index rather than the address,
      and later memory_region_section_addr has to be called.  Replace
      memory_region_section_addr with a function that does all of it: call
      phys_page_find, compute the offset within the region, and check how
      big the current mapping is.  This way, a large flat region can be written
      with a single lookup rather than a page at a time.
      
      address_space_translate will also provide a single point where IOMMU
      forwarding is implemented.
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      149f54b5
  10. 25 5月, 2013 1 次提交
  11. 18 5月, 2013 1 次提交
  12. 27 4月, 2013 1 次提交
    • A
      PPC: Fix compile with profiling enabled · c8ff5daa
      Alexander Graf 提交于
      When using profiling, we rely on profile_getclock() being available
      at our disposal. Somehow that function got moved from an indirect
      include we used to have in translate-init.c, so that we were now
      left not properly compiling anymore.
      
      Add an explicit include to timer.h which defines profile_getclock,
      so that we can compile again.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      c8ff5daa
  13. 22 4月, 2013 1 次提交
  14. 16 4月, 2013 1 次提交
  15. 23 3月, 2013 1 次提交
  16. 12 3月, 2013 2 次提交
  17. 03 3月, 2013 2 次提交
  18. 16 2月, 2013 4 次提交
  19. 22 12月, 2012 1 次提交
  20. 19 12月, 2012 3 次提交
  21. 16 12月, 2012 2 次提交
  22. 08 12月, 2012 3 次提交
  23. 17 11月, 2012 1 次提交
  24. 07 4月, 2012 1 次提交
    • S
      w64: Fix data type of tb_next and other variables used for host addresses · 6375e09e
      Stefan Weil 提交于
      QEMU host addresses must use uintptr_t to be portable for hosts with
      an unusual size of long (w64).
      
      tb_jmp_offset is an uint16_t value, therefore the local variable offset
      in function tb_set_jmp_target was changed from unsigned long to uint16_t.
      
      The type cast to long in function tb_add_jump now also uses uintptr_t.
      For the bit operation used here, the signedness of the type cast does
      not matter.
      
      Some remaining unsigned long values are either only used for ARM assembler
      code or will be fixed in a later patch for PPC.
      
      v2:
      Fix signature of tb_find_pc in exec.c, too (hint from Blue Swirl, thanks).
      There remain lots of other long / unsigned long in exec.c which must be
      replaced by uintptr_t. This will be done in a separate patch. Here
      only one of these type casts is fixed.
      
      v3:
      Also fix signature of page_unprotect.
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      6375e09e
  25. 15 3月, 2012 1 次提交
  26. 27 6月, 2011 2 次提交
  27. 20 4月, 2011 2 次提交