vga: minor cirrus/qxl bugfixes.

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJW1UHGAAoJEEy22O7T6HE4HzkQALf5B+MWcJS9zT6csSUD/U41
 phkUENL81R/d/Xi0d/o/FJ53Ig3VATigzgnPvJAh/zakL4gTzJ3AJlEvWV20ir7V
 giJksvTvw1K3yWi8FTDuw2dOmKvvk4/QrLIId1IWdA9GrYfR61/Bn1R59eZzXxtK
 ccdz4sq6btAvZeZRAHKH0MZ1aWQT9nA6eParcj0xUeZyFdJtUFRh/zXH2BXV9iEk
 n5gsPcDuUkvohTroeVVzslFrrNGwQKI80Za27PUkeBkO46HRzG/Hg33Ljyo4dXLF
 klh0/rHmYq2ES3O9z3lyGUyvIRDG2BQafTge6bYqtC++/l4+FZwCDqoCvsczrrAW
 IEKDON8Y0OtsNZdrPo+hPMYn0tO5vVEbEInKQXSoCgU+lIJkboOwJy8oY6ue4bDE
 QOFmh+7KAYY5EExaAM9Def/EFCn9ykC73kGmCVNKv4L73HQ4EsXEopuKqIctahad
 qUMyr1JwL5TsPv1DFMHbga7en0P4ld7K1wUXk+362DpmJxjZtM6dHH9t2gXxS5RX
 plYpN0px32SyxosmmvrcsWrXrGvQIIm3KxarC1BBNmTawipQHHqsjxCEeA4fHcSG
 kwhUtGtzCnOy1uWBDM1hxsw7yaCbzuok5nxI3jFTDesZHvbTbMQPKoEf9B8mgfv0
 F2i7uql8KNtgD9Ltspww
 =/MaC
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/pull-vga-20160301-1' into staging

vga: minor cirrus/qxl bugfixes.

# gpg: Signature made Tue 01 Mar 2016 07:16:22 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"

* remotes/kraxel/tags/pull-vga-20160301-1:
  qxl: lock current_async update in qxl_soft_reset
  cirrus_vga: fix off-by-one in blit_region_is_unsafe

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2016-03-01 10:34:19 +00:00
commit d9c7737e57
2 changed files with 4 additions and 2 deletions

View File

@ -276,14 +276,14 @@ static bool blit_region_is_unsafe(struct CirrusVGAState *s,
+ ((int64_t)s->cirrus_blt_height-1) * pitch;
int32_t max = addr
+ s->cirrus_blt_width;
if (min < 0 || max >= s->vga.vram_size) {
if (min < 0 || max > s->vga.vram_size) {
return true;
}
} else {
int64_t max = addr
+ ((int64_t)s->cirrus_blt_height-1) * pitch
+ s->cirrus_blt_width;
if (max >= s->vga.vram_size) {
if (max > s->vga.vram_size) {
return true;
}
}

View File

@ -1156,7 +1156,9 @@ static void qxl_soft_reset(PCIQXLDevice *d)
trace_qxl_soft_reset(d->id);
qxl_check_state(d);
qxl_clear_guest_bug(d);
qemu_mutex_lock(&d->async_lock);
d->current_async = QXL_UNDEFINED_IO;
qemu_mutex_unlock(&d->async_lock);
if (d->id == 0) {
qxl_enter_vga_mode(d);