qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] fbddfc: pixman: fix version check for PIXMAN_


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] fbddfc: pixman: fix version check for PIXMAN_TYPE_BGRA
Date: Sat, 15 Dec 2012 01:30:09 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: fbddfc727bde692f009a269e8e628d8c152b537b
      
https://github.com/qemu/qemu/commit/fbddfc727bde692f009a269e8e628d8c152b537b
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-12-14 (Fri, 14 Dec 2012)

  Changed paths:
    M qemu-pixman.c

  Log Message:
  -----------
  pixman: fix version check for PIXMAN_TYPE_BGRA

Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: cb1d40d7ccfc18ba1fcb9e064402d930349ee047
      
https://github.com/qemu/qemu/commit/cb1d40d7ccfc18ba1fcb9e064402d930349ee047
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-12-14 (Fri, 14 Dec 2012)

  Changed paths:
    M configure

  Log Message:
  -----------
  Revert "pixman: require 0.18.4 or newer"

This reverts commit 288fa40736e6eb63132d01aa6dc21ee831b796ae.

The only reason old pixman versions didn't work was the missing
PIXMAN_TYPE_BGRA, which is properly #ifdef'ed now.  So we don't
have to require a minimum pixman version.

Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: f27b2e1dfe79f993567652411d1ba16295b99719
      
https://github.com/qemu/qemu/commit/f27b2e1dfe79f993567652411d1ba16295b99719
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-12-14 (Fri, 14 Dec 2012)

  Changed paths:
    M pixman

  Log Message:
  -----------
  pixman: update internal copy to pixman-0.28.2

Some w64 fixes by Stefan Weil found their way into 0.28.2,
so update the internal copy to that version to improve
windows support.

Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: bc210eb163b162ff2e94e5c8f4307715731257f8
      
https://github.com/qemu/qemu/commit/bc210eb163b162ff2e94e5c8f4307715731257f8
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-12-14 (Fri, 14 Dec 2012)

  Changed paths:
    M hw/vga.c
    M qemu-pixman.c
    M qemu-pixman.h
    M ui/vnc-enc-tight.c
    M ui/vnc.c

  Log Message:
  -----------
  pixman: fix vnc tight png/jpeg support

This patch adds an x argument to qemu_pixman_linebuf_fill so it can
also be used to convert a partial scanline.  Then fix tight + png/jpeg
encoding by passing in the x+y offset, so the data is read from the
correct screen location instead of the upper left corner.

Cc: address@hidden
Cc: address@hidden
Reported-by: Tim Hardeneck <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 4b4496dbccc5f286f0ef411f0ff702d67cb95145
      
https://github.com/qemu/qemu/commit/4b4496dbccc5f286f0ef411f0ff702d67cb95145
  Author: Gerd Hoffmann <address@hidden>
  Date:   2012-12-14 (Fri, 14 Dec 2012)

  Changed paths:
    M console.h

  Log Message:
  -----------
  console: clip update rectangle

Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>


  Commit: 659f807c0a700317a7a0fae7a6e6ebfe68bfbbc4
      
https://github.com/qemu/qemu/commit/659f807c0a700317a7a0fae7a6e6ebfe68bfbbc4
  Author: Max Filippov <address@hidden>
  Date:   2012-12-15 (Sat, 15 Dec 2012)

  Changed paths:
    M target-xtensa/helper.c

  Log Message:
  -----------
  target-xtensa: fix ITLB/DTLB page protection flags

With MMU option xtensa architecture has two TLBs: ITLB and DTLB. ITLB is
only used for code access, DTLB is only for data. However TLB entries in
both TLBs have attribute field controlling write and exec access. These
bits need to be properly masked off depending on TLB type before being
used as tlb_set_page prot argument. Otherwise the following happens:

(1) ITLB entry for some PFN gets invalidated
(2) DTLB entry for the same PFN gets updated, attributes allow code
    execution
(3) code at the page with that PFN is executed (possible due to step 2),
    entry for the TB is written into the jump cache
(4) QEMU TLB entry for the PFN gets replaced with an entry for some
    other PFN
(5) code in the TB from step 3 is executed (possible due to jump cache)
    and it accesses data, for which there's no DTLB entry, causing DTLB
    miss exception
(6) re-translation of the TB from step 5 is attempted, but there's no
    QEMU TLB entry nor xtensa ITLB entry for that PFN, which causes ITLB
    miss exception at the TB start address
(7) ITLB miss exception is handled by the guest, but execution is
    resumed from the beginning of the faulting TB (the point where ITLB
    miss occured), not from the point where DTLB miss occured, which is
    wrong.

With that fix the above scenario causes ITLB miss exception (that used
to be step 7) at step 3, right at the beginning of the TB.

Signed-off-by: Max Filippov <address@hidden>
Cc: address@hidden
Signed-off-by: Blue Swirl <address@hidden>


Compare: https://github.com/qemu/qemu/compare/e376a788ae13...659f807c0a70

reply via email to

[Prev in Thread] Current Thread [Next in Thread]