Read EDID blob from mmio bar, store in VBE_edid.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com --- vgasrc/bochsdisplay.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/vgasrc/bochsdisplay.c b/vgasrc/bochsdisplay.c index 6a75f3787efc..38891b5f6734 100644 --- a/vgasrc/bochsdisplay.c +++ b/vgasrc/bochsdisplay.c @@ -4,6 +4,7 @@ #include "bochsvga.h" // VBE_BOCHS_* #include "hw/pci.h" // pci_config_readl #include "hw/pci_regs.h" // PCI_BASE_ADDRESS_0 +#include "vgabios.h" // SET_VGA #include "vgautil.h" // VBE_total_memory
#define FRAMEBUFFER_WIDTH 1024 @@ -40,7 +41,12 @@ bochs_display_setup(void) if (id != VBE_DISPI_ID5) return -1;
- dprintf(1, "bochs-display: using %dx%d, %d bpp (%d stride)\n" + int i; + u8 *edid = (void*)(io_addr); + for (i = 0; i < sizeof(VBE_edid); i++) + SET_VGA(VBE_edid[i], readb(edid + i)); + + dprintf(1, "bochs-display: using %dx%d, %d bpp (%d stride)\n" , FRAMEBUFFER_WIDTH, FRAMEBUFFER_HEIGHT , FRAMEBUFFER_BPP * 8, FRAMEBUFFER_STRIDE);