On 05/17/2018 06:25 AM, Gerd Hoffmann wrote: > 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 <kra...@redhat.com> > --- > hw/display/vga_int.h | 35 ++--------------------- > include/hw/display/bochs-vbe.h | 64 > ++++++++++++++++++++++++++++++++++++++++++ > hw/display/vga-pci.c | 13 ---------
Adding those file in your Graphics MAINTAINERS entry: Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > 3 files changed, 66 insertions(+), 46 deletions(-) > create mode 100644 include/hw/display/bochs-vbe.h > > diff --git a/hw/display/vga_int.h b/hw/display/vga_int.h > index fe23b81442..313cff84fc 100644 > --- a/hw/display/vga_int.h > +++ b/hw/display/vga_int.h > @@ -29,42 +29,11 @@ > #include "exec/memory.h" > #include "ui/console.h" > > +#include "hw/display/bochs-vbe.h" > + > #define ST01_V_RETRACE 0x08 > #define ST01_DISP_ENABLE 0x01 > > -#define VBE_DISPI_MAX_XRES 16000 > -#define VBE_DISPI_MAX_YRES 12000 > -#define VBE_DISPI_MAX_BPP 32 > - > -#define VBE_DISPI_INDEX_ID 0x0 > -#define VBE_DISPI_INDEX_XRES 0x1 > -#define VBE_DISPI_INDEX_YRES 0x2 > -#define VBE_DISPI_INDEX_BPP 0x3 > -#define VBE_DISPI_INDEX_ENABLE 0x4 > -#define VBE_DISPI_INDEX_BANK 0x5 > -#define VBE_DISPI_INDEX_VIRT_WIDTH 0x6 > -#define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7 > -#define VBE_DISPI_INDEX_X_OFFSET 0x8 > -#define VBE_DISPI_INDEX_Y_OFFSET 0x9 > -#define VBE_DISPI_INDEX_NB 0xa /* size of vbe_regs[] */ > -#define VBE_DISPI_INDEX_VIDEO_MEMORY_64K 0xa /* read-only, not in vbe_regs */ > - > -#define VBE_DISPI_ID0 0xB0C0 > -#define VBE_DISPI_ID1 0xB0C1 > -#define VBE_DISPI_ID2 0xB0C2 > -#define VBE_DISPI_ID3 0xB0C3 > -#define VBE_DISPI_ID4 0xB0C4 > -#define VBE_DISPI_ID5 0xB0C5 > - > -#define VBE_DISPI_DISABLED 0x00 > -#define VBE_DISPI_ENABLED 0x01 > -#define VBE_DISPI_GETCAPS 0x02 > -#define VBE_DISPI_8BIT_DAC 0x20 > -#define VBE_DISPI_LFB_ENABLED 0x40 > -#define VBE_DISPI_NOCLEARMEM 0x80 > - > -#define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000 > - > #define CH_ATTR_SIZE (160 * 100) > #define VGA_MAX_HEIGHT 2048 > > diff --git a/include/hw/display/bochs-vbe.h b/include/hw/display/bochs-vbe.h > new file mode 100644 > index 0000000000..6f27ed4a91 > --- /dev/null > +++ b/include/hw/display/bochs-vbe.h > @@ -0,0 +1,64 @@ > +/* > + * bochs vesa bios extension interface > + */ > + > +#define VBE_DISPI_MAX_XRES 16000 > +#define VBE_DISPI_MAX_YRES 12000 > +#define VBE_DISPI_MAX_BPP 32 > + > +#define VBE_DISPI_INDEX_ID 0x0 > +#define VBE_DISPI_INDEX_XRES 0x1 > +#define VBE_DISPI_INDEX_YRES 0x2 > +#define VBE_DISPI_INDEX_BPP 0x3 > +#define VBE_DISPI_INDEX_ENABLE 0x4 > +#define VBE_DISPI_INDEX_BANK 0x5 > +#define VBE_DISPI_INDEX_VIRT_WIDTH 0x6 > +#define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7 > +#define VBE_DISPI_INDEX_X_OFFSET 0x8 > +#define VBE_DISPI_INDEX_Y_OFFSET 0x9 > +#define VBE_DISPI_INDEX_NB 0xa /* size of vbe_regs[] */ > +#define VBE_DISPI_INDEX_VIDEO_MEMORY_64K 0xa /* read-only, not in vbe_regs */ > + > +/* VBE_DISPI_INDEX_ID */ > +#define VBE_DISPI_ID0 0xB0C0 > +#define VBE_DISPI_ID1 0xB0C1 > +#define VBE_DISPI_ID2 0xB0C2 > +#define VBE_DISPI_ID3 0xB0C3 > +#define VBE_DISPI_ID4 0xB0C4 > +#define VBE_DISPI_ID5 0xB0C5 > + > +/* VBE_DISPI_INDEX_ENABLE */ > +#define VBE_DISPI_DISABLED 0x00 > +#define VBE_DISPI_ENABLED 0x01 > +#define VBE_DISPI_GETCAPS 0x02 > +#define VBE_DISPI_8BIT_DAC 0x20 > +#define VBE_DISPI_LFB_ENABLED 0x40 > +#define VBE_DISPI_NOCLEARMEM 0x80 > + > +/* only used by isa-vga, pci vga devices use a memory bar */ > +#define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000 > + > + > +/* > + * qemu extension: mmio bar (region 2) > + */ > + > +#define PCI_VGA_MMIO_SIZE 0x1000 > + > +/* vga register region */ > +#define PCI_VGA_IOPORT_OFFSET 0x400 > +#define PCI_VGA_IOPORT_SIZE (0x3e0 - 0x3c0) > + > +/* bochs vbe register region */ > +#define PCI_VGA_BOCHS_OFFSET 0x500 > +#define PCI_VGA_BOCHS_SIZE (0x0b * 2) > + > +/* qemu extension register region */ > +#define PCI_VGA_QEXT_OFFSET 0x600 > +#define PCI_VGA_QEXT_SIZE (2 * 4) > + > +/* qemu extension registers */ > +#define PCI_VGA_QEXT_REG_SIZE (0 * 4) > +#define PCI_VGA_QEXT_REG_BYTEORDER (1 * 4) > +#define PCI_VGA_QEXT_LITTLE_ENDIAN 0x1e1e1e1e > +#define PCI_VGA_QEXT_BIG_ENDIAN 0xbebebebe > diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c > index f312930664..fb3e4cd400 100644 > --- a/hw/display/vga-pci.c > +++ b/hw/display/vga-pci.c > @@ -31,19 +31,6 @@ > #include "qemu/timer.h" > #include "hw/loader.h" > > -#define PCI_VGA_IOPORT_OFFSET 0x400 > -#define PCI_VGA_IOPORT_SIZE (0x3e0 - 0x3c0) > -#define PCI_VGA_BOCHS_OFFSET 0x500 > -#define PCI_VGA_BOCHS_SIZE (0x0b * 2) > -#define PCI_VGA_QEXT_OFFSET 0x600 > -#define PCI_VGA_QEXT_SIZE (2 * 4) > -#define PCI_VGA_MMIO_SIZE 0x1000 > - > -#define PCI_VGA_QEXT_REG_SIZE (0 * 4) > -#define PCI_VGA_QEXT_REG_BYTEORDER (1 * 4) > -#define PCI_VGA_QEXT_LITTLE_ENDIAN 0x1e1e1e1e > -#define PCI_VGA_QEXT_BIG_ENDIAN 0xbebebebe > - > enum vga_pci_flags { > PCI_VGA_FLAG_ENABLE_MMIO = 1, > PCI_VGA_FLAG_ENABLE_QEXT = 2, >