| From: Juergen Gross <jgross@suse.com> |
| Date: Thu, 21 Jun 2018 10:43:31 +0200 |
| Subject: x86/xen: Add call of speculative_store_bypass_ht_init() to PV paths |
| |
| commit 74899d92e66663dc7671a8017b3146dcd4735f3b upstream. |
| |
| Commit: |
| |
| 1f50ddb4f418 ("x86/speculation: Handle HT correctly on AMD") |
| |
| ... added speculative_store_bypass_ht_init() to the per-CPU initialization sequence. |
| |
| speculative_store_bypass_ht_init() needs to be called on each CPU for |
| PV guests, too. |
| |
| Reported-by: Brian Woods <brian.woods@amd.com> |
| Tested-by: Brian Woods <brian.woods@amd.com> |
| Signed-off-by: Juergen Gross <jgross@suse.com> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Cc: boris.ostrovsky@oracle.com |
| Cc: xen-devel@lists.xenproject.org |
| Fixes: 1f50ddb4f4189243c05926b842dc1a0332195f31 ("x86/speculation: Handle HT correctly on AMD") |
| Link: https://lore.kernel.org/lkml/20180621084331.21228-1-jgross@suse.com |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| [bwh: Backported to 3.16: adjust filename, context] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| arch/x86/xen/smp_pv.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/arch/x86/xen/smp.c |
| +++ b/arch/x86/xen/smp.c |
| @@ -27,6 +27,7 @@ |
| #include <xen/interface/xen.h> |
| #include <xen/interface/vcpu.h> |
| |
| +#include <asm/spec-ctrl.h> |
| #include <asm/xen/interface.h> |
| #include <asm/xen/hypercall.h> |
| |
| @@ -83,6 +84,8 @@ static void cpu_bringup(void) |
| cpu_data(cpu).x86_max_cores = 1; |
| set_cpu_sibling_map(cpu); |
| |
| + speculative_store_bypass_ht_init(); |
| + |
| xen_setup_cpu_clockevents(); |
| |
| notify_cpu_starting(cpu); |
| @@ -334,6 +337,8 @@ static void __init xen_smp_prepare_cpus( |
| } |
| set_cpu_sibling_map(0); |
| |
| + speculative_store_bypass_ht_init(); |
| + |
| if (xen_smp_intr_init(0)) |
| BUG(); |
| |