Patchwork PPC: VGA broken in git master

login
register
mail settings
Submitter Mark Cave-Ayland
Date March 5, 2012, 10:29 a.m.
Message ID <4F54958F.4050506@ilande.co.uk>
Download mbox | patch
Permalink /patch/144646/
State New
Headers show

Comments

Mark Cave-Ayland - March 5, 2012, 10:29 a.m.
On 05/03/12 09:51, Avi Kivity wrote:

> On 03/04/2012 08:06 PM, Mark Cave-Ayland wrote:
>> Hi all,
>>
>> I've just done a git pull to update my local repository, and it now
>> appears that the VGA device is broken in QEMU - rather than displaying
>> the OpenBIOS banner in my VNC client, the framebuffer remains
>> constantly black.
>>
>> A git bisect shows that the problem is caused by the following commit:
>>
>>
>> de58ac72b6a062d1a61478284c0c0f8a0428613e is the first bad commit
>> commit de58ac72b6a062d1a61478284c0c0f8a0428613e
>> Author: Avi Kivity<avi@redhat.com>
>> Date:   Sun Jan 8 19:46:17 2012 +0200
>>
>>      ioport: change portio_list not to use memory_region_set_offset()
>>
>>      memory_region_set_offset() will be going away soon, so don't use it.
>>      Use an alias instead.
>>
>>      Signed-off-by: Avi Kivity<avi@redhat.com>
>>      Reviewed-by: Richard Henderson<rth@twiddle.net>
>>
>>
>> Avi/Richard - please would it be possible for you to review this
>> commit and come up with a suitable fix?
>>
>
> Can you provide the command line needed to reproduce the problem?

Sure. I can reproduce it here using something as simple as:

./qemu-system-ppc -cdrom /dev/null -boot d -vnc :1

What you'll see is that the framebuffer remains black in your VNC 
client, as opposed to displaying the OpenBIOS startup banner.

Note that de58ac72b6a062d1a61478284c0c0f8a0428613e (and the previous 
commit) have a qdev bug which segfaults qemu-system-ppc on startup, 
however the attached patch will resolve this for you.

I've also confirmed over the weekend that the bug also affects SPARC64, 
although testing shows that SPARC32 still seems to work okay.


HTH,

Mark.
Avi Kivity - March 5, 2012, 3:48 p.m.
On 03/05/2012 12:29 PM, Mark Cave-Ayland wrote:
> On 05/03/12 09:51, Avi Kivity wrote:
>
>> On 03/04/2012 08:06 PM, Mark Cave-Ayland wrote:
>>> Hi all,
>>>
>>> I've just done a git pull to update my local repository, and it now
>>> appears that the VGA device is broken in QEMU - rather than displaying
>>> the OpenBIOS banner in my VNC client, the framebuffer remains
>>> constantly black.
>>>
>>> A git bisect shows that the problem is caused by the following commit:
>>>
>>>
>>> de58ac72b6a062d1a61478284c0c0f8a0428613e is the first bad commit
>>> commit de58ac72b6a062d1a61478284c0c0f8a0428613e
>>> Author: Avi Kivity<avi@redhat.com>
>>> Date:   Sun Jan 8 19:46:17 2012 +0200
>>>
>>>      ioport: change portio_list not to use memory_region_set_offset()
>>>
>>>      memory_region_set_offset() will be going away soon, so don't
>>> use it.
>>>      Use an alias instead.
>>>
>>>      Signed-off-by: Avi Kivity<avi@redhat.com>
>>>      Reviewed-by: Richard Henderson<rth@twiddle.net>
>>>
>>>
>>> Avi/Richard - please would it be possible for you to review this
>>> commit and come up with a suitable fix?
>>>
>>
>> Can you provide the command line needed to reproduce the problem?
>
> Sure. I can reproduce it here using something as simple as:
>
> ./qemu-system-ppc -cdrom /dev/null -boot d -vnc :1
>
> What you'll see is that the framebuffer remains black in your VNC
> client, as opposed to displaying the OpenBIOS startup banner.
>
> Note that de58ac72b6a062d1a61478284c0c0f8a0428613e (and the previous
> commit) have a qdev bug which segfaults qemu-system-ppc on startup,
> however the attached patch will resolve this for you.
>
> I've also confirmed over the weekend that the bug also affects
> SPARC64, although testing shows that SPARC32 still seems to work okay.


Turned out that -vga std was broken cross-target.  Please check

  git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/urgent

for a fix.
Mark Cave-Ayland - March 5, 2012, 4:16 p.m.
On 05/03/12 15:48, Avi Kivity wrote:

>>> Can you provide the command line needed to reproduce the problem?
>>
>> Sure. I can reproduce it here using something as simple as:
>>
>> ./qemu-system-ppc -cdrom /dev/null -boot d -vnc :1
>>
>> What you'll see is that the framebuffer remains black in your VNC
>> client, as opposed to displaying the OpenBIOS startup banner.
>>
>> Note that de58ac72b6a062d1a61478284c0c0f8a0428613e (and the previous
>> commit) have a qdev bug which segfaults qemu-system-ppc on startup,
>> however the attached patch will resolve this for you.
>>
>> I've also confirmed over the weekend that the bug also affects
>> SPARC64, although testing shows that SPARC32 still seems to work okay.
>
>
> Turned out that -vga std was broken cross-target.  Please check
>
>    git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/urgent
>
> for a fix.

Hi Avi,

I've just tested your patchset against git master and it looks good here 
- VGA for both PPC and SPARC64 now works again.


Many thanks,

Mark.
Alon Levy - March 5, 2012, 6:50 p.m.
On Mon, Mar 05, 2012 at 04:16:54PM +0000, Mark Cave-Ayland wrote:
> On 05/03/12 15:48, Avi Kivity wrote:
> 
> >>>Can you provide the command line needed to reproduce the problem?
> >>
> >>Sure. I can reproduce it here using something as simple as:
> >>
> >>./qemu-system-ppc -cdrom /dev/null -boot d -vnc :1
> >>
> >>What you'll see is that the framebuffer remains black in your VNC
> >>client, as opposed to displaying the OpenBIOS startup banner.
> >>
> >>Note that de58ac72b6a062d1a61478284c0c0f8a0428613e (and the previous
> >>commit) have a qdev bug which segfaults qemu-system-ppc on startup,
> >>however the attached patch will resolve this for you.
> >>
> >>I've also confirmed over the weekend that the bug also affects
> >>SPARC64, although testing shows that SPARC32 still seems to work okay.
> >
> >
> >Turned out that -vga std was broken cross-target.  Please check
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/urgent
> >
> >for a fix.
> 
> Hi Avi,
> 
> I've just tested your patchset against git master and it looks good
> here - VGA for both PPC and SPARC64 now works again.
> 

And x86_64-softmmu (just two last patches from memory/urgent).

> 
> Many thanks,
> 
> Mark.
>

Patch

diff --git a/hw/escc.c b/hw/escc.c
index 9fe282f..0ed9e8a 100644
--- a/hw/escc.c
+++ b/hw/escc.c
@@ -695,8 +695,8 @@  MemoryRegion *escc_init(target_phys_addr_t base, qemu_irq irqA, qemu_irq irqB,
     qdev_prop_set_uint32(dev, "disabled", 0);
     qdev_prop_set_uint32(dev, "frequency", clock);
     qdev_prop_set_uint32(dev, "it_shift", it_shift);
-    qdev_prop_set_chr(dev, "chrB", chrB);
-    qdev_prop_set_chr(dev, "chrA", chrA);
+    //qdev_prop_set_chr(dev, "chrB", chrB);
+    //qdev_prop_set_chr(dev, "chrA", chrA);
     qdev_prop_set_uint32(dev, "chnBtype", ser);
     qdev_prop_set_uint32(dev, "chnAtype", ser);
     qdev_init_nofail(dev);