From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60184) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBOx6-0002Zp-OA for qemu-devel@nongnu.org; Tue, 11 Sep 2012 07:48:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TBOwy-0007Vl-T4 for qemu-devel@nongnu.org; Tue, 11 Sep 2012 07:48:24 -0400 Received: from david.siemens.de ([192.35.17.14]:18095) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBOwy-0007VQ-JY for qemu-devel@nongnu.org; Tue, 11 Sep 2012 07:48:16 -0400 Message-ID: <504F24F8.5080600@siemens.com> Date: Tue, 11 Sep 2012 13:48:08 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <504F0131.6090501@redhat.com> <504F037D.7020207@redhat.com> <504F2009.9040900@citrix.com> In-Reply-To: <504F2009.9040900@citrix.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH V9 0/8] memory: unify ioport registration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Julien Grall Cc: Stefano Stabellini , "kraxel@redhat.com" , Avi Kivity , "afaerber@suse.de" , "qemu-devel@nongnu.org" On 2012-09-11 13:27, Julien Grall wrote: > On 09/11/2012 10:25 AM, Avi Kivity wrote: >> On 09/11/2012 12:15 PM, Avi Kivity wrote: >> >>> On 09/04/2012 06:13 PM, Julien Grall wrote: >>> >>>> This is the nineth version of patch series about ioport registration. >>>> >>>> Some part of QEMU still use register_ioport* functions to register ioport. >>>> These functions doesn't allow to use Memory Listener on it. >>>> >>> Thanks, applied all (w/ updated patch 4), will push shortly. >>> >>> >>> >> Aborts with the command line >> >> qemu-system-x86_64 -device isa-debugcon,iobase=0x402,chardev=stdio -chardev stdio,id=stdio >> >> >> > > I have bisected and found the problem with bochs_bios_init in hw/pc.c. > Bosch already register the iport 0x402. I'm not sure that it's a bug. > In fact register_ioport_read/write check if the current ioport is used > with the opaque variable. > Before my patch, bochs_bios_init registered it's ioport with opaque > NULL, so if someone (like debugcon) wants to use the ioport there is > no problem. But now, I used portio_list_init to register bochs ioport, > so the opaque is not NULL. > I don't really know how to resolve this problem. Perhaps we could > just improve the debug message. My suggestion: pc: Don't listen on debug ports by default Only listen on debug ports when we also handle them. They are better handled by debugcon these days which is runtime configurable. Signed-off-by: Jan Kiszka diff --git a/hw/pc.c b/hw/pc.c index 112739a..70abf0e 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -539,9 +539,9 @@ static void bochs_bios_write(void *opaque, uint32_t addr, uint32_t val) case 0x401: /* used to be panic, now unused */ break; +#ifdef DEBUG_BIOS case 0x402: case 0x403: -#ifdef DEBUG_BIOS fprintf(stderr, "%c", val); #endif break; -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux