[PATCH 6/6] powerpc/booke64: restore VDSO information on critical exception
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Sep 5 15:38:32 EST 2012
On Mon, 2012-08-06 at 16:27 +0300, Mihai Caraman wrote:
> Critical exception handler on 64-bit booke uses user-visible SPRG3 as scratch.
> Restore VDSO information in SPRG3 on exception prolog.
Breaks the build on !BOOKE because of :
> diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
> index b67db22..a0b0d08 100644
> --- a/arch/powerpc/kernel/vdso.c
> +++ b/arch/powerpc/kernel/vdso.c
> @@ -725,6 +725,8 @@ int __cpuinit vdso_getcpu_init(void)
> mtspr(SPRN_SPRG3, val);
> #ifdef CONFIG_KVM_BOOK3S_HANDLER
> get_paca()->kvm_hstate.sprg3 = val;
> +#elif CONFIG_PPC_BOOK3E
^^^^
You can't "#elif" a CONFIG option.
> + get_paca()->sprg3 = val;
> #endif
>
> put_cpu();
Now, my suggestion is to actually move the bloody thing out of
kvm_hstate on server as well, just make it a common "sprg3" field
accross the board.
I'm dropping this one patch (the other ones seem fine so far and will
land in next soon unless I find another problem).
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list