From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x2240lHysbL/zKjQy19NEMDTLRLxxj5GATEPl1izFGgnXpRxeH3kKVBNYdgPhI/1ItqMpqVjr ARC-Seal: i=1; a=rsa-sha256; t=1516786469; cv=none; d=google.com; s=arc-20160816; b=jj64tl0db693amPN6C0zUCXQAoKwdlU+65aelS53OD+JUQFYSociSV0OYfYeql4/su dts5NmeuOlayfiXIYEHD47ZTYfBTPIHj3gv+WDO8wOk5VdRt1tHp+UziTsd5I4m8CRSQ M7JrYJTQHYbO3WXD/pJkz1wcCRFuHqVfYcUq5WqAM7kjLpl0eGM3iLL6bRHQcf/erRVH jmLPNUl+KHeKdkDiUNQGTXVnkwNPC+zz6LY2bHNndV6ynRSRNSw9JJ7ISgBXNwXrqqUB 4tlcM1NTrcH1wSajONFmqhRe7bbBsswH4T6Din9AfWozJTKL2zp4FvysHeFna1CVttGW vqFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=2lZIZo7xMeNFyoJCCoCuaJJg8I3MNnuHsqAc2Q1TQjk=; b=B0LMAq+0t0+kyO/+ionrTFvX/el8KfcesOsjoevB2/7oUMgbCWFchClPBS20yWMVpV QEJkVclcUtPTFykD0BgaJVhNnn18tRhCEGk04WsRVlsb53bx8NpII2T8QUt0vIG9zkYN g9TE8kSIU/Qh8fSDjvCXYv8iSpg9d7pyrbvroEVkdwxNG1H4pjkD98/Ek/76T+5HwpYQ LyLFjItq9NF7+4lRpzfbOu5DVb6U6c9oAUwRJhfH7OHlT9x7lX+CvkYybOf6TfHkJ7Ls KpKJbCvpJprXONqa6XjA0cHBLqMpDxReyn6FP2IaNgFJCIWKipOfiDQb2mOq1WAnWH48 q9NA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=merlin.20170209 header.b=PvYa2gl5; spf=pass (google.com: best guess record for domain of peterz@infradead.org designates 205.233.59.134 as permitted sender) smtp.mailfrom=peterz@infradead.org Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=merlin.20170209 header.b=PvYa2gl5; spf=pass (google.com: best guess record for domain of peterz@infradead.org designates 205.233.59.134 as permitted sender) smtp.mailfrom=peterz@infradead.org Date: Wed, 24 Jan 2018 10:34:01 +0100 From: Peter Zijlstra To: David Woodhouse Cc: Thomas Gleixner , KarimAllah Ahmed , linux-kernel@vger.kernel.org, Andi Kleen , Andrea Arcangeli , Andy Lutomirski , Arjan van de Ven , Ashok Raj , Asit Mallick , Borislav Petkov , Dan Williams , Dave Hansen , Greg Kroah-Hartman , "H . Peter Anvin" , Ingo Molnar , Janakarajan Natarajan , Joerg Roedel , Jun Nakajima , Laura Abbott , Linus Torvalds , Masami Hiramatsu , Paolo Bonzini , Radim =?utf-8?B?S3LEjW3DocWZ?= , Tim Chen , Tom Lendacky , kvm@vger.kernel.org, x86@kernel.org Subject: Re: [RFC 05/10] x86/speculation: Add basic IBRS support infrastructure Message-ID: <20180124093401.GO2228@hirez.programming.kicks-ass.net> References: <1516476182-5153-1-git-send-email-karahmed@amazon.de> <1516476182-5153-6-git-send-email-karahmed@amazon.de> <1516741116.13558.11.camel@infradead.org> <20180124084735.GM2228@hirez.programming.kicks-ass.net> <1516784541.13558.90.camel@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1516784541.13558.90.camel@infradead.org> User-Agent: Mutt/1.9.2 (2017-12-15) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590140581449802182?= X-GMAIL-MSGID: =?utf-8?q?1590465888541984003?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: > > > + for (i = 0; i < ARRAY_SIZE(spectre_bad_microcodes); i++) { > > > + if (c->x86_model == spectre_bad_microcodes[i].model && > > > +     c->x86_mask == spectre_bad_microcodes[i].stepping) > > > + return (c->microcode <= spectre_bad_microcodes[i].microcode); > > > + } > > > + return 0; > > > +} > > The above is Intel only, you should check vendor too I think. > > It's in intel.c, called from early_init_intel(). Isn't that sufficient? Duh, so much for reading skillz on my end ;-) > > > + pr_warn("Intel Spectre v2 broken microcode detected; disabling SPEC_CTRL\n"); > > > + clear_cpu_cap(c, X86_FEATURE_SPEC_CTRL); > > > + clear_cpu_cap(c, X86_FEATURE_STIBP); > > > + clear_cpu_cap(c, X86_FEATURE_AMD_SPEC_CTRL); > > > + clear_cpu_cap(c, X86_FEATURE_AMD_PRED_CMD); > > > + clear_cpu_cap(c, X86_FEATURE_AMD_STIBP); > > > + } > > And since its Intel only, what are those AMD features doing there? > > Hypervisors which only want to expose PRED_CMD may do so using the AMD > feature bit. SPEC_CTRL requires save/restore and live migration > support, and isn't needed with retpoline anyway (since guests won't be > calling directly into firmware). Egads, I suppose that makes some sense, but it does make a horrible muddle of things.