From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:40858) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R5InQ-0001ND-Mc for qemu-devel@nongnu.org; Sun, 18 Sep 2011 10:56:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R5InP-0007Pv-Lg for qemu-devel@nongnu.org; Sun, 18 Sep 2011 10:56:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41449) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R5InP-0007Pm-99 for qemu-devel@nongnu.org; Sun, 18 Sep 2011 10:56:39 -0400 Message-ID: <4E76069B.2050907@redhat.com> Date: Sun, 18 Sep 2011 17:56:27 +0300 From: Avi Kivity MIME-Version: 1.0 References: <1314144835-29098-1-git-send-email-rth@twiddle.net> <1314144835-29098-13-git-send-email-rth@twiddle.net> <4E75F611.5070806@redhat.com> <4E75FD3C.4030304@twiddle.net> <4E75FFEF.7060603@redhat.com> In-Reply-To: <4E75FFEF.7060603@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 12/16] vga: Convert to isa_register_portio_list. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org, Alexander Graf On 09/18/2011 05:27 PM, Avi Kivity wrote: > On 09/18/2011 05:16 PM, Richard Henderson wrote: >> On 09/18/2011 06:45 AM, Avi Kivity wrote: >> >> + /* The PCI-ISA bridge should have been configured properly >> such that >> >> + this works for PCI devices as well. This only supports >> one bridge, >> >> + but "secondary" VGA cards are generally accessed by MMIO >> only anyway. */ >> >> + isa_register_portio_list(NULL, 0x3b0, vga_portio_list, s, >> "vga"); >> >> >> >> memory_region_init_io(vga_mem,&vga_mem_ops, s, >> > >> > This is called even for pci machines which have no ISA bus (and even >> > if they did, the code should work wit the pci bus, not ISA). The code >> > should return the portio list of the caller to register, or perhaps >> > accept a callback to do the registration. >> >> You're over-thinking this. It's all legacy ISA crap full stop. >> If the machine doesn't have a PCI-ISA bridge, then the machine will >> also be prepared to access the VGA registers via its BARs. >> >> In such a case we just should skip this entire section. Probably >> isa_register_portio_list should simply notice no ISA bus has been >> registered and do nothing. > > Depends, if it doesn't need those ports, then vga_init_io() can be > passed a parameter not to register them, or perhaps it can be split > into two. > It's also wrong for cirrus. Even though it is a legacy address, it's not an ISA address, it's on the PCI bus (though not mapped by a BAR). -- error compiling committee.c: too many arguments to function