qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

vga: move bochs vbe defines to header file

Create a new header file, move the bochs vbe dispi interface
defines to it, so they can be used outside vga code.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20180522165058.15404-2-kraxel@redhat.com

+71 -46
-13
hw/display/vga-pci.c
··· 31 31 #include "qemu/timer.h" 32 32 #include "hw/loader.h" 33 33 34 - #define PCI_VGA_IOPORT_OFFSET 0x400 35 - #define PCI_VGA_IOPORT_SIZE (0x3e0 - 0x3c0) 36 - #define PCI_VGA_BOCHS_OFFSET 0x500 37 - #define PCI_VGA_BOCHS_SIZE (0x0b * 2) 38 - #define PCI_VGA_QEXT_OFFSET 0x600 39 - #define PCI_VGA_QEXT_SIZE (2 * 4) 40 - #define PCI_VGA_MMIO_SIZE 0x1000 41 - 42 - #define PCI_VGA_QEXT_REG_SIZE (0 * 4) 43 - #define PCI_VGA_QEXT_REG_BYTEORDER (1 * 4) 44 - #define PCI_VGA_QEXT_LITTLE_ENDIAN 0x1e1e1e1e 45 - #define PCI_VGA_QEXT_BIG_ENDIAN 0xbebebebe 46 - 47 34 enum vga_pci_flags { 48 35 PCI_VGA_FLAG_ENABLE_MMIO = 1, 49 36 PCI_VGA_FLAG_ENABLE_QEXT = 2,
+2 -33
hw/display/vga_int.h
··· 29 29 #include "exec/memory.h" 30 30 #include "ui/console.h" 31 31 32 + #include "hw/display/bochs-vbe.h" 33 + 32 34 #define ST01_V_RETRACE 0x08 33 35 #define ST01_DISP_ENABLE 0x01 34 - 35 - #define VBE_DISPI_MAX_XRES 16000 36 - #define VBE_DISPI_MAX_YRES 12000 37 - #define VBE_DISPI_MAX_BPP 32 38 - 39 - #define VBE_DISPI_INDEX_ID 0x0 40 - #define VBE_DISPI_INDEX_XRES 0x1 41 - #define VBE_DISPI_INDEX_YRES 0x2 42 - #define VBE_DISPI_INDEX_BPP 0x3 43 - #define VBE_DISPI_INDEX_ENABLE 0x4 44 - #define VBE_DISPI_INDEX_BANK 0x5 45 - #define VBE_DISPI_INDEX_VIRT_WIDTH 0x6 46 - #define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7 47 - #define VBE_DISPI_INDEX_X_OFFSET 0x8 48 - #define VBE_DISPI_INDEX_Y_OFFSET 0x9 49 - #define VBE_DISPI_INDEX_NB 0xa /* size of vbe_regs[] */ 50 - #define VBE_DISPI_INDEX_VIDEO_MEMORY_64K 0xa /* read-only, not in vbe_regs */ 51 - 52 - #define VBE_DISPI_ID0 0xB0C0 53 - #define VBE_DISPI_ID1 0xB0C1 54 - #define VBE_DISPI_ID2 0xB0C2 55 - #define VBE_DISPI_ID3 0xB0C3 56 - #define VBE_DISPI_ID4 0xB0C4 57 - #define VBE_DISPI_ID5 0xB0C5 58 - 59 - #define VBE_DISPI_DISABLED 0x00 60 - #define VBE_DISPI_ENABLED 0x01 61 - #define VBE_DISPI_GETCAPS 0x02 62 - #define VBE_DISPI_8BIT_DAC 0x20 63 - #define VBE_DISPI_LFB_ENABLED 0x40 64 - #define VBE_DISPI_NOCLEARMEM 0x80 65 - 66 - #define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000 67 36 68 37 #define CH_ATTR_SIZE (160 * 100) 69 38 #define VGA_MAX_HEIGHT 2048
+69
include/hw/display/bochs-vbe.h
··· 1 + #ifndef HW_DISPLAY_BOCHS_VBE_H 2 + #define HW_DISPLAY_BOCHS_VBE_H 3 + 4 + /* 5 + * bochs vesa bios extension interface 6 + */ 7 + 8 + #define VBE_DISPI_MAX_XRES 16000 9 + #define VBE_DISPI_MAX_YRES 12000 10 + #define VBE_DISPI_MAX_BPP 32 11 + 12 + #define VBE_DISPI_INDEX_ID 0x0 13 + #define VBE_DISPI_INDEX_XRES 0x1 14 + #define VBE_DISPI_INDEX_YRES 0x2 15 + #define VBE_DISPI_INDEX_BPP 0x3 16 + #define VBE_DISPI_INDEX_ENABLE 0x4 17 + #define VBE_DISPI_INDEX_BANK 0x5 18 + #define VBE_DISPI_INDEX_VIRT_WIDTH 0x6 19 + #define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7 20 + #define VBE_DISPI_INDEX_X_OFFSET 0x8 21 + #define VBE_DISPI_INDEX_Y_OFFSET 0x9 22 + #define VBE_DISPI_INDEX_NB 0xa /* size of vbe_regs[] */ 23 + #define VBE_DISPI_INDEX_VIDEO_MEMORY_64K 0xa /* read-only, not in vbe_regs */ 24 + 25 + /* VBE_DISPI_INDEX_ID */ 26 + #define VBE_DISPI_ID0 0xB0C0 27 + #define VBE_DISPI_ID1 0xB0C1 28 + #define VBE_DISPI_ID2 0xB0C2 29 + #define VBE_DISPI_ID3 0xB0C3 30 + #define VBE_DISPI_ID4 0xB0C4 31 + #define VBE_DISPI_ID5 0xB0C5 32 + 33 + /* VBE_DISPI_INDEX_ENABLE */ 34 + #define VBE_DISPI_DISABLED 0x00 35 + #define VBE_DISPI_ENABLED 0x01 36 + #define VBE_DISPI_GETCAPS 0x02 37 + #define VBE_DISPI_8BIT_DAC 0x20 38 + #define VBE_DISPI_LFB_ENABLED 0x40 39 + #define VBE_DISPI_NOCLEARMEM 0x80 40 + 41 + /* only used by isa-vga, pci vga devices use a memory bar */ 42 + #define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000 43 + 44 + 45 + /* 46 + * qemu extension: mmio bar (region 2) 47 + */ 48 + 49 + #define PCI_VGA_MMIO_SIZE 0x1000 50 + 51 + /* vga register region */ 52 + #define PCI_VGA_IOPORT_OFFSET 0x400 53 + #define PCI_VGA_IOPORT_SIZE (0x3e0 - 0x3c0) 54 + 55 + /* bochs vbe register region */ 56 + #define PCI_VGA_BOCHS_OFFSET 0x500 57 + #define PCI_VGA_BOCHS_SIZE (0x0b * 2) 58 + 59 + /* qemu extension register region */ 60 + #define PCI_VGA_QEXT_OFFSET 0x600 61 + #define PCI_VGA_QEXT_SIZE (2 * 4) 62 + 63 + /* qemu extension registers */ 64 + #define PCI_VGA_QEXT_REG_SIZE (0 * 4) 65 + #define PCI_VGA_QEXT_REG_BYTEORDER (1 * 4) 66 + #define PCI_VGA_QEXT_LITTLE_ENDIAN 0x1e1e1e1e 67 + #define PCI_VGA_QEXT_BIG_ENDIAN 0xbebebebe 68 + 69 + #endif /* HW_DISPLAY_BOCHS_VBE_H */