[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140203113001.2433a77c@mantra.us.oracle.com>
Date: Mon, 3 Feb 2014 11:30:01 -0800
From: Mukesh Rathor <mukesh.rathor@...cle.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
Cc: boris.ostrovsky@...cle.com, david.vrabel@...rix.com,
roger.pau@...rix.com, Xen-devel@...ts.xensource.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] pvh: set cr4 flags for APs
On Mon, 3 Feb 2014 06:49:14 -0500
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com> wrote:
> On Wed, Jan 29, 2014 at 04:15:18PM -0800, Mukesh Rathor wrote:
> > We need to set cr4 flags for APs that are already set for BSP.
>
> The title is missing the 'xen' part.
The patch is for linux, not xen.
> I rewrote it a bit and I think this should go in 3.14.
>
> David, Boris: It is not the full fix as there are other parts to
> make an PVH guest use 2MB or 1GB pages- but this fixes an obvious
> bug.
>
>
>
> From 797ea6812ff0a90cce966a4ff6bad57cbadc43b5 Mon Sep 17 00:00:00 2001
> From: Mukesh Rathor <mukesh.rathor@...cle.com>
> Date: Wed, 29 Jan 2014 16:15:18 -0800
> Subject: [PATCH] xen/pvh: set CR4 flags for APs
>
> The Xen ABI sets said flags for the BSP, but it does
NO it does not. I said it few times, it's set by probe_page_size_mask
(which is in linux) for the BSP. The comment below also says it.
thanks
mukesh
> not do that for the CR4. As such fix it up to make
> sure we have that flag set.
>
> Signed-off-by: Mukesh Rathor <mukesh.rathor@...cle.com>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
> ---
> arch/x86/xen/enlighten.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> index a4d7b64..201d09a 100644
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -1473,6 +1473,18 @@ static void xen_pvh_set_cr_flags(int cpu)
> * X86_CR0_TS, X86_CR0_PE, X86_CR0_ET are set by Xen for HVM
> guests
> * (which PVH shared codepaths), while X86_CR0_PG is for
> PVH. */ write_cr0(read_cr0() | X86_CR0_MP | X86_CR0_NE | X86_CR0_WP |
> X86_CR0_AM); +
> + if (!cpu)
> + return;
> + /*
> + * For BSP, PSE PGE are set in probe_page_size_mask(), for
> APs
> + * set them here. For all, OSFXSR OSXMMEXCPT are set in
> fpu_init.
> + */
> + if (cpu_has_pse)
> + set_in_cr4(X86_CR4_PSE);
> +
> + if (cpu_has_pge)
> + set_in_cr4(X86_CR4_PGE);
> }
>
> /*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists