From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:41280) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QwCiv-0004V1-Bk for qemu-devel@nongnu.org; Wed, 24 Aug 2011 08:38:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QwCiu-0001mT-77 for qemu-devel@nongnu.org; Wed, 24 Aug 2011 08:38:25 -0400 Received: from e34.co.us.ibm.com ([32.97.110.152]:35282) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QwCiu-0001mG-0L for qemu-devel@nongnu.org; Wed, 24 Aug 2011 08:38:24 -0400 Received: from d03relay01.boulder.ibm.com (d03relay01.boulder.ibm.com [9.17.195.226]) by e34.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p7OCcLGr018501 for ; Wed, 24 Aug 2011 06:38:21 -0600 Received: from d03av03.boulder.ibm.com (d03av03.boulder.ibm.com [9.17.195.169]) by d03relay01.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p7OCcJJH153104 for ; Wed, 24 Aug 2011 06:38:19 -0600 Received: from d03av03.boulder.ibm.com (loopback [127.0.0.1]) by d03av03.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p7O6cIO4007475 for ; Wed, 24 Aug 2011 00:38:18 -0600 Message-ID: <4E54F0BA.60106@us.ibm.com> Date: Wed, 24 Aug 2011 07:38:18 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1312831898-18702-1-git-send-email-aliguori@us.ibm.com> <4E54C8C3.4050609@redhat.com> In-Reply-To: <4E54C8C3.4050609@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/2] pc: make vgabios exit port more useful List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Lucas Meneghel Rodrigues , qemu-devel@nongnu.org On 08/24/2011 04:47 AM, Avi Kivity wrote: > On 08/08/2011 10:31 PM, Anthony Liguori wrote: >> We've always listened on port 501 for vgabios panic messages. In the >> entire >> time I've worked on QEMU, I've never actually seen a vgabios panic >> message :-) >> >> If we change the semantics of this port a little bit, it makes it >> possible to >> use it for more interesting use-cases. I chose this approach instead >> of adding >> a new I/O port because it avoids having a guest visible change. >> >> This change allows single-byte access to port 501 and also uses the value >> written to construct an exit code. > > A little late to review but... > >> >> diff --git a/hw/pc.c b/hw/pc.c >> index 1c9d89a..4b07b35 100644 >> --- a/hw/pc.c >> +++ b/hw/pc.c >> @@ -549,8 +549,7 @@ static void bochs_bios_write(void *opaque, >> uint32_t addr, uint32_t val) >> /* LGPL'ed VGA BIOS messages */ >> case 0x501: >> case 0x502: >> - fprintf(stderr, "VGA BIOS panic, line %d\n", val); >> - exit(1); >> + exit((val<< 1) | 1); > > This code (before the patch) circumvents -no-shutdown. Indeed. I believe that's a feature though? > > Shifting val left is surprising. What's wrong with even exit codes? Hrm, the '| 1' is wrong. My intention was to make the bottom bit of the exit code mean "if set to 0, this is an exit coming from a guest'. I'll spin a patch. Regards, Anthony Liguori >