1. 05 10月, 2012 1 次提交
  2. 03 10月, 2012 2 次提交
  3. 22 9月, 2012 2 次提交
  4. 17 9月, 2012 2 次提交
    • D
      cpu_physical_memory_write_rom() needs to do TB invalidates · 0b57e287
      David Gibson 提交于
      cpu_physical_memory_write_rom(), despite the name, can also be used to
      write images into RAM - and will often be used that way if the machine
      uses load_image_targphys() into RAM addresses.
      
      However, cpu_physical_memory_write_rom(), unlike cpu_physical_memory_rw()
      doesn't invalidate any cached TBs which might be affected by the region
      written.
      
      This was breaking reset (under full emu) on the pseries machine - we loaded
      our firmware image into RAM, and while executing it rewrite the code at
      the entry point (correctly causing a TB invalidate/refresh).  When we
      reset the firmware image was reloaded, but the TB from the rewrite was
      still active and caused us to get an illegal instruction trap.
      
      This patch fixes the bug by duplicating the tb invalidate code from
      cpu_physical_memory_rw() in cpu_physical_memory_write_rom().
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      0b57e287
    • L
      add -machine mem-merge=on|off option · 8490fc78
      Luiz Capitulino 提交于
      It allows to disable memory merge support (KSM on Linux), which is
      enabled by default otherwise.
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8490fc78
  5. 17 8月, 2012 1 次提交
    • J
      memory: add -machine dump-guest-core=on|off · ddb97f1d
      Jason Baron 提交于
      Add a new '[,dump-guest-core=on|off]' option to the '-machine' option. When
      'dump-guest-core=off' is specified, guest memory is omitted from the core dump.
      The default behavior continues to be to include guest memory when a core dump is
      triggered. In my testing, this brought the core dump size down from 384MB to 6MB
      on a 2GB guest.
      
      Is anything additional required to preserve this setting for migration or
      savevm? I don't believe so.
      
      Changelog:
      v3:
          Eliminate globals as per Anthony's suggestion
          set no dump from qemu_ram_remap() as well
      v2:
          move the option from -m to -machine, rename option dump -> dump-guest-core
      Signed-off-by: NJason Baron <jbaron@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      ddb97f1d
  6. 11 8月, 2012 1 次提交
    • I
      exec.c: fix dirty bitmap reallocation · 5fda043f
      Igor Mitsyanko 提交于
      For each newly created RAM block, dirty bitmap is reallocated with g_realloc, which doesn't
      make any promises on initial content of new extra data in returned buffer. In theory,
      we initialize this new data with cpu_physical_memory_set_dirty_range() call. The
      problem is, cpu_physical_memory_set_dirty_range() has a side effect of incrementing
      ram_list.dirty_pages variable, but only for pages which are not already dirty. And
      page "cleanliness" is determined using the same not yet uninitialized dirty bitmap
      we've just reallocated. This results in inconsistency between real dirty page number
      and value in ram_list.dirty_pages variable, which in turn could (and will) result
      in errors during VM migration.
      Zero initialize new dirty bitmap bytes to fix this problem.
      Signed-off-by: NIgor Mitsyanko <i.mitsyanko@samsung.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      5fda043f
  7. 03 8月, 2012 3 次提交
  8. 12 7月, 2012 1 次提交
  9. 11 7月, 2012 1 次提交
  10. 29 6月, 2012 2 次提交
  11. 22 6月, 2012 1 次提交
  12. 18 6月, 2012 1 次提交
  13. 09 6月, 2012 1 次提交
  14. 08 6月, 2012 1 次提交
  15. 05 6月, 2012 1 次提交
  16. 19 5月, 2012 1 次提交
  17. 01 5月, 2012 4 次提交
  18. 16 4月, 2012 3 次提交
  19. 14 4月, 2012 2 次提交
  20. 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
  21. 24 3月, 2012 1 次提交
  22. 20 3月, 2012 1 次提交
  23. 19 3月, 2012 2 次提交
  24. 18 3月, 2012 1 次提交
  25. 15 3月, 2012 1 次提交
  26. 09 3月, 2012 2 次提交