From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=34402 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Puta6-0005tP-Bm for qemu-devel@nongnu.org; Wed, 02 Mar 2011 16:27:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Puta4-0001wS-OZ for qemu-devel@nongnu.org; Wed, 02 Mar 2011 16:27:38 -0500 Received: from mail-ww0-f53.google.com ([74.125.82.53]:59550) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Puta4-0001wK-HL for qemu-devel@nongnu.org; Wed, 02 Mar 2011 16:27:36 -0500 Received: by wwb29 with SMTP id 29so657551wwb.10 for ; Wed, 02 Mar 2011 13:27:35 -0800 (PST) Message-ID: <4D6EB643.4030805@gmail.com> Date: Wed, 02 Mar 2011 23:27:31 +0200 From: vagran MIME-Version: 1.0 References: <4D6EA921.60907@gmail.com> In-Reply-To: <4D6EA921.60907@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: EFI console stopped working in Qemu 0.14.0 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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 > 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.