From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NKV2z-0005qN-0O for qemu-devel@nongnu.org; Tue, 15 Dec 2009 05:54:29 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NKV2t-0005mc-3L for qemu-devel@nongnu.org; Tue, 15 Dec 2009 05:54:27 -0500 Received: from [199.232.76.173] (port=35227 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NKV2s-0005mH-Qm for qemu-devel@nongnu.org; Tue, 15 Dec 2009 05:54:22 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59152) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NKV2s-0001X8-9b for qemu-devel@nongnu.org; Tue, 15 Dec 2009 05:54:22 -0500 Date: Tue, 15 Dec 2009 12:51:30 +0200 From: "Michael S. Tsirkin" Subject: Re: Proper support for PCI-based option rom loading (was Re: [Qemu-devel] Re: qdev property bug?) Message-ID: <20091215105130.GA11525@redhat.com> References: <4B26931E.4000101@codemonkey.ws> <20091214194210.GB6150@redhat.com> <4B269933.3010906@codemonkey.ws> <20091214202019.GF6150@redhat.com> <4B26A0DE.5000304@redhat.com> <20091214203428.GI6150@redhat.com> <20091214203603.GJ6150@redhat.com> <4B26A3B2.2030006@codemonkey.ws> <20091214205141.GC6398@redhat.com> <4B26F678.4010603@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B26F678.4010603@codemonkey.ws> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: glommer@redhat.com, qemu-devel@nongnu.org, Alexander Graf , Kevin O'Connor , Gerd Hoffmann , Sebastian Herbszt On Mon, Dec 14, 2009 at 08:37:44PM -0600, Anthony Liguori wrote: > Michael S. Tsirkin wrote: >> On Mon, Dec 14, 2009 at 02:44:34PM -0600, Anthony Liguori wrote: >> >>> Michael S. Tsirkin wrote: >>> >>>> Or, we could have a very small ROM, that loads >>>> more actual code from card or from qemu directly >>>> when it is run. >>>> >>> It's not as simple as it sounds but it's possible, in theory at least. >>> >>> But I think the question really is, what problem are we trying to solve? >>> >> >> Support 256 devices on PCI bus seamlessly > > Okay, I think I've figured out how this is supposed to work. With these > two patches to SeaBIOS and the patch to qemu, I can run: > > qemu -net nic,model=rtl8139 -net nic,model=virtio -net nic,model=e1000 > -boot menu=on > > And all three option roms load. I can also select which NIC I want to > boot from using the F12 menu. This works by not actually loading the > option roms in the 1M space, but instead making them mappable through > the PCI devices. With PMM and DDIM, the result is that we only have to > copy in 2K for each option rom which means we can support up to 48 > unique option roms. That should be plenty for now. > > These patches are very rough but I'll clean them up tomorrow. I'm not > sure the best way to integrate with the rom infrastructure since we no > longer have a physical address to map to. Any suggestions Gerd? > > Regards, > > Anthony Liguori >>From a quick overview, I see register memory but no unregister? -- MST