[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