lkml.org 
[lkml]   [2009]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [tip:x86/urgent] x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit
On 08/30/2009 04:43 AM, Borislav Petkov wrote:
> On Mon, Aug 24, 2009 at 11:44:30PM -0700, H. Peter Anvin wrote:
>> On 08/24/2009 10:52 PM, Borislav Petkov wrote:
>>> On Mon, Aug 24, 2009 at 01:34:07PM -0700, H. Peter Anvin wrote:
>>>> Looks reasonable... although part of me wonders if having a pointer to
>>>> an array containing the entire register file in and out is even better,
>>>> of if I'm just overengineering at this point.
>>> Hmm, let's have necessity determine that. I can only think of %edi being
>>> used as an input reg to rd/wrmsr beside %ecx but it could be very well
>>> that some other x86 hardware uses other regs too. Do we actually need
>>> all regs or a two should suffice?
>>>
>> Hard to know. In theory we shouldn't need ESI and EDI either!
>>
>> As I said, I wouldn't have worried about it at all if it wasn't for
>> paravirt_ops turning these things into ABIs.
>
> Ok, here's what I could come up with. It seems to work (tested only on a
> Fam10h box), it should cover all our msr needs for now and alleviate the
> need for adding yet another paravirt_ops member.
>

Looks good... there are a few minor tweaks to the assembly (in
particular, if we're going to do the single file with a macro then the
macro invocation should be outside the architecture #ifdef; second, I
realized a better implementation of the 64-bit code after I sent you the
email) but I can take care of this.

This is for .32, right?

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.



\
 
 \ /
  Last update: 2009-08-30 19:11    [W:0.094 / U:13.768 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site