lkml.org 
[lkml]   [2008]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/1] Speedfreq-SMI call clobbers ECX
Ingo Molnar wrote:
> * Stephan Diestelhorst <langer_mann@web.de> wrote:
>
>> @@ -184,7 +184,7 @@ static void speedstep_set_state (unsigne
>> __asm__ __volatile__(
>> "movl $0, %%edi\n"
>> "out %%al, (%%dx)\n"
>> - : "=b" (new_state), "=D" (result)
>> + : "=b" (new_state), "=D" (result), "=c" (ecx_clobber)
>> : "a" (command), "b" (function), "c" (state), "d" (smi_port), "S" (0)
>> );
>
> stupid suggestion: why not do a pusha/popa around those instructions, to
> make sure everything is restored? This isnt a fastpath and being
> conservative about SMI side-effects cannot hurt ...
>

You can't pusha/popa if you expect a result. You can, of course, push
and pop individual registers.

It's also kind of odd to do "movl $0,%%edi" instead of just setting EDI
as an input.

-hpa


\
 
 \ /
  Last update: 2008-03-05 17:09    [W:0.093 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site