qemu-e2k/hw/ppc
Greg Kurz f303f117fe spapr: ensure we have at least one XICS server
XICS needs to know the upper value for cpu_index as it is used to compute
the number of servers:

    smp_cpus * kvmppc_smt_threads() / smp_threads

When passing -smp cpus=1,threads=9 on a POWER8 host, we end up with:

    1 * 8 / 9 = 0

... which leads to an assertion in both emulated:

Number of servers needs to be greater 0
Aborted (core dumped)

... and in-kernel XICS:

xics_kvm_realize: Assertion `icp->nr_servers' failed.
Aborted (core dumped)

With this patch, we are sure that nr_servers > 0. Passing the same bogus
-smp option then leads to:

qemu-system-ppc64: Cannot support more than 8 threads on PPC with KVM

... which is a lot more explicit than the XICS errors.

Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-07-07 17:44:49 +02:00
..
e500-ccsr.h
e500.c hw/ppc/e500.c: Fix memory leak 2015-06-03 14:21:24 +03:00
e500.h
e500plat.c
mac_newworld.c fw_cfg: fix FW_CFG_BOOT_DEVICE update on ppc and sparc 2015-06-10 08:00:37 +02:00
mac_oldworld.c fw_cfg: fix FW_CFG_BOOT_DEVICE update on ppc and sparc 2015-06-10 08:00:37 +02:00
mac.h
Makefile.objs spapr_drc: initial implementation of sPAPRDRConnector device 2015-06-03 23:56:52 +02:00
mpc8544_guts.c
mpc8544ds.c
ppc4xx_devs.c
ppc4xx_pci.c
ppc405_boards.c m48t59: introduce new base-year qdev property 2015-03-10 09:18:56 +00:00
ppc405_uc.c
ppc405.h
ppc440_bamboo.c
ppc_booke.c
ppc.c timer: Use a single definition of NSEC_PER_SEC for the whole codebase 2015-07-02 09:20:18 +01:00
ppce500_spin.c Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
prep.c hw/ppc/prep.c: Fix misusing qemu_allocate_irqs for single irq 2015-06-03 14:21:24 +03:00
spapr_drc.c spapr_drc: add spapr_drc_populate_dt() 2015-06-03 23:56:54 +02:00
spapr_events.c spapr_events: event-scan RTAS interface 2015-06-03 23:56:53 +02:00
spapr_hcall.c pseries: Switch VGA endian on H_SET_MODE 2015-03-09 15:00:03 +01:00
spapr_iommu.c hw/ppc/spapr_iommu: Fix the check for invalid upper bits in liobn 2015-06-03 23:56:51 +02:00
spapr_pci_vfio.c sPAPR: Implement sPAPRPHBClass EEH callbacks 2015-03-09 15:00:08 +01:00
spapr_pci.c qerror: Clean up QERR_ macros to expand into a single string 2015-06-22 18:20:40 +02:00
spapr_rtas.c spapr_rtas: add ibm, configure-connector RTAS interface 2015-06-03 23:56:53 +02:00
spapr_rtc.c timer: Use a single definition of NSEC_PER_SEC for the whole codebase 2015-07-02 09:20:18 +01:00
spapr_vio.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
spapr.c spapr: ensure we have at least one XICS server 2015-07-07 17:44:49 +02:00
virtex_ml507.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00