ppc patch queue for 2019-03-19

This is a small set, it has a number of fixes and a couple of minor
 cleanups to go in for the hard freeze.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAlyQvvwACgkQbDjKyiDZ
 s5J7QhAAs6PgC5BsI+pU+ZqBrliRUQ52FO0yJiZ/vidqocDvhqZP43hsb0+9kTLX
 +MItyBOBF6514r5EIVfhUPtW0AIkXP7SQ6/9KI231/KuWIKBcPEFPdR1NwIovR5m
 6xs3r9Twt9jGTdtMnrmD4xpLwSf9ZBPkqBcI+Bkf4mF/zMoKDz1oMGtS3wzwLqDa
 0I3n3z8Sowx/HRBKFQBG+B86uvoMVJbRSxwNu8rsViTlnUXF+27hvMjCfpvQnCxd
 AzD/viduvOqdLUclqxNX+jMGyfjx830y5Mh50HXQZ4fY1hfH7cp+vSb1+rO+QnFP
 kPAb46gZmKJfa6/AOjOrMRUi5DHH20+Xayi7BJswGgBZJZnhRN/S4n2NEdpSxcY7
 G4wyY138SNy3WE3p3PW7/otXFNRHeoW0NMLgcApE5ZGaYvVTvK39SwOKonZwsfco
 leTbDd57/WitqhVKSXqdnCvWkGd5cKqAITwG/FfiBBL+EyfBOeRuyHoUKXeFZt11
 N8iw44ZrmAIrsZyH/DMuux/ZP9oTDewNd4uNwPev/mzg0EE+KOaGL3c/OJpOKkne
 HwwGr4JMPOs0Jbu/xRYHwoANbqTUnXrd9U87uNHD3QtmfEA7plGg9IGVm5ZSUpmh
 GpVcilPyKr7AmuWxxVPhhqo2XldpUWgIjY8IZMQ+jeqP/Cj3JWE=
 =Hsqd
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.0-20190319' into staging

ppc patch queue for 2019-03-19

This is a small set, it has a number of fixes and a couple of minor
cleanups to go in for the hard freeze.

# gpg: Signature made Tue 19 Mar 2019 10:05:48 GMT
# gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full]
# gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dgibson/tags/ppc-for-4.0-20190319:
  spapr: Remove NULL checks on error_propagate() calls
  ppc/xics/spapr: Fix H_IPOLL implementation
  ppc/pnv: Fix variable size in pnv_psi_power9_irq_set()
  ppc/pnv: Use local_err variable in pnv_chip_power9_intc_create()
  MAINTAINERS: PPC: add a PowerNV machine entry
  ppc/pnv: update skiboot to commit 261ca8e779e5.
  spapr: Correctly set LPCR[GTSE] in H_REGISTER_PROCESS_TABLE

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2019-03-19 10:52:44 +00:00
commit 86e2fca2d7
8 changed files with 26 additions and 9 deletions

View File

@ -1061,7 +1061,6 @@ F: include/hw/*/xics*
F: pc-bios/spapr-rtas/* F: pc-bios/spapr-rtas/*
F: pc-bios/spapr-rtas.bin F: pc-bios/spapr-rtas.bin
F: pc-bios/slof.bin F: pc-bios/slof.bin
F: pc-bios/skiboot.lid
F: docs/specs/ppc-spapr-hcalls.txt F: docs/specs/ppc-spapr-hcalls.txt
F: docs/specs/ppc-spapr-hotplug.txt F: docs/specs/ppc-spapr-hotplug.txt
F: tests/spapr* F: tests/spapr*
@ -1069,6 +1068,18 @@ F: tests/libqos/*spapr*
F: tests/rtas* F: tests/rtas*
F: tests/libqos/rtas* F: tests/libqos/rtas*
PowerNV (Non-Virtualized)
M: Cédric Le Goater <clg@kaod.org>
M: David Gibson <david@gibson.dropbear.id.au>
L: qemu-ppc@nongnu.org
S: Maintained
F: hw/ppc/pnv*
F: hw/intc/pnv*
F: hw/intc/xics_pnv.c
F: include/hw/ppc/pnv*
F: pc-bios/skiboot.lid
F: tests/pnv*
virtex_ml507 virtex_ml507
M: Edgar E. Iglesias <edgar.iglesias@gmail.com> M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
L: qemu-ppc@nongnu.org L: qemu-ppc@nongnu.org

View File

@ -95,8 +95,15 @@ static target_ulong h_eoi(PowerPCCPU *cpu, SpaprMachineState *spapr,
static target_ulong h_ipoll(PowerPCCPU *cpu, SpaprMachineState *spapr, static target_ulong h_ipoll(PowerPCCPU *cpu, SpaprMachineState *spapr,
target_ulong opcode, target_ulong *args) target_ulong opcode, target_ulong *args)
{ {
ICPState *icp = xics_icp_get(XICS_FABRIC(spapr), args[0]);
uint32_t mfrr; uint32_t mfrr;
uint32_t xirr = icp_ipoll(spapr_cpu_state(cpu)->icp, &mfrr); uint32_t xirr;
if (!icp) {
return H_PARAMETER;
}
xirr = icp_ipoll(icp, &mfrr);
args[0] = xirr; args[0] = xirr;
args[1] = mfrr; args[1] = mfrr;

View File

@ -755,7 +755,7 @@ static void pnv_chip_power9_intc_create(PnvChip *chip, PowerPCCPU *cpu,
* controller object is initialized afterwards. Hopefully, it's * controller object is initialized afterwards. Hopefully, it's
* only used at runtime. * only used at runtime.
*/ */
obj = xive_tctx_create(OBJECT(cpu), XIVE_ROUTER(&chip9->xive), errp); obj = xive_tctx_create(OBJECT(cpu), XIVE_ROUTER(&chip9->xive), &local_err);
if (local_err) { if (local_err) {
error_propagate(errp, local_err); error_propagate(errp, local_err);
return; return;

View File

@ -786,7 +786,7 @@ static const MemoryRegionOps pnv_psi_p9_xscom_ops = {
static void pnv_psi_power9_irq_set(PnvPsi *psi, int irq, bool state) static void pnv_psi_power9_irq_set(PnvPsi *psi, int irq, bool state)
{ {
uint32_t irq_method = psi->regs[PSIHB_REG(PSIHB9_INTERRUPT_CONTROL)]; uint64_t irq_method = psi->regs[PSIHB_REG(PSIHB9_INTERRUPT_CONTROL)];
if (irq > PSIHB9_NUM_IRQS) { if (irq > PSIHB9_NUM_IRQS) {
qemu_log_mask(LOG_GUEST_ERROR, "PSI: Unsupported irq %d\n", irq); qemu_log_mask(LOG_GUEST_ERROR, "PSI: Unsupported irq %d\n", irq);

View File

@ -1400,7 +1400,8 @@ static target_ulong h_register_process_table(PowerPCCPU *cpu,
else if (flags & FLAG_HASH_PROC_TBL) /* Hash with process tables */ else if (flags & FLAG_HASH_PROC_TBL) /* Hash with process tables */
update_lpcr |= LPCR_UPRT; update_lpcr |= LPCR_UPRT;
if (flags & FLAG_GTSE) /* Guest translation shootdown enable */ if (flags & FLAG_GTSE) /* Guest translation shootdown enable */
update_lpcr |= FLAG_GTSE; update_lpcr |= LPCR_GTSE;
spapr_set_all_lpcrs(update_lpcr, LPCR_UPRT | LPCR_HR | LPCR_GTSE); spapr_set_all_lpcrs(update_lpcr, LPCR_UPRT | LPCR_HR | LPCR_GTSE);
if (kvm_enabled()) { if (kvm_enabled()) {

View File

@ -1488,9 +1488,7 @@ static void spapr_pci_plug(HotplugHandler *plug_handler,
} }
out: out:
if (local_err) { error_propagate(errp, local_err);
error_propagate(errp, local_err);
}
} }
static void spapr_pci_unplug(HotplugHandler *plug_handler, static void spapr_pci_unplug(HotplugHandler *plug_handler,

Binary file not shown.

@ -1 +1 @@
Subproject commit e0ee24c27a172bcf482f6f2bc905e6211c134bcc Subproject commit 261ca8e779e5138869a45f174caa49be6a274501