i8k module and x86_64 kernel

Dave Jones davej at redhat.com
Thu Nov 9 22:57:34 UTC 2006


On Thu, Nov 09, 2006 at 11:41:30PM +0100, Marcel J.E. Mol wrote:
 > On Thu, Nov 09, 2006 at 04:45:13PM -0500, Dave Jones wrote:
 > > On Thu, Nov 09, 2006 at 02:49:11PM +0100, Marcel J.E. Mol wrote:
 > > 
 > >  > I forced compilation of the driver for x86_64 and the basic part seems to
 > >  > work, but it oopses on the small bit of assembly code in the i8k_smm function
 > >  > of the driver:
 > > 
 > > I'm surprised you got it to build in 64bit at all.  It's 32bit assembly,
 > > which isn't going to dtrt in a 64bit kernel.  Secondly, SMM is very very
 > > magical code that has to be done correctly for the CPU its targetting
 > > otherwise it'll just go bang instantly.
 > 
 > Well, it build after changing the pushl and popl into pushq and popq
 > (and changing the register names to 64 bit versions). But although this
 > first attempt got me a insmoddable module, it crashes. I looked a bit further
 > into it and have working version running for a couple of hours now.
 > It at least show me the fan status and speeds.
 > Patch attached. I'm not really into assembly and am not sure if
 > it is all correct, so if it is usefull maybe someone can check it for
 > validity.

Heh. I was about to suggest you send this to the upstream i8k maintainer,
then I realised who you are :-)

It looks like valid assembly to me, but as for whether its doing the right
thing, I've no idea due to the lack of specs. I guess only Dell can answer
for sure.  Though if it works, I guess that's a good sign :)

		Dave


-- 
http://www.codemonkey.org.uk




More information about the users mailing list