1. 22 8月, 2011 1 次提交
  2. 21 8月, 2011 1 次提交
  3. 12 8月, 2011 2 次提交
  4. 05 8月, 2011 2 次提交
    • 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
    • A
      memory: synchronize dirty bitmap before unmapping a range · 39b796f2
      Avi Kivity 提交于
      When a range is being unmapped, ask accelerators (e.g. kvm) to synchronize the
      dirty bitmap to avoid losing information forever.
      
      Fixes grub2 screen update.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      39b796f2
  5. 29 7月, 2011 13 次提交