From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60186) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmiuO-00020k-QI for qemu-devel@nongnu.org; Wed, 21 Sep 2016 10:54:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bmiuL-0007sN-L0 for qemu-devel@nongnu.org; Wed, 21 Sep 2016 10:54:00 -0400 Date: Wed, 21 Sep 2016 10:50:49 -0400 From: Luiz Capitulino Message-ID: <20160921105049.55ede6b1@redhat.com> In-Reply-To: <1474435766-9727-1-git-send-email-david@gibson.dropbear.id.au> References: <1474435766-9727-1-git-send-email-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] monitor: fix crash for platforms without a CPU 0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: qemu-trivial@nongnu.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org, ehabkost@redhat.com, armbru@redhat.com, imammedo@redhat.com, =?UTF-8?B?Q8OpZHJpYw==?= Le Goater On Wed, 21 Sep 2016 15:29:26 +1000 David Gibson wrote: > Now that we allow CPU hot unplug on a few platforms, we can end up in a > situation where we don't have a CPU with index 0. Or at least we could, > if we didn't have code to explicitly prohibit unplug of CPU 0. >=20 > Longer term we want to allow CPU 0 unplug, this patch is an early step in > allowing this, by removing an assumption in the monitor code that CPU 0 > always exists. >=20 > Signed-off-by: C=C3=A9dric Le Goater > [dwg: Rewrote commit message to better explain background] > Signed-off-by: David Gibson > --- > monitor.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > Anyone want to volunteer to take this through their tree? If not, I > can take it through my ppc tree. Please do. Reviewed-by: Luiz Capitulino >=20 > diff --git a/monitor.c b/monitor.c > index 8bb8bbf..83c4edf 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -1025,7 +1025,7 @@ int monitor_set_cpu(int cpu_index) > CPUState *mon_get_cpu(void) > { > if (!cur_mon->mon_cpu) { > - monitor_set_cpu(0); > + monitor_set_cpu(first_cpu->cpu_index); > } > cpu_synchronize_state(cur_mon->mon_cpu); > return cur_mon->mon_cpu;