On 3/9/20 9:17 AM, Igor Mammedov wrote:
> On Tue, 03 Mar 2020 13:57:18 -0600
> Babu Moger <babu.mo...@amd.com> wrote:
> 
>> Store the  smp sockets in CpuTopology. The socket information required to
>> build the apic id in EPYC mode. Right now socket information is not passed
>> to down when decoding the apic id. Add the socket information here.
>>
>> Signed-off-by: Babu Moger <babu.mo...@amd.com>
>> Reviewed-by: Eduardo Habkost <ehabk...@redhat.com>
>> Reviewed-by: Igor Mammedov <imamm...@redhat.com>
>> ---
>>  hw/core/machine.c   |    1 +
>>  hw/i386/pc.c        |    1 +
>>  include/hw/boards.h |    2 ++
>>  vl.c                |    1 +
> 
> this has been moved to softmmu, so patch needs to rebased against current 
> master

Sure. Will do.

> 
>>  4 files changed, 5 insertions(+)
>>
>> diff --git a/hw/core/machine.c b/hw/core/machine.c
>> index d8e30e4895..2582ce94f6 100644
>> --- a/hw/core/machine.c
>> +++ b/hw/core/machine.c
>> @@ -728,6 +728,7 @@ static void smp_parse(MachineState *ms, QemuOpts *opts)
>>          ms->smp.cpus = cpus;
>>          ms->smp.cores = cores;
>>          ms->smp.threads = threads;
>> +        ms->smp.sockets = sockets;
>>      }
>>  
>>      if (ms->smp.cpus > 1) {
>> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
>> index ef23ae2af5..68bf08f285 100644
>> --- a/hw/i386/pc.c
>> +++ b/hw/i386/pc.c
>> @@ -780,6 +780,7 @@ void pc_smp_parse(MachineState *ms, QemuOpts *opts)
>>          ms->smp.cpus = cpus;
>>          ms->smp.cores = cores;
>>          ms->smp.threads = threads;
>> +        ms->smp.sockets = sockets;
>>          x86ms->smp_dies = dies;
>>      }
>>  
>> diff --git a/include/hw/boards.h b/include/hw/boards.h
>> index fb1b43d5b9..320dd14e02 100644
>> --- a/include/hw/boards.h
>> +++ b/include/hw/boards.h
>> @@ -252,12 +252,14 @@ typedef struct DeviceMemoryState {
>>   * @cpus: the number of present logical processors on the machine
>>   * @cores: the number of cores in one package
>>   * @threads: the number of threads in one core
>> + * @sockets: the number of sockets on the machine
>>   * @max_cpus: the maximum number of logical processors on the machine
>>   */
>>  typedef struct CpuTopology {
>>      unsigned int cpus;
>>      unsigned int cores;
>>      unsigned int threads;
>> +    unsigned int sockets;
>>      unsigned int max_cpus;
>>  } CpuTopology;
>>  
>> diff --git a/vl.c b/vl.c
>> index 7dcb0879c4..f77b1285c6 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -3949,6 +3949,7 @@ int main(int argc, char **argv, char **envp)
>>      current_machine->smp.max_cpus = machine_class->default_cpus;
>>      current_machine->smp.cores = 1;
>>      current_machine->smp.threads = 1;
>> +    current_machine->smp.sockets = 1;
>>  
>>      machine_class->smp_parse(current_machine,
>>          qemu_opts_find(qemu_find_opts("smp-opts"), NULL));
>>
> 

Reply via email to