All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] two little bochs-display patches.
@ 2018-10-05 16:01 Gerd Hoffmann
  2018-10-05 16:01 ` [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display Gerd Hoffmann
  2018-10-05 16:01 ` [Qemu-devel] [PATCH 2/2] bochs-display: wire up edid support Gerd Hoffmann
  0 siblings, 2 replies; 6+ messages in thread
From: Gerd Hoffmann @ 2018-10-05 16:01 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcel Apfelbaum, Gerd Hoffmann, Michael S. Tsirkin



Gerd Hoffmann (2):
  display: add separate config option for bochs-display
  bochs-display: wire up edid support

 hw/display/bochs-display.c | 13 +++++++++++++
 default-configs/pci.mak    |  1 +
 hw/display/Makefile.objs   |  3 ++-
 3 files changed, 16 insertions(+), 1 deletion(-)

-- 
2.9.3

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display
  2018-10-05 16:01 [Qemu-devel] [PATCH 0/2] two little bochs-display patches Gerd Hoffmann
@ 2018-10-05 16:01 ` Gerd Hoffmann
  2018-10-05 16:22   ` Alistair Francis
  2018-10-05 16:01 ` [Qemu-devel] [PATCH 2/2] bochs-display: wire up edid support Gerd Hoffmann
  1 sibling, 1 reply; 6+ messages in thread
From: Gerd Hoffmann @ 2018-10-05 16:01 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcel Apfelbaum, Gerd Hoffmann, Michael S. Tsirkin

This allows modern architectures which don't care about vga
compatibility (risc-v for example) build bochs-display without
including all vga emulation too.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 default-configs/pci.mak  | 1 +
 hw/display/Makefile.objs | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index de53d20ac6..6c7be12779 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -44,5 +44,6 @@ CONFIG_SDHCI=y
 CONFIG_EDU=y
 CONFIG_VGA=y
 CONFIG_VGA_PCI=y
+CONFIG_BOCHS_DISPLAY=y
 CONFIG_IVSHMEM_DEVICE=$(CONFIG_IVSHMEM)
 CONFIG_ROCKER=y
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 780a76b9f0..2a0de16a55 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -14,11 +14,11 @@ common-obj-$(CONFIG_SSD0323) += ssd0323.o
 common-obj-$(CONFIG_XEN) += xenfb.o
 
 common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
-common-obj-$(CONFIG_VGA_PCI) += bochs-display.o
 common-obj-$(CONFIG_VGA_PCI) += edid-region.o
 common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
 common-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
 common-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
+common-obj-$(CONFIG_BOCHS_DISPLAY) += bochs-display.o
 
 common-obj-$(CONFIG_BLIZZARD) += blizzard.o
 common-obj-$(CONFIG_EXYNOS4) += exynos4210_fimd.o
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 2/2] bochs-display: wire up edid support
  2018-10-05 16:01 [Qemu-devel] [PATCH 0/2] two little bochs-display patches Gerd Hoffmann
  2018-10-05 16:01 ` [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display Gerd Hoffmann
@ 2018-10-05 16:01 ` Gerd Hoffmann
  1 sibling, 0 replies; 6+ messages in thread
From: Gerd Hoffmann @ 2018-10-05 16:01 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marcel Apfelbaum, Gerd Hoffmann, Michael S. Tsirkin

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/display/bochs-display.c | 13 +++++++++++++
 hw/display/Makefile.objs   |  1 +
 2 files changed, 14 insertions(+)

diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c
index 09d8944a1b..3d439eb240 100644
--- a/hw/display/bochs-display.c
+++ b/hw/display/bochs-display.c
@@ -9,6 +9,7 @@
 #include "hw/hw.h"
 #include "hw/pci/pci.h"
 #include "hw/display/bochs-vbe.h"
+#include "hw/display/edid.h"
 
 #include "qapi/error.h"
 
@@ -35,9 +36,13 @@ typedef struct BochsDisplayState {
     MemoryRegion     mmio;
     MemoryRegion     vbe;
     MemoryRegion     qext;
+    MemoryRegion     edid;
 
     /* device config */
     uint64_t         vgamem;
+    bool             enable_edid;
+    qemu_edid_info   edid_info;
+    uint8_t          edid_blob[256];
 
     /* device registers */
     uint16_t         vbe_regs[VBE_DISPI_INDEX_NB];
@@ -283,6 +288,12 @@ static void bochs_display_realize(PCIDevice *dev, Error **errp)
     pci_register_bar(&s->pci, 0, PCI_BASE_ADDRESS_MEM_PREFETCH, &s->vram);
     pci_register_bar(&s->pci, 2, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->mmio);
 
+    if (s->enable_edid) {
+        qemu_edid_generate(s->edid_blob, sizeof(s->edid_blob), &s->edid_info);
+        qemu_edid_region_io(&s->edid, obj, s->edid_blob, sizeof(s->edid_blob));
+        memory_region_add_subregion(&s->mmio, 0, &s->edid);
+    }
+
     if (pci_bus_is_express(pci_get_bus(dev))) {
         dev->cap_present |= QEMU_PCI_CAP_EXPRESS;
         ret = pcie_endpoint_cap_init(dev, 0x80);
@@ -325,6 +336,8 @@ static void bochs_display_exit(PCIDevice *dev)
 
 static Property bochs_display_properties[] = {
     DEFINE_PROP_SIZE("vgamem", BochsDisplayState, vgamem, 16 * MiB),
+    DEFINE_PROP_BOOL("edid", BochsDisplayState, enable_edid, false),
+    DEFINE_EDID_PROPERTIES(BochsDisplayState, edid_info),
     DEFINE_PROP_END_OF_LIST(),
 };
 
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 2a0de16a55..2e1b1bcd22 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -19,6 +19,7 @@ common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
 common-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
 common-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
 common-obj-$(CONFIG_BOCHS_DISPLAY) += bochs-display.o
+common-obj-$(CONFIG_BOCHS_DISPLAY) += edid-region.o
 
 common-obj-$(CONFIG_BLIZZARD) += blizzard.o
 common-obj-$(CONFIG_EXYNOS4) += exynos4210_fimd.o
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display
  2018-10-05 16:01 ` [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display Gerd Hoffmann
@ 2018-10-05 16:22   ` Alistair Francis
  2018-10-05 16:48     ` Gerd Hoffmann
  0 siblings, 1 reply; 6+ messages in thread
From: Alistair Francis @ 2018-10-05 16:22 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel@nongnu.org Developers, Michael S. Tsirkin

On Fri, Oct 5, 2018 at 9:13 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> This allows modern architectures which don't care about vga
> compatibility (risc-v for example) build bochs-display without
> including all vga emulation too.

For RISC-V we end up including pci.mak anyway for other things such as
NVMe drives. So we don't really need this, but it still seems useful.

>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  default-configs/pci.mak  | 1 +
>  hw/display/Makefile.objs | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/default-configs/pci.mak b/default-configs/pci.mak
> index de53d20ac6..6c7be12779 100644
> --- a/default-configs/pci.mak
> +++ b/default-configs/pci.mak
> @@ -44,5 +44,6 @@ CONFIG_SDHCI=y
>  CONFIG_EDU=y
>  CONFIG_VGA=y
>  CONFIG_VGA_PCI=y
> +CONFIG_BOCHS_DISPLAY=y
>  CONFIG_IVSHMEM_DEVICE=$(CONFIG_IVSHMEM)
>  CONFIG_ROCKER=y
> diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
> index 780a76b9f0..2a0de16a55 100644
> --- a/hw/display/Makefile.objs
> +++ b/hw/display/Makefile.objs
> @@ -14,11 +14,11 @@ common-obj-$(CONFIG_SSD0323) += ssd0323.o
>  common-obj-$(CONFIG_XEN) += xenfb.o
>
>  common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
> -common-obj-$(CONFIG_VGA_PCI) += bochs-display.o
>  common-obj-$(CONFIG_VGA_PCI) += edid-region.o
>  common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
>  common-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
>  common-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
> +common-obj-$(CONFIG_BOCHS_DISPLAY) += bochs-display.o
>
>  common-obj-$(CONFIG_BLIZZARD) += blizzard.o
>  common-obj-$(CONFIG_EXYNOS4) += exynos4210_fimd.o
> --
> 2.9.3
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display
  2018-10-05 16:22   ` Alistair Francis
@ 2018-10-05 16:48     ` Gerd Hoffmann
  2018-10-05 17:04       ` Alistair
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Hoffmann @ 2018-10-05 16:48 UTC (permalink / raw)
  To: Alistair Francis; +Cc: qemu-devel@nongnu.org Developers, Michael S. Tsirkin

On Fri, Oct 05, 2018 at 09:22:29AM -0700, Alistair Francis wrote:
> On Fri, Oct 5, 2018 at 9:13 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
> >
> > This allows modern architectures which don't care about vga
> > compatibility (risc-v for example) build bochs-display without
> > including all vga emulation too.
> 
> For RISC-V we end up including pci.mak anyway for other things such as
> NVMe drives. So we don't really need this, but it still seems useful.

Hmm, maybe we should split pci.mak into pci-legacy.mak and pci-express.mak
then?

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display
  2018-10-05 16:48     ` Gerd Hoffmann
@ 2018-10-05 17:04       ` Alistair
  0 siblings, 0 replies; 6+ messages in thread
From: Alistair @ 2018-10-05 17:04 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel@nongnu.org Developers, Michael S. Tsirkin

On 10/05/2018 09:48 AM, Gerd Hoffmann wrote:
> On Fri, Oct 05, 2018 at 09:22:29AM -0700, Alistair Francis wrote:
>> On Fri, Oct 5, 2018 at 9:13 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
>>>
>>> This allows modern architectures which don't care about vga
>>> compatibility (risc-v for example) build bochs-display without
>>> including all vga emulation too.
>>
>> For RISC-V we end up including pci.mak anyway for other things such as
>> NVMe drives. So we don't really need this, but it still seems useful.
> 
> Hmm, maybe we should split pci.mak into pci-legacy.mak and pci-express.mak
> then?

That sounds like a good idea.

Alistair

> 
> cheers,
>    Gerd
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-05 17:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-05 16:01 [Qemu-devel] [PATCH 0/2] two little bochs-display patches Gerd Hoffmann
2018-10-05 16:01 ` [Qemu-devel] [PATCH 1/2] display: add separate config option for bochs-display Gerd Hoffmann
2018-10-05 16:22   ` Alistair Francis
2018-10-05 16:48     ` Gerd Hoffmann
2018-10-05 17:04       ` Alistair
2018-10-05 16:01 ` [Qemu-devel] [PATCH 2/2] bochs-display: wire up edid support Gerd Hoffmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.