[tlinux-users:08146] Re: New release of omnibook module soon: testing welcome

Mathieu Bérard <[email protected]>
Newsgroups gmane.linux.hardware.toshiba
Message-ID <[email protected]>
Holger Nelson a écrit :
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Tue, 12 Sep 2006, Mathieu Bérard wrote:
>
>   
>> Holger Nelson a écrit :
>>     
>> One word: Thanks
>> One more fix like that an you have SVN commit access.
>>
>> Could you please try this and check it doesn't introduce
>> any regression:
>>     
>
> It works, but I doubt it does what you really want:
> The disassembly of your code shows:
> intel_do_smi_call():
> /home/crius/download/xx/xxxx/trunk/nbsmi.c:153
>  3c2:   89 f0                   mov    %esi,%eax
>  3c4:   9c                      pushf
>  3c5:   60                      pusha
>  3c6:   66 e7 b2                out    %ax,$0xb2
>  3c9:   66 83 f8 00             cmp    $0x0,%ax
>  3cd:   74 08                   je     3d7 <nbsmi_smi_command+0xad>
>  3cf:   c7 44 24 0c fb ff ff    movl   $0xfffffffb,0xc(%esp)
>  3d6:   ff
>  3d7:   61                      popa
>  3d8:   9d                      popf
>
> Looking at the stack at 3cf will show something like (I dont know the 
> stack-layout of pusha/popa nor exactly which registers get saved so I just 
> guess as I am to lazy to look it up. ;-) )
>   
My bad I have wrongly implicitly assumed that gcc was aware of
the push/pop operations in inline asm.
>
> While I am at it another simple fix against R166:
> As the structs are put on stack we cannot know that they are initialized 
> with 0 so we need to initialize the used fields ourself.
>   
D'oh! the code is full of this pattern, I will audit all of them.


-- 
Mathieu
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.