diff mbox series

vl: initialize displays _after_ exiting preconfiguration

Message ID 20201217091403.36195-1-pbonzini@redhat.com
State New
Headers show
Series vl: initialize displays _after_ exiting preconfiguration | expand

Commit Message

Paolo Bonzini Dec. 17, 2020, 9:14 a.m. UTC
Due to the renumbering of text consoles when graphical consoles are
created, init_displaystate must be called after all QemuConsoles are
created, i.e. after devices are created.

vl.c calls it from qemu_init_displays, while qmp_x_exit_preconfig is
where devices are created.  If qemu_init_displays is called before it,
the VGA graphical console does not come up.

Reported-by: Howard Spoelstra <hsp.cat7@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 softmmu/vl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

BALATON Zoltan Jan. 6, 2021, 5:06 p.m. UTC | #1
On Thu, 17 Dec 2020, Paolo Bonzini wrote:
> Due to the renumbering of text consoles when graphical consoles are
> created, init_displaystate must be called after all QemuConsoles are
> created, i.e. after devices are created.
>
> vl.c calls it from qemu_init_displays, while qmp_x_exit_preconfig is
> where devices are created.  If qemu_init_displays is called before it,
> the VGA graphical console does not come up.

Tested-by: BALATON Zoltan <balaton@eik.bme.hu>

This still seems to be missing from master, who should take care of this?

Regards,
BALATON Zoltan

> Reported-by: Howard Spoelstra <hsp.cat7@gmail.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> softmmu/vl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 0ed5c5ba93..7ddf405d76 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -3529,10 +3529,10 @@ void qemu_init(int argc, char **argv, char **envp)
>         exit(0);
>     }
>
> -    qemu_init_displays();
>     if (!preconfig_requested) {
>         qmp_x_exit_preconfig(&error_fatal);
>     }
> +    qemu_init_displays();
>     accel_setup_post(current_machine);
>     os_setup_post();
>     resume_mux_open();
>
Paolo Bonzini Jan. 6, 2021, 7:58 p.m. UTC | #2
Il mer 6 gen 2021, 18:06 BALATON Zoltan <balaton@eik.bme.hu> ha scritto:

> On Thu, 17 Dec 2020, Paolo Bonzini wrote:
> > Due to the renumbering of text consoles when graphical consoles are
> > created, init_displaystate must be called after all QemuConsoles are
> > created, i.e. after devices are created.
> >
> > vl.c calls it from qemu_init_displays, while qmp_x_exit_preconfig is
> > where devices are created.  If qemu_init_displays is called before it,
> > the VGA graphical console does not come up.
>
> Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
>
> This still seems to be missing from master, who should take care of this?
>

It's in now, I think.

Paolo


> Regards,
> BALATON Zoltan
>
> > Reported-by: Howard Spoelstra <hsp.cat7@gmail.com>
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > ---
> > softmmu/vl.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/softmmu/vl.c b/softmmu/vl.c
> > index 0ed5c5ba93..7ddf405d76 100644
> > --- a/softmmu/vl.c
> > +++ b/softmmu/vl.c
> > @@ -3529,10 +3529,10 @@ void qemu_init(int argc, char **argv, char
> **envp)
> >         exit(0);
> >     }
> >
> > -    qemu_init_displays();
> >     if (!preconfig_requested) {
> >         qmp_x_exit_preconfig(&error_fatal);
> >     }
> > +    qemu_init_displays();
> >     accel_setup_post(current_machine);
> >     os_setup_post();
> >     resume_mux_open();
> >
>
>
BALATON Zoltan Jan. 6, 2021, 9:24 p.m. UTC | #3
On Wed, 6 Jan 2021, Paolo Bonzini wrote:
> Il mer 6 gen 2021, 18:06 BALATON Zoltan <balaton@eik.bme.hu> ha scritto:
>
>> On Thu, 17 Dec 2020, Paolo Bonzini wrote:
>>> Due to the renumbering of text consoles when graphical consoles are
>>> created, init_displaystate must be called after all QemuConsoles are
>>> created, i.e. after devices are created.
>>>
>>> vl.c calls it from qemu_init_displays, while qmp_x_exit_preconfig is
>>> where devices are created.  If qemu_init_displays is called before it,
>>> the VGA graphical console does not come up.
>>
>> Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
>>
>> This still seems to be missing from master, who should take care of this?
>>
>
> It's in now, I think.

Yes, got merges with the misc fixes series.

Thanks,
BALATON Zoltan

> Paolo
>
>
>> Regards,
>> BALATON Zoltan
>>
>>> Reported-by: Howard Spoelstra <hsp.cat7@gmail.com>
>>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>>> ---
>>> softmmu/vl.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/softmmu/vl.c b/softmmu/vl.c
>>> index 0ed5c5ba93..7ddf405d76 100644
>>> --- a/softmmu/vl.c
>>> +++ b/softmmu/vl.c
>>> @@ -3529,10 +3529,10 @@ void qemu_init(int argc, char **argv, char
>> **envp)
>>>         exit(0);
>>>     }
>>>
>>> -    qemu_init_displays();
>>>     if (!preconfig_requested) {
>>>         qmp_x_exit_preconfig(&error_fatal);
>>>     }
>>> +    qemu_init_displays();
>>>     accel_setup_post(current_machine);
>>>     os_setup_post();
>>>     resume_mux_open();
>>>
>>
>>
>
diff mbox series

Patch

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 0ed5c5ba93..7ddf405d76 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -3529,10 +3529,10 @@  void qemu_init(int argc, char **argv, char **envp)
         exit(0);
     }
 
-    qemu_init_displays();
     if (!preconfig_requested) {
         qmp_x_exit_preconfig(&error_fatal);
     }
+    qemu_init_displays();
     accel_setup_post(current_machine);
     os_setup_post();
     resume_mux_open();