On Thu, Mar 03, 2011 at 12:03:53PM +0900, Isaku Yamahata wrote: > 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.
or disableintx. > 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 <yamah...@valinux.co.jp> > >> 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 > -- yamahata