Statistics
| Branch: | Revision:

root / hw / cirrus_vga.c @ ac611340

History | View | Annotate | Download (99.4 kB)

# Date Author Comment
4b16eb9d 04/17/2009 05:26 pm aliguori

vga: Cleanup dirty logging (Jan Kiszka)

In theory, there are no more quirks in the KVM slot management that
requires dirty log start/stop all over the place. We just have to start
the logging each time the mapping may have changed. This patch drops
vga_dirty_log_stop for both standard and cirrus VGA. It also reverts...

b584726d 04/10/2009 05:24 am pbrook

Clean up VGA ram allocation.

Signed-off-by: Paul Brook <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7063 c046a42c-6fe2-441c-8c8c-71466251a162

799e709b 04/07/2009 11:55 pm aliguori

Revert r6989

There is a much more elegant fix that will follow up after this commit.

Signed-off-by: Anthony Liguori <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7025 c046a42c-6fe2-441c-8c8c-71466251a162

9586fefe 04/05/2009 09:41 pm aliguori

Fix display breakage when resizing the screen (v2) (Avi Kivity)

When the vga resolution changes, a new display surface is not allocated
immediately; instead that is deferred until the next update. However,
if we're running without a display client attached, that won't happen...

d78f3995 03/16/2009 06:33 pm blueswir1

Delete some unused macros detected with -Wp,-Wunused-macros use

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6856 c046a42c-6fe2-441c-8c8c-71466251a162

8a93e519 03/13/2009 08:09 pm aliguori

stop dirty logging while updating cirrus bank memory (Glauber Costa)

Otherwise, slot tracking gets confused.

This fixes a screen corruption bug with Ubuntu guest installation.

Signed-off-by: Glauber Costa <>
Signed-off-by: Avi Kivity <>...

70c14705 03/07/2009 06:03 pm blueswir1

Sparse fixes: dubious mixing of bitwise and logical operations

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6741 c046a42c-6fe2-441c-8c8c-71466251a162

31c05501 02/27/2009 09:53 pm aliguori

Missing cirrus_invalidate_region() in cirrus_do_copy() (Brian Kress)

After doing a video to video copy, cirrus_do_copy() in cirrus_vga.c does a
conditional call to cirrus_invalidate_region() with an "if (!notify)" test.
However at this point the blt has already been done so it seems like this call...

d85d0d38 02/16/2009 04:59 pm aliguori

Fix hardware accelerated video to video copy on Cirrus VGA (Brian Kress)

cirrus_do_copy() in hw/cirrus_vga.c seems to make some incorrect assumptions
about video memory layout. It tries to convert addresses to coordinates
assuming that one row of data is (width * depth) bytes long. The correct way...

173a543b 02/01/2009 09:26 pm blueswir1

Add and use #defines for PCI device classes

This patch adds and uses #defines for PCI device classes and subclases,
using a new pci_config_set_class() function, similar to the recently
added pci_config_set_vendor_id() and pci_config_set_device_id().

Change since v1: fixed compilation of hw/sun4u.c...

deb54399 01/26/2009 05:37 pm aliguori

Define PCI vendor and device IDs in pci.h (Stuart Brady)

This patch defines PCI vendor and device IDs in pci.h (matching those
from Linux's pci_ids.h), and uses those definitions where appropriate.

Change from v1:
Introduces pci_config_set_vendor_id() / pci_config_set_device_id()...

7cff316e 01/21/2009 08:31 pm aliguori

cirrus: unify unmapping of vram (Jan Kiszka)

Switc vram unmapping in map_linear_vram to the simpler pattern used by
unmap_linear_vram.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6386 c046a42c-6fe2-441c-8c8c-71466251a162

fefe54e3 01/21/2009 08:31 pm aliguori

cirrus: cleanup reset handler (Jan Kiszka)

We should not re-register the cirrus io-memory regions on each reset.
Moreover, this patch removes some dead code and pushes other static
field initializations from reset to init_common.

Signed-off-by: Jan Kiszka <>...

f8b237af 01/21/2009 08:31 pm aliguori

cirrus: avoid resetting vga dirty logging unnecessarily (Avi Kivity)

cirrus bitblt reset will stop and start dirty logging even when there is no
need; this causes full redraws.

avoid by only updating memory access when exiting cpu-to-video update mode.
...

ba7349cd 01/21/2009 08:31 pm aliguori

cirrus: stop dirty logging during remaps (Jan Kiszka)

Cleaned-up port from kvm-userspace: We have to stop any vram logging
while doing remaps. Otherwise the logger gets confused. This reward is
enormously accelerated cirrus vga in kvm mode.

Signed-off-by: Jan Kiszka <>...

ee50c6bc 01/21/2009 08:31 pm aliguori

cirrus: unmap vram on reset (Jan Kiszka)

Fix the broken text mode after reset by unmapping potentially mapped
vram.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6382 c046a42c-6fe2-441c-8c8c-71466251a162

3023f332 01/16/2009 09:04 pm aliguori

graphical_console_init change (Stefano Stabellini)

Patch 5/7

This patch changes the graphical_console_init function to return an
allocated DisplayState instead of a QEMUConsole.

This patch contains just the graphical_console_init change and few other
modifications mainly in console.c and vl.c....

7d957bd8 01/16/2009 12:14 am aliguori

DisplayState interface change (Stefano Stabellini)

This patch changes the DisplayState interface adding support for
multiple frontends at the same time (sdl and vnc) and implements most
of the benefit of the shared_buf patch without the added complexity....

4abc796d 01/05/2009 07:37 pm blueswir1

Add cirrus reset handler

The vga reset handler overwrites some cirrus registers, causing reboots
to corrupt cirrus state to the point that guests can only bring up 640x480
resolutions.

Fix by adding a dedicated cirrus reset handler (which calls the common vga...

f65ed4c1 12/09/2008 10:09 pm aliguori

KVM: Coalesced MMIO support

MMIO exits are more expensive in KVM or Xen than in QEMU because they
involve, at least, privilege transitions. However, MMIO write
operations can be effectively batched if those writes do not have side
effects.

Good examples of this include VGA pixel operations when in a planar...

b2b183c2 12/05/2008 12:36 am aliguori

do boundary check based on absolute value (Glauber Costa)

For backward operations, dstpitch and srcpitch can
be negative. This leads BLTUNSAFE macro into an
overflow, and as a result, it avoids performing
operations that are perfectly valid.

The visible effect that led to that patch was the gnome-panel...

2bec46dc 11/24/2008 10:21 pm aliguori

vga optimization (Glauber Costa)

Hypervisors like KVM perform badly while doing mmio on
a loop, because it'll generate an exit on each access.
This is the case with VGA, which results in very bad
performance.

In this patch, we map the linear frame buffer as RAM,...

b4fbd879 11/24/2008 09:35 pm aliguori

move vga_io_address to VGA State (Glauber Costa)

It'll be reused later by the vga optimization.

Signed-off-by: Glauber Costa <>
Signed-off-by: Anthony Liguori <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5791 c046a42c-6fe2-441c-8c8c-71466251a162

4efe2755 11/24/2008 09:33 pm aliguori

better type checking for vga (Glauber Costa)

unsigned long is too bad of a type. Use ram_addr_t instead.

aligurori: fixed a compile warning in this patch

Signed-off-by: Glauber Costa <>
Signed-off-by: Anthony Liguori <>...

0e1f5a0c 11/24/2008 09:29 pm aliguori

Introduce accessors for DisplayState (Stefano Stabellini)

Introducing some accessors:

ds_get_linesize
ds_get_bits_per_pixel
ds_get_width
ds_get_height
ds_get_data

Signed-off-by: Stefano Stabellini <>
Signed-off-by: Anthony Liguori <>...

65d35a09 11/01/2008 02:53 am aurel32

CVE-2008-4539: fix a heap overflow in Cirrus emulation

The code in hw/cirrus_vga.c has changed a lot between CVE-2007-1320 has
been announced and the patch has been applied. As a consequence it has
wrongly applied and QEMU is still vulnerable to this bug if using VNC....

cb5a7aa8 09/28/2008 03:42 am malc

Optional "precise" VGA retrace support

Selected via: -vga <name>,retrace=precise

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5336 c046a42c-6fe2-441c-8c8c-71466251a162

38334f76 09/24/2008 05:21 am balrog

Don't use ds->dpy_copy directly from hw/ (Jan Niehusmann).

I left a TODO in the code because this still doesn't definitely
fix all issues.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5308 c046a42c-6fe2-441c-8c8c-71466251a162

d5529471 08/19/2008 03:55 pm aurel32

i386: fix isapc machine

- cirrus vga: enable graphic console
- pc: don't use apic for interrupts on ISA machine

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5026 c046a42c-6fe2-441c-8c8c-71466251a162

c60e08d9 07/01/2008 07:24 pm pbrook

Implement resolution switching in common console code.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4812 c046a42c-6fe2-441c-8c8c-71466251a162

ca896ef3 05/08/2008 03:21 pm aurel32

cirrusfb: proper "Attribute Controller Toggle Readback" register behaviour

(Marcelo Tosatti)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4386 c046a42c-6fe2-441c-8c8c-71466251a162

b2eb849d 05/06/2008 12:26 am aurel32

CVE-2007-1320 - Cirrus LGD-54XX "bitblt" heap overflow

I have just noticed that patch for CVE-2007-1320 has never been applied
to the QEMU CVS. Please find it below.

| Multiple heap-based buffer overflows in the cirrus_invalidate_region | function in the Cirrus VGA extension in QEMU 0.8.2, as used in Xen and...

4d3b6f6e 02/10/2008 06:33 pm balrog

Add an ncurses UI.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3976 c046a42c-6fe2-441c-8c8c-71466251a162

bee8d684 12/17/2007 01:41 am ths

qemu_put signedness fixes, by Andre Przywara.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3824 c046a42c-6fe2-441c-8c8c-71466251a162

87ecb68b 11/17/2007 07:14 pm pbrook

Break up vl.h.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3674 c046a42c-6fe2-441c-8c8c-71466251a162

3b46e624 09/17/2007 11:09 am ths

find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162

5fafdf24 09/17/2007 12:08 am ths

find -type f | xargs sed -i 's/[\t ]$//g' # on most files

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162

96cf2df8 08/01/2007 02:26 am ths

Cirrus transparent BITBLT (w/o color expand), by Hitoshi Osada.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3101 c046a42c-6fe2-441c-8c8c-71466251a162

e91c8a77 06/03/2007 04:35 pm ths

Spelling fixes, by Stefan Weil.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2927 c046a42c-6fe2-441c-8c8c-71466251a162

d34cab9f 04/02/2007 04:10 am ths

VMware SVGA II emulation, by Andrzej Zaborowski.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2579 c046a42c-6fe2-441c-8c8c-71466251a162

83acc96b 08/18/2006 12:32 pm bellard

fixed VGA resolutions with height > 1024

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2121 c046a42c-6fe2-441c-8c8c-71466251a162

d2269f6f 08/17/2006 01:44 pm bellard

save VGA PCI state

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2113 c046a42c-6fe2-441c-8c8c-71466251a162

24236869 05/01/2006 12:28 am bellard

VNC server (Anthony Liguori)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1869 c046a42c-6fe2-441c-8c8c-71466251a162

ad81218e 04/26/2005 11:49 pm bellard

depth=24 write mask fix (Volker Ruppert)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1404 c046a42c-6fe2-441c-8c8c-71466251a162

e3a4e4b6 04/17/2005 08:56 pm bellard

destination write mask support, fixed banked memory access, read-only access for bus type in SR 0x17 (Volker Ruppert)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1364 c046a42c-6fe2-441c-8c8c-71466251a162

0b74ed78 01/26/2005 09:50 pm bellard

mode 4 and 5 write fix (Magnus Damn)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1241 c046a42c-6fe2-441c-8c8c-71466251a162

c9c0eae8 11/15/2004 11:43 pm bellard

bitblt fix (aka Solaris display fix)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1150 c046a42c-6fe2-441c-8c8c-71466251a162

9bb34eac 11/08/2004 12:54 am bellard

CRTC register write protection fix

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1126 c046a42c-6fe2-441c-8c8c-71466251a162

8926b517 10/10/2004 06:14 pm bellard

faster Cirrus VGA VRAM access

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1114 c046a42c-6fe2-441c-8c8c-71466251a162

2c6ab832 07/10/2004 04:41 pm bellard

load/save state support

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@992 c046a42c-6fe2-441c-8c8c-71466251a162

b30d4608 07/06/2004 04:50 am bellard

24 bpp fixes

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@984 c046a42c-6fe2-441c-8c8c-71466251a162

ae184e4a 06/26/2004 07:13 pm bellard

dac write index register is r/w - CR1D access fix (Volker Ruppert)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@978 c046a42c-6fe2-441c-8c8c-71466251a162

46e50e9d 06/21/2004 10:43 pm bellard

added PCI bus

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@961 c046a42c-6fe2-441c-8c8c-71466251a162

e69390ce 06/10/2004 02:12 am bellard

pattern fill fixes and optimization

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@917 c046a42c-6fe2-441c-8c8c-71466251a162

78e127ef 06/08/2004 03:58 am bellard

set memory size to 4MB for 5446 - fixed memory size probe (aka Win2000 bug) - fixed interlace support

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@914 c046a42c-6fe2-441c-8c8c-71466251a162

4c8732d7 06/07/2004 10:46 pm bellard

cirrus blitter fixes

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@907 c046a42c-6fe2-441c-8c8c-71466251a162

a5082316 06/06/2004 06:16 pm bellard

hardware cursor support - fill with rop support - color expand and color expand with transparent support - various optimisations

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@902 c046a42c-6fe2-441c-8c8c-71466251a162

20ba3ae1 06/05/2004 09:50 pm bellard

better to use different ID for ISA and PCI

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@901 c046a42c-6fe2-441c-8c8c-71466251a162

a21ae81d 06/05/2004 08:59 pm bellard

change ID to CLGD5446 - added solidfill support - fixed hidden dac access

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@899 c046a42c-6fe2-441c-8c8c-71466251a162

aeb3c85f 06/05/2004 05:26 pm bellard

Cirrus fixes

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@898 c046a42c-6fe2-441c-8c8c-71466251a162

4e3e9d0b 06/05/2004 04:18 pm bellard

avoid using anonymous struct extension (not supported by all gcc 3.x)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@896 c046a42c-6fe2-441c-8c8c-71466251a162

e36f36e1 06/05/2004 03:47 pm bellard

mmio support for vga registers - line offset fix - (aka XFree86 4.3.0 fixes)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@894 c046a42c-6fe2-441c-8c8c-71466251a162

e6e5ad80 06/05/2004 01:31 pm bellard

Cirrus VGA emulation (initial patch by Suzu - heavily modified for easier merge)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@891 c046a42c-6fe2-441c-8c8c-71466251a162