On 10/11/2016 12:24 PM, David Gibson wrote:
> On Mon, Oct 10, 2016 at 02:56:25PM +0200, Cédric Le Goater wrote:
>>>> @@ -227,11 +227,44 @@ static void ppc_powernv_init(MachineState *machine)
>>>>          snprintf(chip_name, sizeof(chip_name), "chip[%d]", CHIP_HWID(i));
>>>>          object_property_add_child(OBJECT(pnv), chip_name, chip, 
>>>> &error_fatal);
>>>>          object_property_set_int(chip, CHIP_HWID(i), "chip-id", 
>>>> &error_fatal);
>>>> +        object_property_set_int(chip, smp_cores, "nr-cores", 
>>>> &error_fatal);
>>>> +        /*
>>>> +         * We could customize cores_mask for the chip here. May be
>>>> +         * using a powernv machine property, like 'num-chips'. Let the
>>>> +         * chip choose the default for now.
>>> I don't think you need any special mechanism for this.  If you just
>>> remove this explicit assignment the chip default will apply, but the
>>> user can alter it using -global.
>> Using a command line with :
>>      -global powernv-chip-POWER8.cores-mask=0x7070
>> would work for one chip but not for more. Let's start with that, I will 
>> remove the comment for now. multiple chip is for later.
> Well, it works for more than one chip if you want the same mask for
> each of them.  If you want different masks, I think you can still do
> it with -set, but working out the right arguments can be a PITA.

That would be the best solution but I did not find a way to address one
chip object to do a "qom set".

(qemu) info qom-tree 
/machine (powernv-machine)
  /unattached (container)
    /system[0] (qemu:memory-region)
    /sysbus (System)
    /ppc_powernv.ram[0] (qemu:memory-region)
    /io[0] (qemu:memory-region)
  /peripheral-anon (container)
  /peripheral (container)
  /chip[1] (powernv-chip-POWER8)
  /chip[0] (powernv-chip-POWER8)
We will have a similar need with the ram to spread the contents on
the chips. 


Reply via email to