]> xenbits.xensource.com Git - qemu-xen-4.0-testing.git/commitdiff
cirrus vga save/restore and lfb_addr/lfb_end
authorIan Jackson <ian.jackson@eu.citrix.com>
Thu, 27 Nov 2008 12:01:00 +0000 (12:01 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Thu, 27 Nov 2008 12:02:05 +0000 (12:02 +0000)
Cirrus VGA save and restore functions cast lfb_addr into an uint64_t
pointer while lfb_addr is only an unsigned long.
Same thing happened to lfb_end, causing pci_dev to be partially
overwritten by mistake.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
(cherry picked from commit ea324bf41565322b370b27253b1a7eaa3cc360b9)

Conflicts:

hw/cirrus_vga.c

hw/cirrus_vga.c
hw/vga_int.h

index 14618763804df39fb7d6f6a9bb5eafb20df4e38d..fb437769f3a578565d922b4d82cae198f83d75af 100644 (file)
@@ -290,8 +290,8 @@ typedef struct CirrusVGAState {
     int last_hw_cursor_y_end;
     int real_vram_size; /* XXX: suppress that */
     CPUWriteMemoryFunc **cirrus_linear_write;
-    unsigned long map_addr;
-    unsigned long map_end;
+    uint32_t map_addr;
+    uint32_t map_end;
 } CirrusVGAState;
 
 typedef struct PCICirrusVGAState {
index 06267746aa785aef0b4671e2ae0286e38784d877..95f2a65b68f5246d4b3bea2c1a81806ba7aeeecf 100644 (file)
@@ -87,8 +87,8 @@
     unsigned int vram_size;                                             \
     unsigned long bios_offset;                                          \
     unsigned int bios_size;                                             \
-    unsigned long lfb_addr;                                             \
-    unsigned long lfb_end;                                              \
+    uint32_t lfb_addr;                                                  \
+    uint32_t lfb_end;                                                   \
     PCIDevice *pci_dev;                                                 \
     uint32_t latch;                                                     \
     uint8_t sr_index;                                                   \