On 09/05/2016 06:27 AM, David Gibson wrote:
> On Wed, Aug 31, 2016 at 06:34:15PM +0200, Cédric Le Goater wrote:
>> On PowerNV, CPU ids start at 0x8 or 0x20, we don't have a CPU 0
>> anymore. So let's use the first_cpu index to initialize the monitor.
>>
>> Signed-off-by: Cédric Le Goater <[email protected]>
>
> So we need a patch like this - amongst other fixes - in order to allow
> unplug of cpu 0. I'm not really sure whether to push it ahead now, or
> gather it up with other no-cpu-0 fixes and send them as a batch.
I think we could send it now as it removes an assumption on the cpu
number.
C.
>
>> ---
>>
>> So that you can dump the cpu list with the monitor :
>>
>> (qemu) info cpus
>> * CPU #8: nip=0x0000000000000010 thread_id=7742
>> CPU #16: nip=0x0000000000000010 thread_id=7740
>> CPU #24: nip=0x0000000000000010 thread_id=7740
>> CPU #32: nip=0x0000000000000010 thread_id=7740
>> CPU #40: nip=0x0000000000000010 thread_id=7740
>> CPU #48: nip=0x0000000000000010 thread_id=7740
>> CPU #72: nip=0x0000000000000010 thread_id=7740
>> CPU #80: nip=0x0000000000000010 thread_id=7740
>> CPU #136: nip=0x0000000000000010 thread_id=7740
>> CPU #144: nip=0x0000000000000010 thread_id=7740
>> CPU #152: nip=0x0000000000000010 thread_id=7740
>> CPU #160: nip=0x0000000000000010 thread_id=7740
>> CPU #168: nip=0x0000000000000010 thread_id=7740
>> CPU #176: nip=0x0000000000000010 thread_id=7740
>> CPU #200: nip=0x0000000000000010 thread_id=7740
>> CPU #208: nip=0x0000000000000010 thread_id=7740
>>
>> monitor.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/monitor.c b/monitor.c
>> index e9009de09a6c..19b8ec14f40e 100644
>> --- a/monitor.c
>> +++ b/monitor.c
>> @@ -1027,7 +1027,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;
>