On Fri, Jul 14, 2017 at 06:13:58PM +0200, Cédric Le Goater wrote: > But when a guest initializes radix mode, it issues a H_REGISTER_PROC_TBL > to update the LPCR of all CPUs. Hot-plugged CPUs inherit from the same > setting under KVM but not under TCG. So, Let's check for radix and update > the default LPCR to keep new CPUs in sync. > > Signed-off-by: Cédric Le Goater <c...@kaod.org>
Applied to ppc-for-2.10, thanks. > --- > target/ppc/translate_init.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c > index 8b9807665dd5..8776e9b0f8fa 100644 > --- a/target/ppc/translate_init.c > +++ b/target/ppc/translate_init.c > @@ -9014,8 +9014,16 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu, > PPCVirtualHypervisor *vhyp) > /* By default we choose legacy mode and switch to new hash or radix > * when a register process table hcall is made. So disable process > * tables and guest translation shootdown by default > + * > + * Hot-plugged CPUs inherit from the guest radix setting under > + * KVM but not under TCG. Update the default LPCR to keep new > + * CPUs in sync when radix is enabled. > */ > - lpcr->default_value &= ~(LPCR_UPRT | LPCR_GTSE); > + if (ppc64_radix_guest(cpu)) { > + lpcr->default_value |= LPCR_UPRT | LPCR_GTSE; > + } else { > + lpcr->default_value &= ~(LPCR_UPRT | LPCR_GTSE); > + } > lpcr->default_value |= LPCR_PDEE | LPCR_HDEE | LPCR_EEE | LPCR_DEE | > LPCR_OEE; > break; -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature