• G
    ppc/pnv: Drop "num-chips" machine property · e44acde2
    Greg Kurz 提交于
    The number of CPU chips of the powernv machine is configurable through a
    "num-chips" property. This doesn't fit well with the CPU topology, eg.
    some configurations can come up with more CPUs than the maximum of CPUs
    set in the toplogy. This causes assertion to be hit with mttcg:
    
       -machine powernv,num-chips=2 -smp cores=2 -accel tcg,thread=multi
    
    ERROR:
    tcg/tcg.c:789:tcg_register_thread: assertion failed: (n < ms->smp.max_cpus)
    Aborted (core dumped)
    
    Mttcg mandates the CPU topology to be dimensioned to the actual number
    of CPUs, depending on the number of chips the user asked for. That is,
    '-machine num-chips=N' should always have a '-smp' companion with a
    topology that meats the resulting number of CPUs, typically
    '-smp sockets=N'.
    
    It thus seems that "num-chips" doesn't bring anything but forcing the user
    to specify the requested number of chips on the command line twice. Simplify
    the command line by computing the number of chips based on the CPU topology
    exclusively. The powernv machine isn't a production thing ; it is mostly
    used by developpers to prepare the bringup of real HW. Because of this and
    for simplicity, this deliberately ignores the official deprecation process
    and dumps "num-chips" right away : '-smp sockets=N' is now the only way to
    control the number of CPU chips.
    
    This is done at machine init because smp_parse() is called after instance
    init.
    Signed-off-by: NGreg Kurz <groug@kaod.org>
    Message-Id: <157830658266.533764.2214183961444213947.stgit@bahia.lan>
    Reviewed-by: NCédric Le Goater <clg@kaod.org>
    Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
    e44acde2
pnv.c 59.8 KB