[SeaBIOS] [PATCH 3/6] qemu: add bochs-display support
Kevin O'Connor
kevin at koconnor.net
Thu May 31 16:44:55 CEST 2018
On Thu, May 31, 2018 at 08:33:50AM +0200, Gerd Hoffmann wrote:
> Use coreboot text mode emulation to also support the qemu bochs-display
> device. This is a new display device supporting simple linear
> framebuffers, using the bochs register interface. No support for legacy
> vga (text modes, planar modes, cga modes, 8bpp palette modes all
> dropped). The bochs interface is compatible with the qemu stdvga.
Thanks.
Is "display bochs" the official name for this device? I find the name
a little confusing because it is both similar to regular "bochs" and
similar to the "dispi" interface in the regular bochs driver. If the
name isn't fixed, how about "bochs-lite" or "qemu-fb".
[...]
> --- a/vgasrc/cbvga.c
> +++ b/vgasrc/cbvga.c
> @@ -8,6 +8,9 @@
> #include "biosvar.h" // GET_BDA
> #include "output.h" // dprintf
> #include "stdvga.h" // SEG_CTEXT
> +#include "bochsvga.h" // VBE_BOCHS_*
> +#include "hw/pci.h" // pci_config_readl
> +#include "hw/pci_regs.h" // PCI_BASE_ADDRESS_0
> #include "string.h" // memset16_far
> #include "util.h" // find_cb_table
> #include "vgabios.h" // SET_VGA
> @@ -310,3 +313,57 @@ cbvga_setup(void)
> cbvga_setup_modes(addr, bpp, xlines, ylines, linelength);
> return 0;
> }
> +
> +/* ------------------------------------------------------------------ */
> +
> +#define FRAMEBUFFER_WIDTH 1024
> +#define FRAMEBUFFER_HEIGHT 768
> +#define FRAMEBUFFER_BPP 4
> +#define FRAMEBUFFER_STRIDE (FRAMEBUFFER_BPP * FRAMEBUFFER_WIDTH)
> +#define FRAMEBUFFER_SIZE (FRAMEBUFFER_STRIDE * FRAMEBUFFER_HEIGHT)
> +
> +int
> +bochs_display_setup(void)
> +{
> + dprintf(1, "bochs-display: setup called\n");
Instead of adding this to cbvga.c could we add it to a new file? (It
and cbvga.c could still be linked together into the final vgabios
binary.)
-Kevin
More information about the SeaBIOS
mailing list