qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/1] hw/display: expose linear framebuffer address in Bochs V


From: Gerd Hoffmann
Subject: Re: [PATCH 0/1] hw/display: expose linear framebuffer address in Bochs VBE registers
Date: Wed, 21 Sep 2022 08:14:47 +0200

  Hi,

> 1. Although it is reasonable to assume no more than one isa-vga device
>   will exist in one machine, this could be changed easily later on.

Nope.  Even if you fix the framebuffer address conflict you still have
the io address conflict.

>   As it stands now, on an ISA-PC machine with no PCI bus, there are
>   basically zero methods to detect hardware - you have to assume the
>   hardware is there, or just to probe for it and hope for the best.

Yep.  That's why isa-pc is pretty much unused these days.

>   However, for other machines, and the one I am especially interested
>   in, the microvm machine, this claim could be easily revoked as the
>   microvm machine exposes a device tree - we could easily place many
>   ISA-VGA devices on the "System bus" of a virtual machine, essentially
>   having multiple framebuffer devices on such machine setup, with no PCI
>   bus being involved at all. Of course, we will need to figure out how
>   to make some sort of an ISA-VGA device that resembles a bochs-display
>   device - it should not have VGA capabilities because otherwise the
>   devices' resources will be in conflict for VGA control of the VGA IO
>   space. The Bochs VBE registers will also need to be located in
>   different IO ports too for each device.

When you want build a sysbus variant of the bochs-display device and
make that discoverable by the guest somehow (dt or acpi) you can expose
both io ports and framebuffer address that way.  No need to touch the
bochs dispi interface for that.

>   This idea is quite neat in my opinion, because it could speed up the
>   boot of such VM while still providing sufficient display capabilities
>   for those we need them. It could help developers to test their OSes
>   on such hardware setups to ensure multi-monitor configuration works
>   reliably when there's no PCI bus at all but many framebuffer devices
>   being used in one VM.

Why not just use virtio-gpu?

> 2. This is more related to the SerenityOS project - I prefer to not 
>   hardcode physical addresses at all wherever I can do so. This makes
>   the code cleaner and more understandable as far as I observe this from
>   the angle of the person which is not me, that tries to make sense from
>   the code flow.

Yea, fully agree, but why continue to use non-discoverable isa bus
devices then?

> 3. The costs of adding this feature are pretty negligible compared to
>   the possible value of this, especially if we apply the idea of running
>   multiple ISA-VGA devices on one microvm machine. Still, the only major
>   "issue" that one can point to is the fact that I bump up the Bochs VBE
>   version number, which could be questionable with how the feature might
>   be insignificant for many guest OSes out there.

Touching isa-vga at this point doesn't make sense at all.  We simply
can't move around the framebuffer without screwing up users.

Also I don't see any actual value in this.  Even considering the
multiple devices case the patch is a partial solution only (handles
the framebuffer but not the ioports) which is pointless.

take care,
  Gerd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]