Commit 9e734e3d authored by Bharata B Rao's avatar Bharata B Rao Committed by Alexander Graf
Browse files

spapr: Consider max_cpus during xics initialization



Use max_cpus instead of smp_cpus when intializating xics system. Also
report max_cpus in ibm,interrupt-server-ranges device tree property of
interrupt controller node.

Signed-off-by: default avatarBharata B Rao <bharata@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
parent 708414f0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ static void *spapr_create_fdt_skel(hwaddr initrd_base,
    GString *hypertas = g_string_sized_new(256);
    GString *qemu_hypertas = g_string_sized_new(256);
    uint32_t refpoints[] = {cpu_to_be32(0x4), cpu_to_be32(0x4)};
    uint32_t interrupt_server_ranges_prop[] = {0, cpu_to_be32(smp_cpus)};
    uint32_t interrupt_server_ranges_prop[] = {0, cpu_to_be32(max_cpus)};
    int smt = kvmppc_smt_threads();
    unsigned char vec5[] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x80};
    QemuOpts *opts = qemu_opts_find(qemu_find_opts("smp-opts"), NULL);
@@ -1454,7 +1454,7 @@ static void ppc_spapr_init(MachineState *machine)

    /* Set up Interrupt Controller before we create the VCPUs */
    spapr->icp = xics_system_init(machine,
                                  DIV_ROUND_UP(smp_cpus * kvmppc_smt_threads(),
                                  DIV_ROUND_UP(max_cpus * kvmppc_smt_threads(),
                                               smp_threads),
                                  XICS_IRQS);