From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LvUxS-0008Dj-Ir for qemu-devel@nongnu.org; Sun, 19 Apr 2009 07:13:10 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LvUxN-0008Cj-ET for qemu-devel@nongnu.org; Sun, 19 Apr 2009 07:13:09 -0400 Received: from [199.232.76.173] (port=41254 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LvUxN-0008Ca-5V for qemu-devel@nongnu.org; Sun, 19 Apr 2009 07:13:05 -0400 Received: from mx2.redhat.com ([66.187.237.31]:53633) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LvUxM-0007Jf-EY for qemu-devel@nongnu.org; Sun, 19 Apr 2009 07:13:04 -0400 Date: Sun, 19 Apr 2009 14:12:49 +0300 From: Gleb Natapov Message-ID: <20090419111249.GD10126@redhat.com> References: <1240001860-2280-1-git-send-email-glommer@redhat.com> <1240001860-2280-2-git-send-email-glommer@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: [Qemu-devel] Re: [Bochs-developers] [PATCH 1/2] create acpi cpu definitions Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Brendan Trotter Cc: bochs-developers@lists.sourceforge.net, aliguori@us.ibm.com, qemu-devel@nongnu.org On Sun, Apr 19, 2009 at 11:01:09AM +0930, Brendan Trotter wrote: > Hi, > > On Sun, Apr 19, 2009 at 7:20 AM, Sebastian Herbszt wrote: > > Glauber Costa wrote: > >> This comes directly from kvm-userspace. It creates > >> the necessary infrastructure for cpu hotplug, by > >> creating _MAT and _STA entries in cpu devices, > >> and by allowing notifications to the guest to happen > > > > Is there a cpu hotplug specification? I would like to read up > > on the needed changes. > > There isn't any CPU hotplug specification for 80x86. > > The "Processor Local APIC" structure in ACPI's tables has an > "enabled/disabled" flag (just like some other structures in ACPI > tables). Hotplug CPUs that aren't present may not be listed at all (no > "disabled" entry), and "Processor Local APIC" entries may be disabled > for any number of other reasons (including a BIOS that uses fixed size > tables, that supports more CPUs than the motherboard). The only thing > an OS can assume about disabled "Processor Local APIC" entries is that > the OS must not attempt to use the CPU. > > For a comparison, the ACPI specification does include support for > hotplug RAM. In this case (for ACPI 3.0) the "int 0x15, eax = 0xE820" > BIOS function returns entries with an enabled/disabled flag where > "disabled" entries must be ignored; and there's a completely separate > structure (the "Memory Affinity Structure") which contains information > about areas that are used for hot-plug RAM, which has it's one > enabled/disabled flag *and* a separate hotpluggable/not hotpluggable > flag. From this, it seems logical that if ACPI ever does support > hot-plug CPUs, then they'll use a separate structure or a separate > flag to indicate if a CPU is hot pluggable or not, and the existing > "enabled/disabled" flag will retain it's current (use/don't use) > meaning. > > For some reason (unknown to me) some Linux developers made wild > assumptions about disabled "Processor Local APIC" entries, and now > they're inventing fictitious hardware to support their unfounded > assumptions. > > Please, correct me if I'm wrong... > Windows 2008 supports CPU hot plug (but not unplug IIRC). How they do it if there is not specification about how it should work on 80x86? -- Gleb.