From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH v4 03/10] x86: Extend validity of cpu_is_bsp Date: Sun, 7 Mar 2010 08:36:43 +0200 Message-ID: <20100307063643.GN16909@redhat.com> References: <20100303160022.GG16909@redhat.com> <4B8EF1FE.7020000@web.de> <20100304064723.GH16909@redhat.com> <4B8F6E12.8040707@web.de> <20100304083549.GI16909@redhat.com> <4B8F9B11.60804@siemens.com> <20100304120354.GK16909@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , Marcelo Tosatti , kvm@vger.kernel.org, qemu-devel@nongnu.org To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:10817 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750834Ab0CGGgv (ORCPT ); Sun, 7 Mar 2010 01:36:51 -0500 Content-Disposition: inline In-Reply-To: <20100304120354.GK16909@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Mar 04, 2010 at 02:03:54PM +0200, Gleb Natapov wrote: > > BTW, do real systems allow to hot plug BSP as well? Or how is the case > > handled when you unplug the BSP and then reboot the box? > > > Did you mean hot unplug BSP? OS determines what CPU is BSP by checking > BSP bit in APIC base register. My guess is that there is some pin on CPU > which value is mirrored as BSP bit in APIC base register. Board may have > some logic to check what sockets are populated and chose one of them as > BSP by pulling its pin up. But this is only guess. > Actually this is much more simple: SDM 8.4.1: The MP initialization protocol defines two classes of processors: the bootstrap processor (BSP) and the application processors (APs). Following a power-up or RESET of an MP system, system hardware dynamically selects one of the processors on the system bus as the BSP. The remaining processors are designated as APs. And by "hardware" they mean CPUs themselves over apic BUS. -- Gleb.