* [Qemu-devel] [PATCH v2 0/2] vga: make stdvga the global default
@ 2018-07-05 6:43 Gerd Hoffmann
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 1/2] vga: set default_display for all machines using cirrus Gerd Hoffmann
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default Gerd Hoffmann
0 siblings, 2 replies; 15+ messages in thread
From: Gerd Hoffmann @ 2018-07-05 6:43 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Alexander Graf, Eduardo Habkost, Marcel Apfelbaum,
Aleksandar Markovic, Aurelien Jarno, Michael S. Tsirkin,
David Gibson, BALATON Zoltan, qemu-ppc, Richard Henderson,
Sebastian Bauer, Gerd Hoffmann
Gerd Hoffmann (2):
vga: set default_display for all machines using cirrus.
vga: don't pick cirrus by default
hw/alpha/dp264.c | 1 +
hw/i386/pc_piix.c | 2 +-
hw/mips/mips_malta.c | 1 +
hw/mips/mips_r4k.c | 1 +
vl.c | 2 --
5 files changed, 4 insertions(+), 3 deletions(-)
--
2.9.3
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH v2 1/2] vga: set default_display for all machines using cirrus.
2018-07-05 6:43 [Qemu-devel] [PATCH v2 0/2] vga: make stdvga the global default Gerd Hoffmann
@ 2018-07-05 6:43 ` Gerd Hoffmann
2018-07-05 16:35 ` Eduardo Habkost
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default Gerd Hoffmann
1 sibling, 1 reply; 15+ messages in thread
From: Gerd Hoffmann @ 2018-07-05 6:43 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Alexander Graf, Eduardo Habkost, Marcel Apfelbaum,
Aleksandar Markovic, Aurelien Jarno, Michael S. Tsirkin,
David Gibson, BALATON Zoltan, qemu-ppc, Richard Henderson,
Sebastian Bauer, Gerd Hoffmann
Explicitly set MachineClass->default_display to "cirrus" for all machine
types (alpha, mips, old i386 versions) which use cirrus today, so they
don't depend on cirrus being the default display device.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/alpha/dp264.c | 1 +
hw/i386/pc_piix.c | 2 +-
hw/mips/mips_malta.c | 1 +
hw/mips/mips_r4k.c | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
index 80b987f7fb..668e6d099f 100644
--- a/hw/alpha/dp264.c
+++ b/hw/alpha/dp264.c
@@ -182,6 +182,7 @@ static void clipper_machine_init(MachineClass *mc)
mc->max_cpus = 4;
mc->is_default = 1;
mc->default_cpu_type = ALPHA_CPU_TYPE_NAME("ev67");
+ mc->default_display = "cirrus";
}
DEFINE_MACHINE("clipper", clipper_machine_init)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index dc09466b3e..bcf866ee34 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -566,7 +566,7 @@ static void pc_i440fx_2_1_machine_options(MachineClass *m)
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_i440fx_2_2_machine_options(m);
m->hw_version = "2.1.0";
- m->default_display = NULL;
+ m->default_display = "cirrus";
SET_MACHINE_COMPAT(m, PC_COMPAT_2_1);
pcmc->smbios_uuid_encoded = false;
pcmc->enforce_aligned_dimm = false;
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 3467451482..998971c53a 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -1242,6 +1242,7 @@ static void mips_malta_machine_init(MachineClass *mc)
mc->block_default_type = IF_IDE;
mc->max_cpus = 16;
mc->is_default = 1;
+ mc->default_display = "cirrus";
#ifdef TARGET_MIPS64
mc->default_cpu_type = MIPS_CPU_TYPE_NAME("20Kc");
#else
diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c
index d5725d0555..c4c7ee8aa5 100644
--- a/hw/mips/mips_r4k.c
+++ b/hw/mips/mips_r4k.c
@@ -295,6 +295,7 @@ static void mips_machine_init(MachineClass *mc)
mc->desc = "mips r4k platform";
mc->init = mips_r4k_init;
mc->block_default_type = IF_IDE;
+ mc->default_display = "cirrus";
#ifdef TARGET_MIPS64
mc->default_cpu_type = MIPS_CPU_TYPE_NAME("R4000");
#else
--
2.9.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-05 6:43 [Qemu-devel] [PATCH v2 0/2] vga: make stdvga the global default Gerd Hoffmann
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 1/2] vga: set default_display for all machines using cirrus Gerd Hoffmann
@ 2018-07-05 6:43 ` Gerd Hoffmann
2018-07-05 16:35 ` Eduardo Habkost
1 sibling, 1 reply; 15+ messages in thread
From: Gerd Hoffmann @ 2018-07-05 6:43 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Alexander Graf, Eduardo Habkost, Marcel Apfelbaum,
Aleksandar Markovic, Aurelien Jarno, Michael S. Tsirkin,
David Gibson, BALATON Zoltan, qemu-ppc, Richard Henderson,
Sebastian Bauer, Gerd Hoffmann
Now that all machines which need cirrus explicitly select it qemu
doesn't need to consider it as default display any more. Drop it.
With this patch applied all ppc machine types will use "std" as default
display, no matter whenever cirrus-vga is compiled in or not.
Fixes: 29f9cef39e ppc: Include vga cirrus card into the compiling process
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
vl.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/vl.c b/vl.c
index 16b913f9d5..117e4e6879 100644
--- a/vl.c
+++ b/vl.c
@@ -4475,8 +4475,6 @@ int main(int argc, char **argv, char **envp)
if (default_vga) {
if (machine_class->default_display) {
vga_model = machine_class->default_display;
- } else if (vga_interface_available(VGA_CIRRUS)) {
- vga_model = "cirrus";
} else if (vga_interface_available(VGA_STD)) {
vga_model = "std";
}
--
2.9.3
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default Gerd Hoffmann
@ 2018-07-05 16:35 ` Eduardo Habkost
2018-07-06 6:53 ` Gerd Hoffmann
0 siblings, 1 reply; 15+ messages in thread
From: Eduardo Habkost @ 2018-07-05 16:35 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: qemu-devel, Paolo Bonzini, Alexander Graf, Marcel Apfelbaum,
Aleksandar Markovic, Aurelien Jarno, Michael S. Tsirkin,
David Gibson, BALATON Zoltan, qemu-ppc, Richard Henderson,
Sebastian Bauer
On Thu, Jul 05, 2018 at 08:43:48AM +0200, Gerd Hoffmann wrote:
> Now that all machines which need cirrus explicitly select it qemu
> doesn't need to consider it as default display any more. Drop it.
>
> With this patch applied all ppc machine types will use "std" as default
> display, no matter whenever cirrus-vga is compiled in or not.
>
> Fixes: 29f9cef39e ppc: Include vga cirrus card into the compiling process
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Do we have a list of all machine-types with default_display==NULL
that would be affected by this? For reference, this will affect
the machines in the following binaries:
default-configs/alpha-softmmu.mak:CONFIG_VGA_CIRRUS=y
default-configs/i386-softmmu.mak:CONFIG_VGA_CIRRUS=y
default-configs/mips-softmmu-common.mak:CONFIG_VGA_CIRRUS=y
default-configs/ppc-softmmu.mak:CONFIG_VGA_CIRRUS=y
default-configs/x86_64-softmmu.mak:CONFIG_VGA_CIRRUS=y
> ---
> vl.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 16b913f9d5..117e4e6879 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4475,8 +4475,6 @@ int main(int argc, char **argv, char **envp)
> if (default_vga) {
> if (machine_class->default_display) {
> vga_model = machine_class->default_display;
> - } else if (vga_interface_available(VGA_CIRRUS)) {
> - vga_model = "cirrus";
> } else if (vga_interface_available(VGA_STD)) {
> vga_model = "std";
> }
> --
> 2.9.3
>
--
Eduardo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] vga: set default_display for all machines using cirrus.
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 1/2] vga: set default_display for all machines using cirrus Gerd Hoffmann
@ 2018-07-05 16:35 ` Eduardo Habkost
0 siblings, 0 replies; 15+ messages in thread
From: Eduardo Habkost @ 2018-07-05 16:35 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: qemu-devel, Paolo Bonzini, Alexander Graf, Marcel Apfelbaum,
Aleksandar Markovic, Aurelien Jarno, Michael S. Tsirkin,
David Gibson, BALATON Zoltan, qemu-ppc, Richard Henderson,
Sebastian Bauer
On Thu, Jul 05, 2018 at 08:43:47AM +0200, Gerd Hoffmann wrote:
> Explicitly set MachineClass->default_display to "cirrus" for all machine
> types (alpha, mips, old i386 versions) which use cirrus today, so they
> don't depend on cirrus being the default display device.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
--
Eduardo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-05 16:35 ` Eduardo Habkost
@ 2018-07-06 6:53 ` Gerd Hoffmann
2018-07-09 21:08 ` Eduardo Habkost
0 siblings, 1 reply; 15+ messages in thread
From: Gerd Hoffmann @ 2018-07-06 6:53 UTC (permalink / raw)
To: Eduardo Habkost
Cc: qemu-devel, Paolo Bonzini, Alexander Graf, Marcel Apfelbaum,
Aleksandar Markovic, Aurelien Jarno, Michael S. Tsirkin,
David Gibson, BALATON Zoltan, qemu-ppc, Richard Henderson,
Sebastian Bauer
On Thu, Jul 05, 2018 at 01:35:01PM -0300, Eduardo Habkost wrote:
> Do we have a list of all machine-types with default_display==NULL
> that would be affected by this?
There are not many which use the default vga thing in the first place.
Workflow is this:
(1) vl.c calls select_vgahw(vga_model) after setting vga_model.
(2) select_hw() sets vga_interface_type.
(3) isa_vga_init() and pci_vga_init() look at vga_interface_type.
Checking where either vga_interface_type or *_vga_init() is used doesn't
yield many places:
# find -name "*.[ch]" | xargs egrep '((isa|pci)_vga_init|vga_interface_type)'
./hw/alpha/dp264.c: pci_vga_init(pci_bus);
./hw/i386/pc.c: PCIDevice *pcidev = pci_vga_init(pci_bus);
./hw/i386/pc.c: ISADevice *isadev = isa_vga_init(isa_bus);
./hw/isa/isa-bus.c:ISADevice *isa_vga_init(ISABus *bus)
./hw/isa/isa-bus.c: switch (vga_interface_type) {
./hw/mips/mips_malta.c: pci_vga_init(pci_bus);
./hw/mips/mips_r4k.c: isa_vga_init(isa_bus);
./hw/pci/pci.c:PCIDevice *pci_vga_init(PCIBus *bus)
./hw/pci/pci.c: switch (vga_interface_type) {
./hw/ppc/mac_newworld.c: pci_vga_init(pci_bus);
./hw/ppc/mac_oldworld.c: pci_vga_init(pci_bus);
./hw/ppc/spapr.c: switch (vga_interface_type) {
./hw/ppc/spapr.c: return pci_vga_init(pci_bus) != NULL;
./hw/ppc/prep.c: pci_vga_init(pci_bus);
./hw/ppc/prep.c: pci_vga_init(pci_bus);
./hw/sparc/sun4m.c: if (vga_interface_type == VGA_CG3) {
./include/hw/isa/isa.h:ISADevice *isa_vga_init(ISABus *bus);
./include/hw/pci/pci.h:PCIDevice *pci_vga_init(PCIBus *bus);
./include/sysemu/sysemu.h:extern int vga_interface_type;
./include/sysemu/sysemu.h:#define xenfb_enabled (vga_interface_type == VGA_XENFB)
./vl.c:int vga_interface_type = VGA_NONE;
./vl.c: assert(vga_interface_type == VGA_NONE);
./vl.c: vga_interface_type = t;
./vl.c: vga_interface_type = VGA_DEVICE;
So it is alpha, mips, i386, ppc.
Also some hits vl.c, headers and isa/pci code.
Xen and sparc check for something which is never picked as default,
so no worries here.
cheers,
Gerd
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-06 6:53 ` Gerd Hoffmann
@ 2018-07-09 21:08 ` Eduardo Habkost
2018-07-09 21:23 ` Eduardo Habkost
0 siblings, 1 reply; 15+ messages in thread
From: Eduardo Habkost @ 2018-07-09 21:08 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: Aleksandar Markovic, Michael S. Tsirkin, Richard Henderson,
qemu-devel, Alexander Graf, qemu-ppc, Paolo Bonzini,
Sebastian Bauer, Aurelien Jarno, David Gibson
On Fri, Jul 06, 2018 at 08:53:42AM +0200, Gerd Hoffmann wrote:
> On Thu, Jul 05, 2018 at 01:35:01PM -0300, Eduardo Habkost wrote:
> > Do we have a list of all machine-types with default_display==NULL
> > that would be affected by this?
>
> There are not many which use the default vga thing in the first place.
> Workflow is this:
>
> (1) vl.c calls select_vgahw(vga_model) after setting vga_model.
> (2) select_hw() sets vga_interface_type.
> (3) isa_vga_init() and pci_vga_init() look at vga_interface_type.
>
> Checking where either vga_interface_type or *_vga_init() is used doesn't
> yield many places:
>
> # find -name "*.[ch]" | xargs egrep '((isa|pci)_vga_init|vga_interface_type)'
> ./hw/alpha/dp264.c: pci_vga_init(pci_bus);
> ./hw/i386/pc.c: PCIDevice *pcidev = pci_vga_init(pci_bus);
> ./hw/i386/pc.c: ISADevice *isadev = isa_vga_init(isa_bus);
> ./hw/isa/isa-bus.c:ISADevice *isa_vga_init(ISABus *bus)
> ./hw/isa/isa-bus.c: switch (vga_interface_type) {
> ./hw/mips/mips_malta.c: pci_vga_init(pci_bus);
> ./hw/mips/mips_r4k.c: isa_vga_init(isa_bus);
> ./hw/pci/pci.c:PCIDevice *pci_vga_init(PCIBus *bus)
> ./hw/pci/pci.c: switch (vga_interface_type) {
> ./hw/ppc/mac_newworld.c: pci_vga_init(pci_bus);
> ./hw/ppc/mac_oldworld.c: pci_vga_init(pci_bus);
> ./hw/ppc/spapr.c: switch (vga_interface_type) {
> ./hw/ppc/spapr.c: return pci_vga_init(pci_bus) != NULL;
> ./hw/ppc/prep.c: pci_vga_init(pci_bus);
> ./hw/ppc/prep.c: pci_vga_init(pci_bus);
> ./hw/sparc/sun4m.c: if (vga_interface_type == VGA_CG3) {
> ./include/hw/isa/isa.h:ISADevice *isa_vga_init(ISABus *bus);
> ./include/hw/pci/pci.h:PCIDevice *pci_vga_init(PCIBus *bus);
> ./include/sysemu/sysemu.h:extern int vga_interface_type;
> ./include/sysemu/sysemu.h:#define xenfb_enabled (vga_interface_type == VGA_XENFB)
> ./vl.c:int vga_interface_type = VGA_NONE;
> ./vl.c: assert(vga_interface_type == VGA_NONE);
> ./vl.c: vga_interface_type = t;
> ./vl.c: vga_interface_type = VGA_DEVICE;
>
> So it is alpha, mips, i386, ppc.
Right, and all of them have both CONFIG_VGA_CIRRUS and
CONFIG_VGA_PCI enabled. This means all of them will be affected
by this patch if they have any machines with
default_display==NULL.
At least on x86 we still have a few machines with
default_display==NULL: isapc, xenpv, xenfv. We need to fix them
before we apply this patch.
I didn't check alpha/mips/ppc yet.
--
Eduardo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-09 21:08 ` Eduardo Habkost
@ 2018-07-09 21:23 ` Eduardo Habkost
2018-07-09 22:26 ` Sebastian Bauer
0 siblings, 1 reply; 15+ messages in thread
From: Eduardo Habkost @ 2018-07-09 21:23 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: Aleksandar Markovic, Michael S. Tsirkin, Richard Henderson,
qemu-devel, Alexander Graf, qemu-ppc, Paolo Bonzini,
Sebastian Bauer, Aurelien Jarno, David Gibson
On Mon, Jul 09, 2018 at 06:08:33PM -0300, Eduardo Habkost wrote:
> On Fri, Jul 06, 2018 at 08:53:42AM +0200, Gerd Hoffmann wrote:
> > On Thu, Jul 05, 2018 at 01:35:01PM -0300, Eduardo Habkost wrote:
> > > Do we have a list of all machine-types with default_display==NULL
> > > that would be affected by this?
> >
> > There are not many which use the default vga thing in the first place.
> > Workflow is this:
> >
> > (1) vl.c calls select_vgahw(vga_model) after setting vga_model.
> > (2) select_hw() sets vga_interface_type.
> > (3) isa_vga_init() and pci_vga_init() look at vga_interface_type.
> >
> > Checking where either vga_interface_type or *_vga_init() is used doesn't
> > yield many places:
> >
> > # find -name "*.[ch]" | xargs egrep '((isa|pci)_vga_init|vga_interface_type)'
> > ./hw/alpha/dp264.c: pci_vga_init(pci_bus);
> > ./hw/i386/pc.c: PCIDevice *pcidev = pci_vga_init(pci_bus);
> > ./hw/i386/pc.c: ISADevice *isadev = isa_vga_init(isa_bus);
> > ./hw/isa/isa-bus.c:ISADevice *isa_vga_init(ISABus *bus)
> > ./hw/isa/isa-bus.c: switch (vga_interface_type) {
> > ./hw/mips/mips_malta.c: pci_vga_init(pci_bus);
> > ./hw/mips/mips_r4k.c: isa_vga_init(isa_bus);
> > ./hw/pci/pci.c:PCIDevice *pci_vga_init(PCIBus *bus)
> > ./hw/pci/pci.c: switch (vga_interface_type) {
> > ./hw/ppc/mac_newworld.c: pci_vga_init(pci_bus);
> > ./hw/ppc/mac_oldworld.c: pci_vga_init(pci_bus);
> > ./hw/ppc/spapr.c: switch (vga_interface_type) {
> > ./hw/ppc/spapr.c: return pci_vga_init(pci_bus) != NULL;
> > ./hw/ppc/prep.c: pci_vga_init(pci_bus);
> > ./hw/ppc/prep.c: pci_vga_init(pci_bus);
> > ./hw/sparc/sun4m.c: if (vga_interface_type == VGA_CG3) {
> > ./include/hw/isa/isa.h:ISADevice *isa_vga_init(ISABus *bus);
> > ./include/hw/pci/pci.h:PCIDevice *pci_vga_init(PCIBus *bus);
> > ./include/sysemu/sysemu.h:extern int vga_interface_type;
> > ./include/sysemu/sysemu.h:#define xenfb_enabled (vga_interface_type == VGA_XENFB)
> > ./vl.c:int vga_interface_type = VGA_NONE;
> > ./vl.c: assert(vga_interface_type == VGA_NONE);
> > ./vl.c: vga_interface_type = t;
> > ./vl.c: vga_interface_type = VGA_DEVICE;
> >
> > So it is alpha, mips, i386, ppc.
>
> Right, and all of them have both CONFIG_VGA_CIRRUS and
> CONFIG_VGA_PCI enabled. This means all of them will be affected
> by this patch if they have any machines with
> default_display==NULL.
>
> At least on x86 we still have a few machines with
> default_display==NULL: isapc, xenpv, xenfv. We need to fix them
> before we apply this patch.
>
> I didn't check alpha/mips/ppc yet.
List of machines with default_display==NULL on those
architectures:
alpha:
none empty machine
mips:
mipssim MIPS MIPSsim platform
none empty machine
ppc*:
bamboo bamboo
mpc8544ds mpc8544ds
none empty machine
powernv IBM PowerNV (Non-Virtualized)
ppce500 generic paravirt e500 platform
ref405ep ref405ep
sam460ex aCube Sam460ex
taihu taihu
virtex-ml507 Xilinx Virtex ML507 reference design
x86_64:
isapc ISA-only PC
none empty machine
xenfv Xen Fully-virtualized PC
xenpv Xen Para-virtualized PC
Tested on qemu.git master after applying this series. List
generated by hacking machine_parse(), so some machines may be
missing if they are disabled at build time.
--
Eduardo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-09 21:23 ` Eduardo Habkost
@ 2018-07-09 22:26 ` Sebastian Bauer
2018-07-11 15:48 ` Eduardo Habkost
0 siblings, 1 reply; 15+ messages in thread
From: Sebastian Bauer @ 2018-07-09 22:26 UTC (permalink / raw)
To: Eduardo Habkost
Cc: Gerd Hoffmann, Aleksandar Markovic, Michael S. Tsirkin,
Richard Henderson, qemu-devel, Alexander Graf, qemu-ppc,
Paolo Bonzini, Aurelien Jarno, David Gibson
Hi,
Am 2018-07-09 23:23, schrieb Eduardo Habkost:
> List of machines with default_display==NULL on those
> architectures:
>
> alpha:
> none empty machine
>
> mips:
> mipssim MIPS MIPSsim platform
> none empty machine
>
> ppc*:
> bamboo bamboo
> mpc8544ds mpc8544ds
> none empty machine
> powernv IBM PowerNV (Non-Virtualized)
> ppce500 generic paravirt e500 platform
> ref405ep ref405ep
> sam460ex aCube Sam460ex
> taihu taihu
> virtex-ml507 Xilinx Virtex ML507 reference design
>
> x86_64:
> isapc ISA-only PC
> none empty machine
> xenfv Xen Fully-virtualized PC
> xenpv Xen Para-virtualized PC
Which of these machines really require the Cirrus? The xen ones look
like that they can deal with std. The isapc is should probably stay at
the Cirrus.
Also the "none" seems to be a false-positive. I suppose they mean
"empty", i.e., no graphics card at all?
And at least the ppc ones can be canceled out, they should work with
std, the new default (expect the sam460ex which goes an own route for
now).
What is the indented target release for the patch?
If the patch is applied to 3.1 then I think there is enough time to fix
issues caused by the patch. Additionally, a warning could be put in the
ChangeLog for 3.0 that in 3.1 that the default mode will be std unless
machines define an own default. This is should be enough time for people
to complain or to fix things.
If the patch is to be applied to 3.0 then all non-ppc ones need to be
reconsidered.
The "important" ppc machines have been fixed already. I can do the
remaining if this is wanted.
Bye
Sebastian
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-09 22:26 ` Sebastian Bauer
@ 2018-07-11 15:48 ` Eduardo Habkost
2018-07-11 17:00 ` Sebastian Bauer
0 siblings, 1 reply; 15+ messages in thread
From: Eduardo Habkost @ 2018-07-11 15:48 UTC (permalink / raw)
To: Sebastian Bauer
Cc: Gerd Hoffmann, Aleksandar Markovic, Michael S. Tsirkin,
Richard Henderson, qemu-devel, Alexander Graf, qemu-ppc,
Paolo Bonzini, Aurelien Jarno, David Gibson
On Tue, Jul 10, 2018 at 12:26:52AM +0200, Sebastian Bauer wrote:
> Hi,
>
> Am 2018-07-09 23:23, schrieb Eduardo Habkost:
> > List of machines with default_display==NULL on those
> > architectures:
> >
> > alpha:
> > none empty machine
> >
> > mips:
> > mipssim MIPS MIPSsim platform
> > none empty machine
> >
> > ppc*:
> > bamboo bamboo
> > mpc8544ds mpc8544ds
> > none empty machine
> > powernv IBM PowerNV (Non-Virtualized)
> > ppce500 generic paravirt e500 platform
> > ref405ep ref405ep
> > sam460ex aCube Sam460ex
> > taihu taihu
> > virtex-ml507 Xilinx Virtex ML507 reference design
> >
> > x86_64:
> > isapc ISA-only PC
> > none empty machine
> > xenfv Xen Fully-virtualized PC
> > xenpv Xen Para-virtualized PC
>
> Which of these machines really require the Cirrus? The xen ones look like
> that they can deal with std. The isapc is should probably stay at the
> Cirrus.
>
> Also the "none" seems to be a false-positive. I suppose they mean "empty",
> i.e., no graphics card at all?
"none" looked like a false positive when I first looked, but now
I think it's not. Shouldn't it set default_display="none"?
>
> And at least the ppc ones can be canceled out, they should work with std,
> the new default (expect the sam460ex which goes an own route for now).
If machines prefer "std", they should set default_display="std"
explicitly.
>
> What is the indented target release for the patch?
I'm not convinced this patch is appropriate for 3.0. If we have
remaining bugs they should be fixed by setting default_display
explicitly on the affected machines.
>
> If the patch is applied to 3.1 then I think there is enough time to fix
> issues caused by the patch. Additionally, a warning could be put in the
> ChangeLog for 3.0 that in 3.1 that the default mode will be std unless
> machines define an own default. This is should be enough time for people to
> complain or to fix things.
I don't think we will really make user-visible changes: we can
simply work to keep existing behavior, but the difference is that
this will be implemented by setting default_display explicitly on
all machines.
>
> If the patch is to be applied to 3.0 then all non-ppc ones need to be
> reconsidered.
>
> The "important" ppc machines have been fixed already. I can do the remaining
> if this is wanted.
This part worries me: do we have other machines that are broken
right now?
--
Eduardo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-11 15:48 ` Eduardo Habkost
@ 2018-07-11 17:00 ` Sebastian Bauer
2018-07-11 18:43 ` Eduardo Habkost
0 siblings, 1 reply; 15+ messages in thread
From: Sebastian Bauer @ 2018-07-11 17:00 UTC (permalink / raw)
To: Eduardo Habkost
Cc: Gerd Hoffmann, Aleksandar Markovic, Michael S. Tsirkin,
Richard Henderson, qemu-devel, Alexander Graf, qemu-ppc,
Paolo Bonzini, Aurelien Jarno, David Gibson
Am 2018-07-11 17:48, schrieb Eduardo Habkost:
> "none" looked like a false positive when I first looked, but now
> I think it's not. Shouldn't it set default_display="none"?
I think that there is some other logic burried that these machine
doesn't get a graphics display. But overall it is indeed not clearly
defined.
But see below.
>> If the patch is applied to 3.1 then I think there is enough time to
>> fix
>> issues caused by the patch. Additionally, a warning could be put in
>> the
>> ChangeLog for 3.0 that in 3.1 that the default mode will be std unless
>> machines define an own default. This is should be enough time for
>> people to
>> complain or to fix things.
> I don't think we will really make user-visible changes: we can
> simply work to keep existing behavior, but the difference is that
> this will be implemented by setting default_display explicitly on
> all machines.
Even if all machines were using explicit default settings the patch will
affect machines that are not inside the QEMU tree. If the patch is to be
applied as it is these are affected. To warn users (or devs in this
case) about this, an entry in the ChangeLog would be appropriate.
>> If the patch is to be applied to 3.0 then all non-ppc ones need to be
>> reconsidered.
>> The "important" ppc machines have been fixed already. I can do the
>> remaining
>> if this is wanted.
> This part worries me: do we have other machines that are broken
> right now?
I don't know which of them are broken or how this can be elaborated, but
they are potentially affected. For instance, the sam460ex platform
doesn't care about this setting, I can say that it is not broken. Other
platforms like the mac apparently were broken (and fixed in the
meantime). It is hard to tell which of them are really broken without
someone that knows the platform trying it and telling it. 'Make check'
did catch only one single case. It could also be that nobody cares about
other affected machines.
Overall I think the patch is an improvement over the previous state as
preferring the Cirrus doesn't make much sense if most machines don't
prefer it. The more I think over it, the more I think that the concept
needs further fine-tuning though (not necessarily in this patch).
If OTOH it would become a requirement for machines to set a default
display then this fallback logic could removed. Instead, qemu could
simply bailout on machines that define no default display (including
"none") and also bailout when the requested default display is not
available. This would be checkable by 'make check'. I still think that
the most common value can be a default (strictly bailing out when it is
not available unlike it is done now), but this is a matter of taste I
guess.
Bye
Sebastian
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-11 17:00 ` Sebastian Bauer
@ 2018-07-11 18:43 ` Eduardo Habkost
2018-07-12 4:57 ` [Qemu-devel] [Qemu-ppc] " Thomas Huth
0 siblings, 1 reply; 15+ messages in thread
From: Eduardo Habkost @ 2018-07-11 18:43 UTC (permalink / raw)
To: Sebastian Bauer
Cc: Gerd Hoffmann, Aleksandar Markovic, Michael S. Tsirkin,
Richard Henderson, qemu-devel, Alexander Graf, qemu-ppc,
Paolo Bonzini, Aurelien Jarno, David Gibson
On Wed, Jul 11, 2018 at 07:00:54PM +0200, Sebastian Bauer wrote:
> Am 2018-07-11 17:48, schrieb Eduardo Habkost:
> > "none" looked like a false positive when I first looked, but now
> > I think it's not. Shouldn't it set default_display="none"?
>
> I think that there is some other logic burried that these machine doesn't
> get a graphics display. But overall it is indeed not clearly defined.
>
> But see below.
>
> > > If the patch is applied to 3.1 then I think there is enough time to
> > > fix
> > > issues caused by the patch. Additionally, a warning could be put in
> > > the
> > > ChangeLog for 3.0 that in 3.1 that the default mode will be std unless
> > > machines define an own default. This is should be enough time for
> > > people to
> > > complain or to fix things.
> > I don't think we will really make user-visible changes: we can
> > simply work to keep existing behavior, but the difference is that
> > this will be implemented by setting default_display explicitly on
> > all machines.
>
> Even if all machines were using explicit default settings the patch will
> affect machines that are not inside the QEMU tree. If the patch is to be
> applied as it is these are affected. To warn users (or devs in this case)
> about this, an entry in the ChangeLog would be appropriate.
What do you mean by "machines that are not inside the QEMU tree"?
MachineClass registration is not an API for external use.
>
> > > If the patch is to be applied to 3.0 then all non-ppc ones need to be
> > > reconsidered.
> > > The "important" ppc machines have been fixed already. I can do the
> > > remaining
> > > if this is wanted.
> > This part worries me: do we have other machines that are broken
> > right now?
>
> I don't know which of them are broken or how this can be elaborated, but
> they are potentially affected. For instance, the sam460ex platform doesn't
> care about this setting, I can say that it is not broken. Other platforms
> like the mac apparently were broken (and fixed in the meantime). It is hard
> to tell which of them are really broken without someone that knows the
> platform trying it and telling it. 'Make check' did catch only one single
> case. It could also be that nobody cares about other affected machines.
>
> Overall I think the patch is an improvement over the previous state as
> preferring the Cirrus doesn't make much sense if most machines don't prefer
> it. The more I think over it, the more I think that the concept needs
> further fine-tuning though (not necessarily in this patch).
I'm not sure yet if most machines with default_display==NULL
don't want Cirrus. I'm also unsure if any of the machines from
that list will break if we start using VGA by default.
>
> If OTOH it would become a requirement for machines to set a default display
> then this fallback logic could removed. Instead, qemu could simply bailout
> on machines that define no default display (including "none") and also
> bailout when the requested default display is not available. This would be
> checkable by 'make check'. [...]
This is the solution I would like to see implemented.
> [...] I still think that the most common value can be a
> default (strictly bailing out when it is not available unlike it is done
> now), but this is a matter of taste I guess.
This is doable too, if we have a clear consensus on what would be
a reasonable default on TYPE_MACHINE. Personally I prefer the
default on TYPE_MACHINE to be "none".
--
Eduardo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-11 18:43 ` Eduardo Habkost
@ 2018-07-12 4:57 ` Thomas Huth
2018-07-12 7:37 ` Sebastian Bauer
2018-07-12 17:27 ` Eduardo Habkost
0 siblings, 2 replies; 15+ messages in thread
From: Thomas Huth @ 2018-07-12 4:57 UTC (permalink / raw)
To: Eduardo Habkost, Sebastian Bauer
Cc: Aleksandar Markovic, Michael S. Tsirkin, qemu-devel, qemu-ppc,
Gerd Hoffmann, Paolo Bonzini, David Gibson, Richard Henderson
On 11.07.2018 20:43, Eduardo Habkost wrote:
> On Wed, Jul 11, 2018 at 07:00:54PM +0200, Sebastian Bauer wrote:
>> Am 2018-07-11 17:48, schrieb Eduardo Habkost:
>>> "none" looked like a false positive when I first looked, but now
>>> I think it's not. Shouldn't it set default_display="none"?
>>
>> I think that there is some other logic burried that these machine doesn't
>> get a graphics display. But overall it is indeed not clearly defined.
>>
>> But see below.
>>
>>>> If the patch is applied to 3.1 then I think there is enough time to
>>>> fix
>>>> issues caused by the patch. Additionally, a warning could be put in
>>>> the
>>>> ChangeLog for 3.0 that in 3.1 that the default mode will be std unless
>>>> machines define an own default. This is should be enough time for
>>>> people to
>>>> complain or to fix things.
>>> I don't think we will really make user-visible changes: we can
>>> simply work to keep existing behavior, but the difference is that
>>> this will be implemented by setting default_display explicitly on
>>> all machines.
>>
>> Even if all machines were using explicit default settings the patch will
>> affect machines that are not inside the QEMU tree. If the patch is to be
>> applied as it is these are affected. To warn users (or devs in this case)
>> about this, an entry in the ChangeLog would be appropriate.
>
> What do you mean by "machines that are not inside the QEMU tree"?
> MachineClass registration is not an API for external use.
>
>>
>>>> If the patch is to be applied to 3.0 then all non-ppc ones need to be
>>>> reconsidered.
>>>> The "important" ppc machines have been fixed already. I can do the
>>>> remaining
>>>> if this is wanted.
>>> This part worries me: do we have other machines that are broken
>>> right now?
>>
>> I don't know which of them are broken or how this can be elaborated, but
>> they are potentially affected. For instance, the sam460ex platform doesn't
>> care about this setting, I can say that it is not broken. Other platforms
>> like the mac apparently were broken (and fixed in the meantime). It is hard
>> to tell which of them are really broken without someone that knows the
>> platform trying it and telling it. 'Make check' did catch only one single
>> case. It could also be that nobody cares about other affected machines.
>>
>> Overall I think the patch is an improvement over the previous state as
>> preferring the Cirrus doesn't make much sense if most machines don't prefer
>> it. The more I think over it, the more I think that the concept needs
>> further fine-tuning though (not necessarily in this patch).
>
> I'm not sure yet if most machines with default_display==NULL
> don't want Cirrus. I'm also unsure if any of the machines from
> that list will break if we start using VGA by default.
I think most machines with default_display == NULL simply do not want
any graphic cards at all. So we likely document that default_display ==
NULL means no graphic card, and fix the machines that have other
assumptions if necessary.
>> [...] I still think that the most common value can be a
>> default (strictly bailing out when it is not available unlike it is done
>> now), but this is a matter of taste I guess.
>
> This is doable too, if we have a clear consensus on what would be
> a reasonable default on TYPE_MACHINE. Personally I prefer the
> default on TYPE_MACHINE to be "none".
Yes, please, no magic default hardware for all machines. That will only
cause confusion and problems in the future. People who add new boards
will keep forgetting to set a value in their new boards and then you
later wonder whether that was on purpose or by accident ==> If there is
no default display set, this should simply mean "no display".
Thomas
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-12 4:57 ` [Qemu-devel] [Qemu-ppc] " Thomas Huth
@ 2018-07-12 7:37 ` Sebastian Bauer
2018-07-12 17:27 ` Eduardo Habkost
1 sibling, 0 replies; 15+ messages in thread
From: Sebastian Bauer @ 2018-07-12 7:37 UTC (permalink / raw)
To: Thomas Huth
Cc: Eduardo Habkost, Aleksandar Markovic, Michael S. Tsirkin,
qemu-devel, qemu-ppc, Gerd Hoffmann, Paolo Bonzini, David Gibson,
Richard Henderson
Hi,
Am 2018-07-12 06:57, schrieb Thomas Huth:
>> This is doable too, if we have a clear consensus on what would be
>> a reasonable default on TYPE_MACHINE. Personally I prefer the
>> default on TYPE_MACHINE to be "none".
> Yes, please, no magic default hardware for all machines. That will only
> cause confusion and problems in the future. People who add new boards
> will keep forgetting to set a value in their new boards and then you
> later wonder whether that was on purpose or by accident ==> If there is
> no default display set, this should simply mean "no display".
Sounds reasonable. Let me know if I should do it or if Gerd like to
continue as he did the initial patch.
Bye
Sebastian
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 2/2] vga: don't pick cirrus by default
2018-07-12 4:57 ` [Qemu-devel] [Qemu-ppc] " Thomas Huth
2018-07-12 7:37 ` Sebastian Bauer
@ 2018-07-12 17:27 ` Eduardo Habkost
1 sibling, 0 replies; 15+ messages in thread
From: Eduardo Habkost @ 2018-07-12 17:27 UTC (permalink / raw)
To: Thomas Huth
Cc: Sebastian Bauer, Aleksandar Markovic, Michael S. Tsirkin,
qemu-devel, qemu-ppc, Gerd Hoffmann, Paolo Bonzini, David Gibson,
Richard Henderson
On Thu, Jul 12, 2018 at 06:57:46AM +0200, Thomas Huth wrote:
> On 11.07.2018 20:43, Eduardo Habkost wrote:
> > On Wed, Jul 11, 2018 at 07:00:54PM +0200, Sebastian Bauer wrote:
> >> Am 2018-07-11 17:48, schrieb Eduardo Habkost:
> >>> "none" looked like a false positive when I first looked, but now
> >>> I think it's not. Shouldn't it set default_display="none"?
> >>
> >> I think that there is some other logic burried that these machine doesn't
> >> get a graphics display. But overall it is indeed not clearly defined.
> >>
> >> But see below.
> >>
> >>>> If the patch is applied to 3.1 then I think there is enough time to
> >>>> fix
> >>>> issues caused by the patch. Additionally, a warning could be put in
> >>>> the
> >>>> ChangeLog for 3.0 that in 3.1 that the default mode will be std unless
> >>>> machines define an own default. This is should be enough time for
> >>>> people to
> >>>> complain or to fix things.
> >>> I don't think we will really make user-visible changes: we can
> >>> simply work to keep existing behavior, but the difference is that
> >>> this will be implemented by setting default_display explicitly on
> >>> all machines.
> >>
> >> Even if all machines were using explicit default settings the patch will
> >> affect machines that are not inside the QEMU tree. If the patch is to be
> >> applied as it is these are affected. To warn users (or devs in this case)
> >> about this, an entry in the ChangeLog would be appropriate.
> >
> > What do you mean by "machines that are not inside the QEMU tree"?
> > MachineClass registration is not an API for external use.
> >
> >>
> >>>> If the patch is to be applied to 3.0 then all non-ppc ones need to be
> >>>> reconsidered.
> >>>> The "important" ppc machines have been fixed already. I can do the
> >>>> remaining
> >>>> if this is wanted.
> >>> This part worries me: do we have other machines that are broken
> >>> right now?
> >>
> >> I don't know which of them are broken or how this can be elaborated, but
> >> they are potentially affected. For instance, the sam460ex platform doesn't
> >> care about this setting, I can say that it is not broken. Other platforms
> >> like the mac apparently were broken (and fixed in the meantime). It is hard
> >> to tell which of them are really broken without someone that knows the
> >> platform trying it and telling it. 'Make check' did catch only one single
> >> case. It could also be that nobody cares about other affected machines.
> >>
> >> Overall I think the patch is an improvement over the previous state as
> >> preferring the Cirrus doesn't make much sense if most machines don't prefer
> >> it. The more I think over it, the more I think that the concept needs
> >> further fine-tuning though (not necessarily in this patch).
> >
> > I'm not sure yet if most machines with default_display==NULL
> > don't want Cirrus. I'm also unsure if any of the machines from
> > that list will break if we start using VGA by default.
>
> I think most machines with default_display == NULL simply do not want
> any graphic cards at all. So we likely document that default_display ==
> NULL means no graphic card, and fix the machines that have other
> assumptions if necessary.
We already have a value meaning "no graphics card": "none".
But like with the "cirrus" and "vga" options, I also don't know
if any of the existing machines with default_display==NULL will
break if we start using "none" by default.
>
> >> [...] I still think that the most common value can be a
> >> default (strictly bailing out when it is not available unlike it is done
> >> now), but this is a matter of taste I guess.
> >
> > This is doable too, if we have a clear consensus on what would be
> > a reasonable default on TYPE_MACHINE. Personally I prefer the
> > default on TYPE_MACHINE to be "none".
>
> Yes, please, no magic default hardware for all machines. That will only
> cause confusion and problems in the future. People who add new boards
> will keep forgetting to set a value in their new boards and then you
> later wonder whether that was on purpose or by accident ==> If there is
> no default display set, this should simply mean "no display".
Agreed.
--
Eduardo
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2018-07-12 17:28 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-05 6:43 [Qemu-devel] [PATCH v2 0/2] vga: make stdvga the global default Gerd Hoffmann
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 1/2] vga: set default_display for all machines using cirrus Gerd Hoffmann
2018-07-05 16:35 ` Eduardo Habkost
2018-07-05 6:43 ` [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default Gerd Hoffmann
2018-07-05 16:35 ` Eduardo Habkost
2018-07-06 6:53 ` Gerd Hoffmann
2018-07-09 21:08 ` Eduardo Habkost
2018-07-09 21:23 ` Eduardo Habkost
2018-07-09 22:26 ` Sebastian Bauer
2018-07-11 15:48 ` Eduardo Habkost
2018-07-11 17:00 ` Sebastian Bauer
2018-07-11 18:43 ` Eduardo Habkost
2018-07-12 4:57 ` [Qemu-devel] [Qemu-ppc] " Thomas Huth
2018-07-12 7:37 ` Sebastian Bauer
2018-07-12 17:27 ` Eduardo Habkost
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.