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