On 14.03.2013, at 02:53, David Gibson wrote: > target-ppc/kvm.c has an #ifdef on CONFIG_PSERIES, for the handling of > KVM exits due to a PAPR hypercall from the guest. However, since commit > e4c8b28cde12d01ada8fe869567dc5717a2dfcb7 "ppc: express FDT dependency of > pSeries and e500 boards via default-configs/", this hasn't worked properly. > That patch altered the configuration setup so that although CONFIG_PSERIES > is visible from the Makefiles, it is not visible from C files. This broke > the pseries machine when KVM is in use. > > This patch makes a quick and dirty fix, by removing the CONFIG_PSERIES > dependency, replacing it with TARGET_PPC64 (since removing it entirely > leads to type mismatch errors). Technically this breaks the build when > configured with --disable-fdt, since that disables CONFIG_PSERIES on > TARGET_PPC64. However, it turns out the build was already broken in that > case, so this fixes pseries kvm without breaking anything extra. I'm > looking into how to fix that build breakage, but I don't think that need > delay applying this patch.
The proper way to fix this is to have dtc be a submodule (see patches on the ML) and simply require it for the PPC build. > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> Thanks, applied to ppc-next. > --- > target-ppc/kvm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c > index eaa11a1..72d5398 100644 > --- a/target-ppc/kvm.c > +++ b/target-ppc/kvm.c > @@ -1193,7 +1193,7 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run > *run) > dprintf("handle halt\n"); > ret = kvmppc_handle_halt(env); > break; > -#ifdef CONFIG_PSERIES > +#if defined(TARGET_PPC64) > case KVM_EXIT_PAPR_HCALL: > dprintf("handle PAPR hypercall\n"); > run->papr_hcall.ret = spapr_hypercall(cpu, > -- > 1.7.10.4 >