This new i8k seems to work on my system.
=========================================
XX% /usr/bin/sensors
i8k-virtual-0
Adapter: Virtual device
Left Fan: 64650 RPM
Right Fan: 48390 RPM
emc6w201-i2c-0-2e
Adapter: SMBus I801 adapter at e8a0
Aux: +1.82 V (min = +1.64 V, max = +1.98 V)
CPU VCore: +1.26 V (min = +0.78 V, max = +1.70 V)
+3.3V: +3.33 V (min = +3.08 V, max = +3.52 V)
+5V: +5.10 V (min = +4.66 V, max = +5.34 V)
+12V: +12.06 V (min = +0.81 V, max = +12.81 V)
Chassis: 1613 RPM (min = 300 RPM)
CPU: 2153 RPM (min = 200 RPM)
CPU: +54.0 C (low = -127.0 C, high = +88.0 C)
Remote Diode 5: +48.0 C (low = -127.0 C, high = +75.0 C)
Mainboard: +44.0 C (low = -127.0 C, high = +80.0 C)
===============================================
The only entry in syslog as a result of the above is:
May 13 09:37:40 kahu kernel: [167232.194108] i8k: unable to get SMM BIOS
version
but that has occurred with all the i8k's I've tried.
Harry
On Fri, 13 May 2011 17:01:30 +0200 Jean Delvare wrote:
--- Begin Message ---
On Fri, 13 May 2011 14:48:01 +0200, Luca Tettamanti wrote:
> On Thu, May 12, 2011 at 05:49:44PM -0600, Harry G McGavran Jr wrote:
> > I went back through the logs to make sure there was nothing
> > about the latest i8k in them. Actually I found only ONE
> > line in syslog:
> >
> > May 11 11:07:12 XX kernel: [173400.479332] [<ffffffffa00613f2>]
> > i8k_hwmon_show_fan+0x32/0x40 [i8k]
>
> Ok, this is consistent with the hung program reported by Jeff, there's
> an error at kernel level while the sensor is being read.
>
> AMD64 Architecture Manual says that:
>
> (pushf) In 64-bit mode, this instruction defaults to a 64-bit operand
> size and there is no prefix available to encode a 32-bit operand size.
D'oh. I suspected something like this, but given that pushfq exists, I
assumed pushf had to be different. I guess I shouldn't have assumed...
>
> so my patch may be corrupting the stack. Lets try like this:
>
> diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c
> index d72433f..ee01716 100644
> --- a/drivers/char/i8k.c
> +++ b/drivers/char/i8k.c
> @@ -139,8 +139,8 @@ static int i8k_smm(struct smm_regs *regs)
> "movl %%edi,20(%%rax)\n\t"
> "popq %%rdx\n\t"
> "movl %%edx,0(%%rax)\n\t"
> - "lahf\n\t"
> - "shrl $8,%%eax\n\t"
> + "pushfq\n\t"
> + "popq %%rax\n\t"
> "andl $1,%%eax\n"
> :"=a"(rc)
> : "a"(regs)
>
>
> If it still doesn't work we should involve someone who actually has a
> clue about x86 asm ;)
Hopefully it will work OK this time. I've updated the driver at:
http://khali.linux-fr.org/devel/misc/i8k/
Harry, Jeff, care to try again? Thanks.
--
Jean Delvare
--- End Message ---
--
Harry G. McGavran, Jr.
E-mail: w5pny@xxxxxxxxx
_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors