From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KXFkF-000373-QM for qemu-devel@nongnu.org; Sun, 24 Aug 2008 09:35:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KXFkE-00036j-9D for qemu-devel@nongnu.org; Sun, 24 Aug 2008 09:35:02 -0400 Received: from [199.232.76.173] (port=36926 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KXFkE-00036g-3b for qemu-devel@nongnu.org; Sun, 24 Aug 2008 09:35:02 -0400 Received: from wf-out-1314.google.com ([209.85.200.172]:19742) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KXFkD-0004Zs-H5 for qemu-devel@nongnu.org; Sun, 24 Aug 2008 09:35:01 -0400 Received: by wf-out-1314.google.com with SMTP id 27so1475587wfd.4 for ; Sun, 24 Aug 2008 06:35:00 -0700 (PDT) Message-ID: Date: Sun, 24 Aug 2008 16:35:00 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH 0/6] Add UUID command-line option In-Reply-To: <20080824130510.GC6192@minantech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080824113258.5652.92531.stgit@gleb-debian.qumranet.com.qumranet.com> <20080824122423.GA6192@minantech.com> <20080824130510.GC6192@minantech.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 8/24/08, Gleb Natapov wrote: > On Sun, Aug 24, 2008 at 03:45:51PM +0300, Blue Swirl wrote: > > > It is hard enough to change interface between qemu and bochs BIOS. How > > > complex it will be to simultaneously change interface for several boot > > > loaders. > > > > This is because no Qemu developer has commit rights to Bochs, and > > Bochs releases too infrequently. With commit rights, synchronizing a > > commit would not be too difficult. And this should be needed only if > > the common interface changes incompatibly. > > > > Is this situation going to change? Are Qemu developers has commit rights > to other boot loader? I can commit to OpenBIOS, if that's what you asked. > BTW we are going to use qemu<->bios channel not only for UUID and cpu > frequency, but for number of other things. Adding ACPI tables provided > by user for instance (this is needed for Vista OEM installation). ACPI is architecture-specific, so this can easily go to arch area. And ROM works here fine. > > > > UUID is not architecture specific, so it should use the > > > > main structure instead if the architecture specific substructure > > > > (nvram_arch*). Adding UUID to unused fields will not break anything. > > > > > > Most info in ohwcfg_v3_t are not needed (or can be obtained by other > > > means) by PC BIOS, so there is no point in coping the whole structure > > > into BIOS. Of cause BIOS don't have to copy entire ohwcfg_v3_t, but > > > > For example, Bochs seems to use i440fx registers to determine the > > available physical memory. This could be changed to use the > > configuration structure instead. It's a matter of taste, but I would > > find this an improvement. > > If by Bochs you mean Bochs BIOS then this is not the case. There are > standard CMOS locations where amount of available memory is specified. > Qemu initialize those locations and BIOS reads them. I don't think this is > going to change since Bochs BIOS is used not only by Qemu. If only Bochs > will move to firmware interface too... If we can push UUID or ACPI patches, we can push just as easily configuration ROM and related interface patches. Of course Bochs devs could want other changes. > > > access only required fields by reading only specific offsets, but then the > > > interface will be exactly like the one I proposed with only difference > > > that instead of specifying magic value (like 1 for reading UUID in my > > > patch series), BIOS will have to specify magic offset (like 0xE0). > > > > There is no need for a magic offset, ohwcfg_v3_t is designed to be > > included even from asm. > > > > The thing is I don't want to copy the whole ROM into BIOS during boot. > As far as I see on other platforms ROM is memory mapped, so no copying > is required and this was you first proposal, but if we are going to use > port IO to access ROM then it will either have to be copied into main > memory and then accessed, or only required fields will have to be > copied and that mean coping data from magic offsets. I'd still prefer to use a memory mapped interface, but I was told that this would not be easy to access from 16 bit code. It's equally possible to make the ROM indexed even on Sparc32 or maybe even add a hidden m48t59 to PC. Maybe we mean different things with a magic offset. Bochs BIOS sources can include firmware_abi.h unchanged, then use the #defined offsets to access either a memory-mapped ROM or IO port version. To my mind this does not mean using any magic offsets.