From mboxrd@z Thu Jan 1 00:00:00 1970 From: Henrique de Moraes Holschuh Subject: Re: [PATCH 0/2] x86/microcode: support for microcode update in Xen dom0 Date: Wed, 2 Feb 2011 10:48:48 -0200 Message-ID: <20110202124848.GE9737__20464.1331838959$1296659519$gmane$org@khazad-dum.debian.net> References: <20110130113356.GA27967@liondog.tnic> <4D461FB9.5050807@goop.org> <20110131070241.GA22071@liondog.tnic> <4D46FC9F.6090309@goop.org> <20110131234131.GA16095@liondog.tnic> <4D475099.1080004@goop.org> <20110201110026.GA4739@liondog.tnic> <4D489348.90701@goop.org> <20110202095445.GA4761@liondog.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20110202095445.GA4761@liondog.tnic> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Borislav Petkov , Jeremy Fitzhardinge , "H. Peter Anvin" , Ingo Molnar , the arch/x86 maintainers , Linux List-Id: xen-devel@lists.xenproject.org On Wed, 02 Feb 2011, Borislav Petkov wrote: > Why would you need that? You can safely assume that the ucode patch > level on all cores across the system are identical - I've yet to see a No. You can safely assume that the ucode patch level on all cores on a package are identical, and that's it. Mixing processors with different processor flags (and thus potentially different microcode) is not uncommon. If it boots, it *will* be done, especially later in the product cycle, when specific spare parts are harder to come by. Sometimes you can even mix processors of different steppings. > mixed silicon systems is a large pain in the ass and you're better off > buying yourself a completely new system. Well, I have some of them at work. Mixed CPU steppings or processor flags happen when you expand the system later to fill in processor packages (reasonably common), or when you replace a CPU that is flaky (rare). This sort of mixing of different processors is really common on older Xeon systems, and most of them need OS-assisted microcode updates to get the latest microcode available. I am not arguing anything about the way Xen decided to go about implementing the feature, but they got the requirement "must pass through all the microcodes without removing any" right. It exists. > > However, even aside from that, it means exporting a pile of internal > > details from microcode_amd and reusing them within microcode_xen. And > > it requires that it be done again for each vendor. > > Why can't you load the appropriate, unmodified microcode_ module > in dom0 and let it call the hypercall? Or add a microcode_virtual passthrough device, for that matter. Wouldn't that be much cleaner and more palatable? -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh