bochs-vbe.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef HW_DISPLAY_BOCHS_VBE_H
  2. #define HW_DISPLAY_BOCHS_VBE_H
  3. /*
  4. * bochs vesa bios extension interface
  5. */
  6. #define VBE_DISPI_MAX_XRES 16000
  7. #define VBE_DISPI_MAX_YRES 12000
  8. #define VBE_DISPI_MAX_BPP 32
  9. #define VBE_DISPI_INDEX_ID 0x0
  10. #define VBE_DISPI_INDEX_XRES 0x1
  11. #define VBE_DISPI_INDEX_YRES 0x2
  12. #define VBE_DISPI_INDEX_BPP 0x3
  13. #define VBE_DISPI_INDEX_ENABLE 0x4
  14. #define VBE_DISPI_INDEX_BANK 0x5
  15. #define VBE_DISPI_INDEX_VIRT_WIDTH 0x6
  16. #define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7
  17. #define VBE_DISPI_INDEX_X_OFFSET 0x8
  18. #define VBE_DISPI_INDEX_Y_OFFSET 0x9
  19. #define VBE_DISPI_INDEX_NB 0xa /* size of vbe_regs[] */
  20. #define VBE_DISPI_INDEX_VIDEO_MEMORY_64K 0xa /* read-only, not in vbe_regs */
  21. /* VBE_DISPI_INDEX_ID */
  22. #define VBE_DISPI_ID0 0xB0C0
  23. #define VBE_DISPI_ID1 0xB0C1
  24. #define VBE_DISPI_ID2 0xB0C2
  25. #define VBE_DISPI_ID3 0xB0C3
  26. #define VBE_DISPI_ID4 0xB0C4
  27. #define VBE_DISPI_ID5 0xB0C5
  28. /* VBE_DISPI_INDEX_ENABLE */
  29. #define VBE_DISPI_DISABLED 0x00
  30. #define VBE_DISPI_ENABLED 0x01
  31. #define VBE_DISPI_GETCAPS 0x02
  32. #define VBE_DISPI_8BIT_DAC 0x20
  33. #define VBE_DISPI_LFB_ENABLED 0x40
  34. #define VBE_DISPI_NOCLEARMEM 0x80
  35. /* only used by isa-vga, pci vga devices use a memory bar */
  36. #define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000
  37. /*
  38. * qemu extension: mmio bar (region 2)
  39. */
  40. #define PCI_VGA_MMIO_SIZE 0x1000
  41. /* vga register region */
  42. #define PCI_VGA_IOPORT_OFFSET 0x400
  43. #define PCI_VGA_IOPORT_SIZE (0x3e0 - 0x3c0)
  44. /* bochs vbe register region */
  45. #define PCI_VGA_BOCHS_OFFSET 0x500
  46. #define PCI_VGA_BOCHS_SIZE (0x0b * 2)
  47. /* qemu extension register region */
  48. #define PCI_VGA_QEXT_OFFSET 0x600
  49. #define PCI_VGA_QEXT_SIZE (2 * 4)
  50. /* qemu extension registers */
  51. #define PCI_VGA_QEXT_REG_SIZE (0 * 4)
  52. #define PCI_VGA_QEXT_REG_BYTEORDER (1 * 4)
  53. #define PCI_VGA_QEXT_LITTLE_ENDIAN 0x1e1e1e1e
  54. #define PCI_VGA_QEXT_BIG_ENDIAN 0xbebebebe
  55. #endif /* HW_DISPLAY_BOCHS_VBE_H */