From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] KVM call minutes for Feb 8 Date: Sun, 13 Feb 2011 13:38:12 -0600 Message-ID: <4D583324.3070905@codemonkey.ws> References: <4D52A86A.1030407@codemonkey.ws> <4D52F20A.7070009@codemonkey.ws> <4D539800.3070802@codemonkey.ws> <4D53BE22.3050706@redhat.com> <4D57FB12.5060703@codemonkey.ws> <4D57FF2E.7020001@redhat.com> <4D580D3E.3000300@codemonkey.ws> <20110213180809.GA16327@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Chris Wright , kvm@vger.kernel.org, qemu-devel@nongnu.org, Markus Armbruster , Blue Swirl , Avi Kivity To: Gleb Natapov Return-path: Received: from mail-yx0-f174.google.com ([209.85.213.174]:61163 "EHLO mail-yx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754762Ab1BMTiR (ORCPT ); Sun, 13 Feb 2011 14:38:17 -0500 Received: by yxt3 with SMTP id 3so1773014yxt.19 for ; Sun, 13 Feb 2011 11:38:17 -0800 (PST) In-Reply-To: <20110213180809.GA16327@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 02/13/2011 12:08 PM, Gleb Natapov wrote: > On Sun, Feb 13, 2011 at 10:56:30AM -0600, Anthony Liguori wrote: > >>>> qemu -device i440fx,id=nb -device piix3,id=sb,chipset=nb -device >>>> ioapic,id=ioapic,chipset=sb -device >>>> cpu,ioapic=ioapic,northbridge=nb >>>> >>>> Is not all that unreasonable and presents a fully functioning PC. >>>> >>> Sure. And -M blah is a shortcut. >>> >> Exactly. Or better yet, blah is a config file that contains >> >> [device "nb"] >> driver=i440fx >> >> > You are trying to model how particular (very ancient) HW looked like, > instead of emulating guest visible functionality, but is dead end since > things are changing constantly. Northbridge functionality moves onto > cpu for instance. What CPU i440fx was designed for? Pentium? What if > user runs QEMU with emulated CPU that in real life has internal memory > controller? Does you config have sense for such setup? Should we allow > to specify only Pentium CPU since this is how real HW worked? > Yes, how we structure the device tree will change over time. If users have to specify this stuff, we've already failed to start with. The i440fx is definitely guest visible. And yes, a guest could look at freak out that an i440fx is in use with a non-Pentium class CPU. We cheat here, and it works just fine. >> [device "sb"] >> driver=piix3 >> > And piix3 refers to piix3.cfg which describe devices that present on the > chipset. > I disagree in this case that it's the best thing to do, but in general, yeah, we should provide a mechanism to have essentially device tree macros such that one high level device represents a larger tree of devices. This would be a good mechanism to support the concept of machines. But I don't think we should rely on having this tomorrow as doing this well is going to be challenging. >> chipset=nb >> >> [device "ioapic"] >> driver=ioapic >> chipset=sb >> > Here, for instance, IOAPIC is included in a chipset for a long time > now. Why user should care that piix3 didn't have it. How this detail > changes qemu functionality? If it doesn't why should we expose it? > Yeah, I'd be inclined to push the ioapic into the chipset here except it may be useful to have multiple ioapics at some point down the road. Yes, we're exposing gory details of the device model. No, I don't have a problem with that. >> [device "cpu"] >> driver=cpu >> ioapic=ioapic >> > Why ioapic here? Doesn't cpu talks to ioapic via northbridge? > The i440fx is the northbridge. For the i440fx, the I/O apic is a separate chip. Regards, Anthony Liguori