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:
commit
86e2fca2d7
13
MAINTAINERS
13
MAINTAINERS
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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()) {
|
||||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user