[SeaBIOS] [PATCH 3/6] qemu: add bochs-display support
Gerd Hoffmann
kraxel at redhat.com
Fri Jun 1 09:31:29 CEST 2018
On Thu, May 31, 2018 at 11:12:14AM -0400, Kevin O'Connor wrote:
> On Thu, May 31, 2018 at 08:33:50AM +0200, Gerd Hoffmann wrote:
> [...]
> > + dprintf(1, "bochs-display: using %dx%d, %d bpp (%d stride)\n"
> > + , FRAMEBUFFER_WIDTH, FRAMEBUFFER_HEIGHT
> > + , FRAMEBUFFER_BPP * 8, FRAMEBUFFER_STRIDE);
> > +
> > + cbvga_setup_modes(lfb_addr, FRAMEBUFFER_BPP * 8,
> > + FRAMEBUFFER_WIDTH, FRAMEBUFFER_HEIGHT,
> > + FRAMEBUFFER_STRIDE);
> > +
> > + writew(dispi + VBE_DISPI_INDEX_XRES, FRAMEBUFFER_WIDTH);
> > + writew(dispi + VBE_DISPI_INDEX_YRES, FRAMEBUFFER_HEIGHT);
> > + writew(dispi + VBE_DISPI_INDEX_BPP, FRAMEBUFFER_BPP * 8);
> > + writew(dispi + VBE_DISPI_INDEX_ENABLE, VBE_DISPI_ENABLED);
> > +
> > + writeb(vga, 0x20); /* unblank (for qemu -device VGA) */
>
> An additional question - if the mode can be changed why do we only
> change it on startup? Is the idea that the OS will have a driver
> installed that directly changes modes once the OS starts up?
Yes. On linux bochs-drm.ko can handle the device.
Also modesetting isn't that easily in real mode due to the registers
being in a 32bit mmio bar. setup() is fine due to running in big real
mode.
cheers,
Gerd
More information about the SeaBIOS
mailing list