diff options
| author | Igor Mammedov <imammedo@redhat.com> | 2016-11-15 13:17:15 +0100 |
|---|---|---|
| committer | Eduardo Habkost <ehabkost@redhat.com> | 2016-11-16 12:09:58 -0200 |
| commit | 5836d16812cda6b93380632802d56411972e3148 (patch) | |
| tree | 0f0a57d9d50446c6560b6546339d99527ee93c16 /hw/arm/virt.c | |
| parent | eabff1582032b662fa58e6e880ca7399f1b78369 (diff) | |
| download | focaccia-qemu-5836d16812cda6b93380632802d56411972e3148.tar.gz focaccia-qemu-5836d16812cda6b93380632802d56411972e3148.zip | |
fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1()
PC will use this field in other way, so move it outside the common code so PC could set a different value, i.e. all CPUs regardless of where they are coming from (-smp X | -device cpu...). It's quick and dirty hack as it could be implemented in more generic way in MashineClass. But do it in simple way since only PC is affected so far. Later we can generalize it when another affected target gets support for -device cpu. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <1479212236-183810-3-git-send-email-imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'hw/arm/virt.c')
| -rw-r--r-- | hw/arm/virt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 54a8b28a58..d04e4acbd9 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -929,9 +929,11 @@ static void create_fw_cfg(const VirtBoardInfo *vbi, AddressSpace *as) { hwaddr base = vbi->memmap[VIRT_FW_CFG].base; hwaddr size = vbi->memmap[VIRT_FW_CFG].size; + FWCfgState *fw_cfg; char *nodename; - fw_cfg_init_mem_wide(base + 8, base, 8, base + 16, as); + fw_cfg = fw_cfg_init_mem_wide(base + 8, base, 8, base + 16, as); + fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)smp_cpus); nodename = g_strdup_printf("/fw-cfg@%" PRIx64, base); qemu_fdt_add_subnode(vbi->fdt, nodename); |