Message ID | 1465580427-13596-15-git-send-email-drjones@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, Jul 14, 2016 at 05:43:51PM -0300, Eduardo Habkost wrote: > On Fri, Jun 10, 2016 at 07:40:25PM +0200, Andrew Jones wrote: > > This is a first step to preparing mach-virt for configurable > > cpu topology, and is necessary now to prepare to move smbios > > code away from using cpu topology globals smp_cores,smp_threads. > > > > Signed-off-by: Andrew Jones <drjones@redhat.com> > > I'd rather put a MachineState pointer inside VirtGuestInfo, and > eventually eliminate VirtGuestInfo completely (like we already > did with PCGuestInfo in x86). I'll look at the history of PCGuestInfo's death. It sounds good to me. > > > --- > > hw/arm/virt.c | 6 +++++- > > include/hw/arm/virt-acpi-build.h | 4 ++++ > > 2 files changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > > index 134b6e36623ba..769a49aa5be77 100644 > > --- a/hw/arm/virt.c > > +++ b/hw/arm/virt.c > > @@ -1281,7 +1281,11 @@ static void machvirt_init(MachineState *machine) > > create_fw_cfg(vbi, &address_space_memory); > > rom_set_fw(fw_cfg_find()); > > > > - guest_info->cpus = vbi->cpus; > > + guest_info->sockets = machine->sockets; > > + guest_info->cores = machine->cores; > > + guest_info->threads = machine->threads; > > + guest_info->maxcpus = machine->maxcpus; > > + guest_info->cpus = machine->cpus; > > guest_info->fw_cfg = fw_cfg_find(); > > guest_info->memmap = vbi->memmap; > > guest_info->irqmap = vbi->irqmap; > > diff --git a/include/hw/arm/virt-acpi-build.h b/include/hw/arm/virt-acpi-build.h > > index d6c5982960403..a34fb04230e66 100644 > > --- a/include/hw/arm/virt-acpi-build.h > > +++ b/include/hw/arm/virt-acpi-build.h > > @@ -27,6 +27,10 @@ > > #define ACPI_GICC_ENABLED 1 > > > > typedef struct VirtGuestInfo { > > + int sockets; > > + int cores; > > + int threads; > > + int maxcpus; > > int cpus; > > FWCfgState *fw_cfg; > > const MemMapEntry *memmap; > > -- > > 2.4.11 > > > > > > -- > Eduardo >
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 134b6e36623ba..769a49aa5be77 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1281,7 +1281,11 @@ static void machvirt_init(MachineState *machine) create_fw_cfg(vbi, &address_space_memory); rom_set_fw(fw_cfg_find()); - guest_info->cpus = vbi->cpus; + guest_info->sockets = machine->sockets; + guest_info->cores = machine->cores; + guest_info->threads = machine->threads; + guest_info->maxcpus = machine->maxcpus; + guest_info->cpus = machine->cpus; guest_info->fw_cfg = fw_cfg_find(); guest_info->memmap = vbi->memmap; guest_info->irqmap = vbi->irqmap; diff --git a/include/hw/arm/virt-acpi-build.h b/include/hw/arm/virt-acpi-build.h index d6c5982960403..a34fb04230e66 100644 --- a/include/hw/arm/virt-acpi-build.h +++ b/include/hw/arm/virt-acpi-build.h @@ -27,6 +27,10 @@ #define ACPI_GICC_ENABLED 1 typedef struct VirtGuestInfo { + int sockets; + int cores; + int threads; + int maxcpus; int cpus; FWCfgState *fw_cfg; const MemMapEntry *memmap;
This is a first step to preparing mach-virt for configurable cpu topology, and is necessary now to prepare to move smbios code away from using cpu topology globals smp_cores,smp_threads. Signed-off-by: Andrew Jones <drjones@redhat.com> --- hw/arm/virt.c | 6 +++++- include/hw/arm/virt-acpi-build.h | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) -- 2.4.11