qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: EFI console stopped working in Qemu 0.14.0


From: Isaku Yamahata
Subject: Re: [Qemu-devel] Re: EFI console stopped working in Qemu 0.14.0
Date: Thu, 3 Mar 2011 12:03:53 +0900
User-agent: Mutt/1.5.19 (2009-01-05)

Hi. Thank you for reporting.
Can you elaborate on the changeset that you pointed out and
your work around?

Regarding to the changeset, it had the issue, but I suppose
80376c3fc2c38fdd45354e4b0eb45031f35587ed fixed it.
Do you found any other issue?

Regarding to your workaround, what was the problem?
What EFI BIOS are you using? Tiano-core derivatives that
Tristan Gingold worked on? Or other one?
It seems your EFI BIOS doesn't enable memor, io or master bits
in command register.
If so, the issue is in the bios, not qemu.

thanks,

On Wed, Mar 02, 2011 at 11:27:31PM +0200, vagran wrote:
> vagran wrote:
>> Hi,
>> I have noted that Qemu VGA and serial console with EFI BIOS stopped  
>> working in
>> 0.14.0 (and in latest development snapshot is still not working).  
>> Everything was
>> fine in 0.13.0. However EFI BIOS itself is able to load kernel if it was
>> properly configured on used disk image. The only effect is that  
>> neither VGA nor
>> serial console is not functioning. After short investigation I have  
>> discovered
>> that this functionality was broken by this commit:
>>
>> commit 9bb3358627d87d8de25fb41b7276575539d799a7
>> Author: Isaku Yamahata <address@hidden>
>> Date:   Fri Nov 19 18:56:02 2010 +0900
>>
>> Do you have any idea how this change could affect EFI consoles?
>>
> After further investigation I have found that the following patch provides
> a workaround for the problem, may be it could be useful for somebody who
> is more familiar with Qemu PCI code:
>
> diff --git a/hw/pci.c b/hw/pci.c
> index 8b76cea..06dd7ab 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -162,9 +162,11 @@ void pci_device_reset(PCIDevice *dev)
>     pci_update_irq_status(dev);
>     pci_device_deassert_intx(dev);
>     /* Clear all writeable bits */
> +#if 0
>     pci_word_test_and_clear_mask(dev->config + PCI_COMMAND,
>                                  pci_get_word(dev->wmask + PCI_COMMAND) |
>                                  pci_get_word(dev->w1cmask + PCI_COMMAND));
> +#endif
>     pci_word_test_and_clear_mask(dev->config + PCI_STATUS,
>                                  pci_get_word(dev->wmask + PCI_STATUS) |
>                                  pci_get_word(dev->w1cmask + PCI_STATUS));
>
> Best regards,
> Artyom.
>
>

-- 
yamahata



reply via email to

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