Re: 2.2.18: apm initialised before dmi_scan?

2001-01-31 Thread Neale Banks

On Tue, 30 Jan 2001, Keith Owens wrote:

> >If this implies that apm is initialised *before* the dmi_scan then there
> >is potentially a problem with buggy BIOSen that oops instead of reporting
> >power status
> 
> This should fix the link order, at the (small) expense of compiling
> dmi_scan for exported symbols, even though it does not really export
> symbols.  Against 2.2.18.
> 
> Index: 18.1/arch/i386/kernel/Makefile
> --- 18.1/arch/i386/kernel/Makefile Thu, 23 Nov 2000 11:48:07 +1100 kaos 
>(linux-2.2/E/b/40_Makefile 1.1.4.4 644)
> +++ 18.2(w)/arch/i386/kernel/Makefile Tue, 30 Jan 2001 23:47:17 +1100 kaos 
>(linux-2.2/E/b/40_Makefile 1.1.4.4 644)
> @@ -15,8 +15,8 @@ all: kernel.o head.o init_task.o
>  O_TARGET := kernel.o
>  O_OBJS   := process.o signal.o entry.o traps.o irq.o vm86.o \
>  ptrace.o ioport.o ldt.o setup.o time.o sys_i386.o \
> - bluesmoke.o dmi_scan.o
> -OX_OBJS  := i386_ksyms.o
> + bluesmoke.o
> +OX_OBJS  := i386_ksyms.o dmi_scan.o
>  MX_OBJS  :=
>  
>  ifdef CONFIG_PCI

Thanks Keith - works nicely.

If this is a correct and justifiable fix for 2.2 then in 2.4 should
dmi_scan.o be included in export-objs?  Or is there a "better" way of
doing this?

Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18: apm initialised before dmi_scan?

2001-01-31 Thread Neale Banks

On Tue, 30 Jan 2001, Keith Owens wrote:

 If this implies that apm is initialised *before* the dmi_scan then there
 is potentially a problem with buggy BIOSen that oops instead of reporting
 power status
 
 This should fix the link order, at the (small) expense of compiling
 dmi_scan for exported symbols, even though it does not really export
 symbols.  Against 2.2.18.
 
 Index: 18.1/arch/i386/kernel/Makefile
 --- 18.1/arch/i386/kernel/Makefile Thu, 23 Nov 2000 11:48:07 +1100 kaos 
(linux-2.2/E/b/40_Makefile 1.1.4.4 644)
 +++ 18.2(w)/arch/i386/kernel/Makefile Tue, 30 Jan 2001 23:47:17 +1100 kaos 
(linux-2.2/E/b/40_Makefile 1.1.4.4 644)
 @@ -15,8 +15,8 @@ all: kernel.o head.o init_task.o
  O_TARGET := kernel.o
  O_OBJS   := process.o signal.o entry.o traps.o irq.o vm86.o \
  ptrace.o ioport.o ldt.o setup.o time.o sys_i386.o \
 - bluesmoke.o dmi_scan.o
 -OX_OBJS  := i386_ksyms.o
 + bluesmoke.o
 +OX_OBJS  := i386_ksyms.o dmi_scan.o
  MX_OBJS  :=
  
  ifdef CONFIG_PCI

Thanks Keith - works nicely.

If this is a correct and justifiable fix for 2.2 then in 2.4 should
dmi_scan.o be included in export-objs?  Or is there a "better" way of
doing this?

Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



2.2.18: apm initialised before dmi_scan?

2001-01-30 Thread Neale Banks

Hi Stephen,

Looking more closely at a 2.2.18 bootup tonight I see that apm stuff
appears in dmesg before dmi_scan does (I added "#define DUMP_DMI" in
dmi_scan.c).

If this implies that apm is initialised *before* the dmi_scan then there
is potentially a problem with buggy BIOSen that oops instead of reporting
power status, given:

* passing the boot-parameter apm=debug causes a power status report as apm
is initialised

* dmi_scan is identifying at least one machine that oopses when the power
status report BIOS call is invoked.

... so with a buggy BIOS and "apm=debug" it's vital that the dmi_scan is
completed *before* apm is initialised - which is not what I am seeing with
2.2.18 (nor can I see where the order of such things is set).  The test
would be to boot a buggy Dell with "apm=debug" (and "#define DUMP_DMI" in
dmi_scan.c - but if my theory is right it won't get that far) and watch
for smoke leakage.

I think it's obvious that this would all go away if apm is a module (as it
can be with 2.4).

Regards,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



2.2.18: apm initialised before dmi_scan?

2001-01-30 Thread Neale Banks

Hi Stephen,

Looking more closely at a 2.2.18 bootup tonight I see that apm stuff
appears in dmesg before dmi_scan does (I added "#define DUMP_DMI" in
dmi_scan.c).

If this implies that apm is initialised *before* the dmi_scan then there
is potentially a problem with buggy BIOSen that oops instead of reporting
power status, given:

* passing the boot-parameter apm=debug causes a power status report as apm
is initialised

* dmi_scan is identifying at least one machine that oopses when the power
status report BIOS call is invoked.

... so with a buggy BIOS and "apm=debug" it's vital that the dmi_scan is
completed *before* apm is initialised - which is not what I am seeing with
2.2.18 (nor can I see where the order of such things is set).  The test
would be to boot a buggy Dell with "apm=debug" (and "#define DUMP_DMI" in
dmi_scan.c - but if my theory is right it won't get that far) and watch
for smoke leakage.

I think it's obvious that this would all go away if apm is a module (as it
can be with 2.4).

Regards,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-12 Thread Neale Banks

On Wed, 13 Dec 2000, Alan Cox wrote:

> > (3) modifies the output of /proc/apm when power status reporting is
> > disabled - on reflection, maybe this wasn't such a smart thing to do
> > (could royally stuff anybody who is automagically parsing /proc/apm?)
> 
> Please dont - it correctly reports 'dunno' right now

OK, (yet another) diff attached, against 2.2.18.

Neale.


diff -ur -x .config linux-2.2.18-orig/Documentation/Configure.help 
linux-2.2.18/Documentation/Configure.help
--- linux-2.2.18-orig/Documentation/Configure.help  Mon Dec 11 11:49:41 2000
+++ linux-2.2.18/Documentation/Configure.help   Wed Dec 13 13:36:54 2000
@@ -10298,6 +10298,18 @@
   a work-around for a number of buggy BIOSes. Switch this option on if
   your computer crashes instead of powering off properly.
 
+Buggy battery status reporting
+CONFIG_APM_ASHES_NOTEBIOS
+  Currently disables power status reporting - for buggy BIOS which
+  (a) oopses on reading from /proc/apm and (b) does NOT have DMI.
+  (AcerNote-950 with Phoenix NoteBIOS 1994).
+  In future, this setting might invoke a bug-workaround.
+  
+  Note that if the machine has DMI then the BIOS version should be
+  automagically detectable and this workaround automated.  Send the DMI
+  strings printed at boot-time with any report if this is not happening
+  (or try patching arch/i386/kernel/dmi_scan.c).
+
 Watchdog Timer Support 
 CONFIG_WATCHDOG
   If you say Y here (and to one of the following options) and create a
diff -ur -x .config linux-2.2.18-orig/arch/i386/config.in 
linux-2.2.18/arch/i386/config.in
--- linux-2.2.18-orig/arch/i386/config.in   Mon Dec 11 11:49:41 2000
+++ linux-2.2.18/arch/i386/config.inWed Dec 13 13:36:54 2000
@@ -116,6 +116,7 @@
   bool '   RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
   bool '   Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
   bool '   Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
+  bool '   Buggy power status reporting' CONFIG_APM_ASHES_NOTEBIOS
 fi
 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
 
diff -ur -x .config linux-2.2.18-orig/arch/i386/kernel/apm.c 
linux-2.2.18/arch/i386/kernel/apm.c
--- linux-2.2.18-orig/arch/i386/kernel/apm.cMon Dec 11 11:49:41 2000
+++ linux-2.2.18/arch/i386/kernel/apm.c Wed Dec 13 13:40:23 2000
@@ -130,6 +130,9 @@
  * is now the way life works). 
  * Fix thinko in suspend() (wrong return).
  *   1.13ac: Added apm_battery_horked() for Compal boards (Dell 5000e etc)
+ *   1.13ac-nb: WIP: AcerNote-950 oops on reading /proc/apm
+ * Try disabling power status reporting.
+ * Neale Banks <[EMAIL PROTECTED]>
  *
  * APM 1.1 Reference:
  *
@@ -211,6 +214,8 @@
  * P: Toshiba 1950S: battery life information only gets updated after resume
  * P: Midwest Micro Soundbook Elite DX2/66 monochrome: screen blanking
  * broken in BIOS [Reported by Garst R. Reese <[EMAIL PROTECTED]>]
+ * ?: AcerNote-950: oops on reading /proc/apm - workaround is a WIP
+ * Neale Banks <[EMAIL PROTECTED]> December 2000
  *
  * Legend: U = unusable with APM patches
  * P = partially usable with APM patches
@@ -327,6 +332,11 @@
 static int power_off_enabled = 1;
 #endif
 static int dell_crap = 0;  /*Set if we find a 5000e */
+#ifdef CONFIG_APM_ASHES_NOTEBIOS
+static int ashes_notebios = 1; /*Set by configure*/
+#else
+static int ashes_notebios = 0; /* Default to OK */
+#endif
 
 static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
 static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
@@ -658,6 +668,14 @@
u32 edx;
u32 dummy;
 
+   /* Catch cases of known buggy BIOSen */
+   if (dell_crap || ashes_notebios) {
+   *status = *bat = *life = 0x;
+   /* not sure of the _best_ code to return here.
+  For now, APM_DISABLED will have to do  */
+   return APM_DISABLED;
+   }
+
if (apm_bios_call(APM_FUNC_GET_STATUS, APM_DEVICE_ALL, 0,
, , , , ))
return (eax >> 8) & 0xff;
@@ -1272,7 +1290,7 @@
 
p = buf;
 
-   if ((smp_num_cpus == 1) && (!dell_crap) && 
+   if ((smp_num_cpus == 1) &&
!(error = apm_get_power_status(, , ))) {
ac_line_status = (bx >> 8) & 0xff;
battery_status = bx & 0xff;
@@ -1492,6 +1510,9 @@
(apm_bios_info.version & 0xff),
apm_bios_info.flags,
driver_version);
+   if (dell_crap || ashes_notebios) {
+   printk(KERN_INFO "apm: power status reporting disabled\n");
+   }
if ((apm_bios_info.flags & APM_32_BIT_SUPPORT) == 0) {
printk(KERN_INFO "apm: no 32 bit BIOS support\n");
return -ENODEV;



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-12 Thread Neale Banks

On Tue, 12 Dec 2000, Neale Banks wrote:

[...]
> New diff to follow, hopefully tomorrow.

New diff against unmolested 2.2.18pre24 (appears to apply cleanly to
2.2.18 also) is attached.

Main points:

(1) adds a configure item for buggy BIOS (i.e. that can't be automagically
detected).

(2) catches the case of booting with boot-parameter apm=debug (previously
this could cause a fatal oops during the boot)

(3) modifies the output of /proc/apm when power status reporting is
disabled - on reflection, maybe this wasn't such a smart thing to do
(could royally stuff anybody who is automagically parsing /proc/apm?)

Neale.


diff -ur -x *.ntb? -x .config linux-2.2.18pre24-orig/Documentation/Configure.help 
linux-2.2.18pre24/Documentation/Configure.help
--- linux-2.2.18pre24-orig/Documentation/Configure.help Tue Dec 12 11:39:51 2000
+++ linux-2.2.18pre24/Documentation/Configure.help  Wed Dec 13 09:34:56 2000
@@ -10295,6 +10295,18 @@
   a work-around for a number of buggy BIOSes. Switch this option on if
   your computer crashes instead of powering off properly.
 
+Buggy battery status reporting
+CONFIG_APM_ASHES_NOTEBIOS
+  Currently disables power status reporting - for buggy BIOS which
+  (a) oopses on reading from /proc/apm and (b) does NOT have DMI.
+  (AcerNote-950 with Phoenix NoteBIOS 1994).
+  In future, this setting might invoke a bug-workaround.
+  
+  Note that if the machine has DMI then the BIOS version should be
+  automagically detectable and this workaround automated.  Send the DMI
+  strings printed at boot-time with any report if this is not happening
+  (or try patching arch/i386/kernel/dmi_scan.c).
+
 Watchdog Timer Support 
 CONFIG_WATCHDOG
   If you say Y here (and to one of the following options) and create a
diff -ur -x *.ntb? -x .config linux-2.2.18pre24-orig/arch/i386/config.in 
linux-2.2.18pre24/arch/i386/config.in
--- linux-2.2.18pre24-orig/arch/i386/config.in  Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/config.in   Wed Dec 13 09:35:21 2000
@@ -116,6 +116,7 @@
   bool '   RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
   bool '   Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
   bool '   Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
+  bool '   Buggy power status reporting' CONFIG_APM_ASHES_NOTEBIOS
 fi
 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
 
diff -ur -x *.ntb? -x .config linux-2.2.18pre24-orig/arch/i386/kernel/apm.c 
linux-2.2.18pre24/arch/i386/kernel/apm.c
--- linux-2.2.18pre24-orig/arch/i386/kernel/apm.c   Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/kernel/apm.cWed Dec 13 10:32:55 2000
@@ -130,6 +130,9 @@
  * is now the way life works). 
  * Fix thinko in suspend() (wrong return).
  *   1.13ac: Added apm_battery_horked() for Compal boards (Dell 5000e etc)
+ *   1.13ac-nb: WIP: AcerNote-950 oops on reading /proc/apm
+ * Try disabling power status reporting.
+ *     Neale Banks <[EMAIL PROTECTED]>
  *
  * APM 1.1 Reference:
  *
@@ -211,6 +214,8 @@
  * P: Toshiba 1950S: battery life information only gets updated after resume
  * P: Midwest Micro Soundbook Elite DX2/66 monochrome: screen blanking
  * broken in BIOS [Reported by Garst R. Reese <[EMAIL PROTECTED]>]
+ * ?: AcerNote-950: oops on reading /proc/apm - workaround is a WIP
+ * Neale Banks <[EMAIL PROTECTED]> December 2000
  *
  * Legend: U = unusable with APM patches
  * P = partially usable with APM patches
@@ -327,6 +332,11 @@
 static int power_off_enabled = 1;
 #endif
 static int dell_crap = 0;  /*Set if we find a 5000e */
+#ifdef CONFIG_APM_ASHES_NOTEBIOS
+static int ashes_notebios = 1; /*Set by configure*/
+#else
+static int ashes_notebios = 0; /* Default to OK */
+#endif
 
 static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
 static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
@@ -658,6 +668,14 @@
u32 edx;
u32 dummy;
 
+   /* Catch cases of known buggy BIOSen */
+   if (dell_crap || ashes_notebios) {
+   *status = *bat = *life = 0x;
+   /* not sure of the _best_ code to return here.
+  For now, APM_DISABLED will have to do  */
+   return APM_DISABLED;
+   }
+
if (apm_bios_call(APM_FUNC_GET_STATUS, APM_DEVICE_ALL, 0,
, , , , ))
return (eax >> 8) & 0xff;
@@ -1272,7 +1290,7 @@
 
p = buf;
 
-   if ((smp_num_cpus == 1) && (!dell_crap) && 
+   if ((smp_num_cpus == 1) &&
!(error = apm_get_power_status(, , ))) {
ac_line_status = (bx >> 8) & 0xff;
battery_status = bx & 0xff;
@@ -1325,7 +1343,9 @@
  -1: Unknown
   8) min = minutes; se

Re: 2.2.18pre21 oops reading /proc/apm

2000-12-12 Thread Neale Banks

On Tue, 12 Dec 2000, Neale Banks wrote:

[...]
> Diff against unmolested 2.2.18pre24 is attached.

Hold that one, I just found another case I haven't covered: booting with
apm=debug causes oops and nukes the bootup.  Reading the source, I can't
see how this doesn't also affect the "dell_crap" case too.

New diff to follow, hopefully tomorrow.

Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-12 Thread Neale Banks

On Tue, 12 Dec 2000, Neale Banks wrote:

[...]
 Diff against unmolested 2.2.18pre24 is attached.

Hold that one, I just found another case I haven't covered: booting with
apm=debug causes oops and nukes the bootup.  Reading the source, I can't
see how this doesn't also affect the "dell_crap" case too.

New diff to follow, hopefully tomorrow.

Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-12 Thread Neale Banks

On Tue, 12 Dec 2000, Neale Banks wrote:

[...]
 New diff to follow, hopefully tomorrow.

New diff against unmolested 2.2.18pre24 (appears to apply cleanly to
2.2.18 also) is attached.

Main points:

(1) adds a configure item for buggy BIOS (i.e. that can't be automagically
detected).

(2) catches the case of booting with boot-parameter apm=debug (previously
this could cause a fatal oops during the boot)

(3) modifies the output of /proc/apm when power status reporting is
disabled - on reflection, maybe this wasn't such a smart thing to do
(could royally stuff anybody who is automagically parsing /proc/apm?)

Neale.


diff -ur -x *.ntb? -x .config linux-2.2.18pre24-orig/Documentation/Configure.help 
linux-2.2.18pre24/Documentation/Configure.help
--- linux-2.2.18pre24-orig/Documentation/Configure.help Tue Dec 12 11:39:51 2000
+++ linux-2.2.18pre24/Documentation/Configure.help  Wed Dec 13 09:34:56 2000
@@ -10295,6 +10295,18 @@
   a work-around for a number of buggy BIOSes. Switch this option on if
   your computer crashes instead of powering off properly.
 
+Buggy battery status reporting
+CONFIG_APM_ASHES_NOTEBIOS
+  Currently disables power status reporting - for buggy BIOS which
+  (a) oopses on reading from /proc/apm and (b) does NOT have DMI.
+  (AcerNote-950 with Phoenix NoteBIOS 1994).
+  In future, this setting might invoke a bug-workaround.
+  
+  Note that if the machine has DMI then the BIOS version should be
+  automagically detectable and this workaround automated.  Send the DMI
+  strings printed at boot-time with any report if this is not happening
+  (or try patching arch/i386/kernel/dmi_scan.c).
+
 Watchdog Timer Support 
 CONFIG_WATCHDOG
   If you say Y here (and to one of the following options) and create a
diff -ur -x *.ntb? -x .config linux-2.2.18pre24-orig/arch/i386/config.in 
linux-2.2.18pre24/arch/i386/config.in
--- linux-2.2.18pre24-orig/arch/i386/config.in  Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/config.in   Wed Dec 13 09:35:21 2000
@@ -116,6 +116,7 @@
   bool '   RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
   bool '   Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
   bool '   Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
+  bool '   Buggy power status reporting' CONFIG_APM_ASHES_NOTEBIOS
 fi
 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
 
diff -ur -x *.ntb? -x .config linux-2.2.18pre24-orig/arch/i386/kernel/apm.c 
linux-2.2.18pre24/arch/i386/kernel/apm.c
--- linux-2.2.18pre24-orig/arch/i386/kernel/apm.c   Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/kernel/apm.cWed Dec 13 10:32:55 2000
@@ -130,6 +130,9 @@
  * is now the way life works). 
  * Fix thinko in suspend() (wrong return).
  *   1.13ac: Added apm_battery_horked() for Compal boards (Dell 5000e etc)
+ *   1.13ac-nb: WIP: AcerNote-950 oops on reading /proc/apm
+ * Try disabling power status reporting.
+ * Neale Banks [EMAIL PROTECTED]
  *
  * APM 1.1 Reference:
  *
@@ -211,6 +214,8 @@
  * P: Toshiba 1950S: battery life information only gets updated after resume
  * P: Midwest Micro Soundbook Elite DX2/66 monochrome: screen blanking
  * broken in BIOS [Reported by Garst R. Reese [EMAIL PROTECTED]]
+ * ?: AcerNote-950: oops on reading /proc/apm - workaround is a WIP
+ * Neale Banks [EMAIL PROTECTED] December 2000
  *
  * Legend: U = unusable with APM patches
  * P = partially usable with APM patches
@@ -327,6 +332,11 @@
 static int power_off_enabled = 1;
 #endif
 static int dell_crap = 0;  /*Set if we find a 5000e */
+#ifdef CONFIG_APM_ASHES_NOTEBIOS
+static int ashes_notebios = 1; /*Set by configure*/
+#else
+static int ashes_notebios = 0; /* Default to OK */
+#endif
 
 static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
 static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
@@ -658,6 +668,14 @@
u32 edx;
u32 dummy;
 
+   /* Catch cases of known buggy BIOSen */
+   if (dell_crap || ashes_notebios) {
+   *status = *bat = *life = 0x;
+   /* not sure of the _best_ code to return here.
+  For now, APM_DISABLED will have to do  */
+   return APM_DISABLED;
+   }
+
if (apm_bios_call(APM_FUNC_GET_STATUS, APM_DEVICE_ALL, 0,
eax, ebx, ecx, edx, dummy))
return (eax  8)  0xff;
@@ -1272,7 +1290,7 @@
 
p = buf;
 
-   if ((smp_num_cpus == 1)  (!dell_crap)  
+   if ((smp_num_cpus == 1) 
!(error = apm_get_power_status(bx, cx, dx))) {
ac_line_status = (bx  8)  0xff;
battery_status = bx  0xff;
@@ -1325,7 +1343,9 @@
  -1: Unknown
   8) min = minutes; sec = seconds */
 
-   p += sprintf(p, "%s %d.%d 0x%02x 0

Re: 2.2.18pre21 oops reading /proc/apm

2000-12-12 Thread Neale Banks

On Wed, 13 Dec 2000, Alan Cox wrote:

  (3) modifies the output of /proc/apm when power status reporting is
  disabled - on reflection, maybe this wasn't such a smart thing to do
  (could royally stuff anybody who is automagically parsing /proc/apm?)
 
 Please dont - it correctly reports 'dunno' right now

OK, (yet another) diff attached, against 2.2.18.

Neale.


diff -ur -x .config linux-2.2.18-orig/Documentation/Configure.help 
linux-2.2.18/Documentation/Configure.help
--- linux-2.2.18-orig/Documentation/Configure.help  Mon Dec 11 11:49:41 2000
+++ linux-2.2.18/Documentation/Configure.help   Wed Dec 13 13:36:54 2000
@@ -10298,6 +10298,18 @@
   a work-around for a number of buggy BIOSes. Switch this option on if
   your computer crashes instead of powering off properly.
 
+Buggy battery status reporting
+CONFIG_APM_ASHES_NOTEBIOS
+  Currently disables power status reporting - for buggy BIOS which
+  (a) oopses on reading from /proc/apm and (b) does NOT have DMI.
+  (AcerNote-950 with Phoenix NoteBIOS 1994).
+  In future, this setting might invoke a bug-workaround.
+  
+  Note that if the machine has DMI then the BIOS version should be
+  automagically detectable and this workaround automated.  Send the DMI
+  strings printed at boot-time with any report if this is not happening
+  (or try patching arch/i386/kernel/dmi_scan.c).
+
 Watchdog Timer Support 
 CONFIG_WATCHDOG
   If you say Y here (and to one of the following options) and create a
diff -ur -x .config linux-2.2.18-orig/arch/i386/config.in 
linux-2.2.18/arch/i386/config.in
--- linux-2.2.18-orig/arch/i386/config.in   Mon Dec 11 11:49:41 2000
+++ linux-2.2.18/arch/i386/config.inWed Dec 13 13:36:54 2000
@@ -116,6 +116,7 @@
   bool '   RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
   bool '   Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
   bool '   Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
+  bool '   Buggy power status reporting' CONFIG_APM_ASHES_NOTEBIOS
 fi
 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
 
diff -ur -x .config linux-2.2.18-orig/arch/i386/kernel/apm.c 
linux-2.2.18/arch/i386/kernel/apm.c
--- linux-2.2.18-orig/arch/i386/kernel/apm.cMon Dec 11 11:49:41 2000
+++ linux-2.2.18/arch/i386/kernel/apm.c Wed Dec 13 13:40:23 2000
@@ -130,6 +130,9 @@
  * is now the way life works). 
  * Fix thinko in suspend() (wrong return).
  *   1.13ac: Added apm_battery_horked() for Compal boards (Dell 5000e etc)
+ *   1.13ac-nb: WIP: AcerNote-950 oops on reading /proc/apm
+ * Try disabling power status reporting.
+ * Neale Banks [EMAIL PROTECTED]
  *
  * APM 1.1 Reference:
  *
@@ -211,6 +214,8 @@
  * P: Toshiba 1950S: battery life information only gets updated after resume
  * P: Midwest Micro Soundbook Elite DX2/66 monochrome: screen blanking
  * broken in BIOS [Reported by Garst R. Reese [EMAIL PROTECTED]]
+ * ?: AcerNote-950: oops on reading /proc/apm - workaround is a WIP
+ * Neale Banks [EMAIL PROTECTED] December 2000
  *
  * Legend: U = unusable with APM patches
  * P = partially usable with APM patches
@@ -327,6 +332,11 @@
 static int power_off_enabled = 1;
 #endif
 static int dell_crap = 0;  /*Set if we find a 5000e */
+#ifdef CONFIG_APM_ASHES_NOTEBIOS
+static int ashes_notebios = 1; /*Set by configure*/
+#else
+static int ashes_notebios = 0; /* Default to OK */
+#endif
 
 static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
 static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
@@ -658,6 +668,14 @@
u32 edx;
u32 dummy;
 
+   /* Catch cases of known buggy BIOSen */
+   if (dell_crap || ashes_notebios) {
+   *status = *bat = *life = 0x;
+   /* not sure of the _best_ code to return here.
+  For now, APM_DISABLED will have to do  */
+   return APM_DISABLED;
+   }
+
if (apm_bios_call(APM_FUNC_GET_STATUS, APM_DEVICE_ALL, 0,
eax, ebx, ecx, edx, dummy))
return (eax  8)  0xff;
@@ -1272,7 +1290,7 @@
 
p = buf;
 
-   if ((smp_num_cpus == 1)  (!dell_crap)  
+   if ((smp_num_cpus == 1) 
!(error = apm_get_power_status(bx, cx, dx))) {
ac_line_status = (bx  8)  0xff;
battery_status = bx  0xff;
@@ -1492,6 +1510,9 @@
(apm_bios_info.version  0xff),
apm_bios_info.flags,
driver_version);
+   if (dell_crap || ashes_notebios) {
+   printk(KERN_INFO "apm: power status reporting disabled\n");
+   }
if ((apm_bios_info.flags  APM_32_BIT_SUPPORT) == 0) {
printk(KERN_INFO "apm: no 32 bit BIOS support\n");
return -ENODEV;



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-11 Thread Neale Banks

On Sun, 10 Dec 2000, Alan Cox wrote:

> > Is it "obvious" that I'm dealing with the same or similar kind of
> > bugginess here?
> 
> Obvious no, but its a pretty good guess.

FWIW, I now get:

-
neale@gull:~$ cat /proc/apm
1.13 1.1 0x03 0xff 0xff 0xff -1% -1 ?
-

> > That being the case, any reason I can't/shouldn't put in a function
> > similar to apm_battery_horked(), and call/run it based on a config-time
> > variable?
> 
> None at all

Diff against unmolested 2.2.18pre24 is attached.

Obviously the next challenge is to figure out how I can get what
information out of this strange beastie.

Regards,
Neale.


diff -ur -x *.ntb0 -x .config linux-2.2.18pre24-orig/Documentation/Configure.help 
linux-2.2.18pre24/Documentation/Configure.help
--- linux-2.2.18pre24-orig/Documentation/Configure.help Tue Dec 12 11:39:51 2000
+++ linux-2.2.18pre24/Documentation/Configure.help  Mon Dec 11 19:06:33 2000
@@ -10295,6 +10295,17 @@
   a work-around for a number of buggy BIOSes. Switch this option on if
   your computer crashes instead of powering off properly.
 
+Buggy battery status reporting
+CONFIG_APM_ASHES_NOTEBIOS
+  Currently disables battery status reporting for buggy BIOS which
+  (a) oopses on reading from /proc/apm and (b) does NOT have DMI.
+  (AcerNote-950 with Phoenix NoteBIOS 1994).
+  In future, this might implement a bug-workaround.
+  
+  Note that if the machine has DMI then the BIOS version should be
+  automagically detectable and this workaround automated.  Send the DMI
+  strings printed at boot-time with any report if this is not happening.
+
 Watchdog Timer Support 
 CONFIG_WATCHDOG
   If you say Y here (and to one of the following options) and create a
diff -ur -x *.ntb0 -x .config linux-2.2.18pre24-orig/arch/i386/config.in 
linux-2.2.18pre24/arch/i386/config.in
--- linux-2.2.18pre24-orig/arch/i386/config.in  Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/config.in   Mon Dec 11 19:00:44 2000
@@ -116,6 +116,7 @@
   bool '   RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
   bool '   Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
   bool '   Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
+  bool '   Buggy battery status reporting' CONFIG_APM_ASHES_NOTEBIOS
 fi
 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
 
diff -ur -x *.ntb0 -x .config linux-2.2.18pre24-orig/arch/i386/kernel/apm.c 
linux-2.2.18pre24/arch/i386/kernel/apm.c
--- linux-2.2.18pre24-orig/arch/i386/kernel/apm.c   Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/kernel/apm.cTue Dec 12 08:44:22 2000
@@ -130,6 +130,9 @@
  * is now the way life works). 
  * Fix thinko in suspend() (wrong return).
  *   1.13ac: Added apm_battery_horked() for Compal boards (Dell 5000e etc)
+ *   1.13ac-nb: WIP: AcerNote-950 oops on reading /proc/apm
+ * Try disabling battery status reporting.
+ * Neale Banks <[EMAIL PROTECTED]>
  *
  * APM 1.1 Reference:
  *
@@ -211,6 +214,8 @@
  * P: Toshiba 1950S: battery life information only gets updated after resume
  * P: Midwest Micro Soundbook Elite DX2/66 monochrome: screen blanking
  * broken in BIOS [Reported by Garst R. Reese <[EMAIL PROTECTED]>]
+ * ?: AcerNote-950: oops on reading /proc/apm - workaround is a WIP
+ * Neale Banks <[EMAIL PROTECTED]> December 2000
  *
  * Legend: U = unusable with APM patches
  * P = partially usable with APM patches
@@ -327,6 +332,11 @@
 static int power_off_enabled = 1;
 #endif
 static int dell_crap = 0;  /*Set if we find a 5000e */
+#ifdef CONFIG_APM_ASHES_NOTEBIOS
+static int ashes_notebios = 1; /*Set by configure*/
+#else
+static int ashes_notebios = 0; /* Default to OK */
+#endif
 
 static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
 static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
@@ -1272,7 +1282,7 @@
 
p = buf;
 
-   if ((smp_num_cpus == 1) && (!dell_crap) && 
+   if ((smp_num_cpus == 1) && (!dell_crap) && (!ashes_notebios) &&
!(error = apm_get_power_status(, , ))) {
ac_line_status = (bx >> 8) & 0xff;
battery_status = bx & 0xff;
@@ -1492,6 +1502,9 @@
(apm_bios_info.version & 0xff),
apm_bios_info.flags,
driver_version);
+   if (dell_crap || ashes_notebios) {
+   printk(KERN_INFO "apm: battery status reporting disabled\n");
+   }
if ((apm_bios_info.flags & APM_32_BIT_SUPPORT) == 0) {
printk(KERN_INFO "apm: no 32 bit BIOS support\n");
return -ENODEV;



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-11 Thread Neale Banks

On Sun, 10 Dec 2000, Alan Cox wrote:

  Is it "obvious" that I'm dealing with the same or similar kind of
  bugginess here?
 
 Obvious no, but its a pretty good guess.

FWIW, I now get:

-
neale@gull:~$ cat /proc/apm
1.13 1.1 0x03 0xff 0xff 0xff -1% -1 ?
-

  That being the case, any reason I can't/shouldn't put in a function
  similar to apm_battery_horked(), and call/run it based on a config-time
  variable?
 
 None at all

Diff against unmolested 2.2.18pre24 is attached.

Obviously the next challenge is to figure out how I can get what
information out of this strange beastie.

Regards,
Neale.


diff -ur -x *.ntb0 -x .config linux-2.2.18pre24-orig/Documentation/Configure.help 
linux-2.2.18pre24/Documentation/Configure.help
--- linux-2.2.18pre24-orig/Documentation/Configure.help Tue Dec 12 11:39:51 2000
+++ linux-2.2.18pre24/Documentation/Configure.help  Mon Dec 11 19:06:33 2000
@@ -10295,6 +10295,17 @@
   a work-around for a number of buggy BIOSes. Switch this option on if
   your computer crashes instead of powering off properly.
 
+Buggy battery status reporting
+CONFIG_APM_ASHES_NOTEBIOS
+  Currently disables battery status reporting for buggy BIOS which
+  (a) oopses on reading from /proc/apm and (b) does NOT have DMI.
+  (AcerNote-950 with Phoenix NoteBIOS 1994).
+  In future, this might implement a bug-workaround.
+  
+  Note that if the machine has DMI then the BIOS version should be
+  automagically detectable and this workaround automated.  Send the DMI
+  strings printed at boot-time with any report if this is not happening.
+
 Watchdog Timer Support 
 CONFIG_WATCHDOG
   If you say Y here (and to one of the following options) and create a
diff -ur -x *.ntb0 -x .config linux-2.2.18pre24-orig/arch/i386/config.in 
linux-2.2.18pre24/arch/i386/config.in
--- linux-2.2.18pre24-orig/arch/i386/config.in  Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/config.in   Mon Dec 11 19:00:44 2000
@@ -116,6 +116,7 @@
   bool '   RTC stores time in GMT' CONFIG_APM_RTC_IS_GMT
   bool '   Allow interrupts during APM BIOS calls' CONFIG_APM_ALLOW_INTS
   bool '   Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF
+  bool '   Buggy battery status reporting' CONFIG_APM_ASHES_NOTEBIOS
 fi
 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
 
diff -ur -x *.ntb0 -x .config linux-2.2.18pre24-orig/arch/i386/kernel/apm.c 
linux-2.2.18pre24/arch/i386/kernel/apm.c
--- linux-2.2.18pre24-orig/arch/i386/kernel/apm.c   Tue Dec 12 11:39:54 2000
+++ linux-2.2.18pre24/arch/i386/kernel/apm.cTue Dec 12 08:44:22 2000
@@ -130,6 +130,9 @@
  * is now the way life works). 
  * Fix thinko in suspend() (wrong return).
  *   1.13ac: Added apm_battery_horked() for Compal boards (Dell 5000e etc)
+ *   1.13ac-nb: WIP: AcerNote-950 oops on reading /proc/apm
+ * Try disabling battery status reporting.
+ * Neale Banks [EMAIL PROTECTED]
  *
  * APM 1.1 Reference:
  *
@@ -211,6 +214,8 @@
  * P: Toshiba 1950S: battery life information only gets updated after resume
  * P: Midwest Micro Soundbook Elite DX2/66 monochrome: screen blanking
  * broken in BIOS [Reported by Garst R. Reese [EMAIL PROTECTED]]
+ * ?: AcerNote-950: oops on reading /proc/apm - workaround is a WIP
+ * Neale Banks [EMAIL PROTECTED] December 2000
  *
  * Legend: U = unusable with APM patches
  * P = partially usable with APM patches
@@ -327,6 +332,11 @@
 static int power_off_enabled = 1;
 #endif
 static int dell_crap = 0;  /*Set if we find a 5000e */
+#ifdef CONFIG_APM_ASHES_NOTEBIOS
+static int ashes_notebios = 1; /*Set by configure*/
+#else
+static int ashes_notebios = 0; /* Default to OK */
+#endif
 
 static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
 static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
@@ -1272,7 +1282,7 @@
 
p = buf;
 
-   if ((smp_num_cpus == 1)  (!dell_crap)  
+   if ((smp_num_cpus == 1)  (!dell_crap)  (!ashes_notebios) 
!(error = apm_get_power_status(bx, cx, dx))) {
ac_line_status = (bx  8)  0xff;
battery_status = bx  0xff;
@@ -1492,6 +1502,9 @@
(apm_bios_info.version  0xff),
apm_bios_info.flags,
driver_version);
+   if (dell_crap || ashes_notebios) {
+   printk(KERN_INFO "apm: battery status reporting disabled\n");
+   }
if ((apm_bios_info.flags  APM_32_BIT_SUPPORT) == 0) {
printk(KERN_INFO "apm: no 32 bit BIOS support\n");
return -ENODEV;



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-09 Thread Neale Banks

On Sun, 10 Dec 2000, Alan Cox wrote:

> > OK, I did this (at least I think I got it right: the patch was happy) but
> > I can't see anything resembling DMI strings (even after I removed
> 
> Ok your machine probably doesnt have DMI then. That unfortunately means its
> hard to identify the specific machine

Which I presume rather rules out automagic detection and workaround?

I take it you are refering to the Phoenix BIOS detection code in
arch/i386/kernel/dmi_scan.c (ah yes, I see coments about QA ;-) and
subsequent call to apm_battery_horked()?

Is it "obvious" that I'm dealing with the same or similar kind of
bugginess here?

That being the case, any reason I can't/shouldn't put in a function
similar to apm_battery_horked(), and call/run it based on a config-time
variable?

FWIW, the machine claims "Phoenix NoteBIOS" dated 1994, and the poweroff
bit of APM appears to work just fine.

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-09 Thread Neale Banks

On Fri, 8 Dec 2000, Alan Cox wrote:

[...]
> Please boot 2.2.18pre24 (not pre25) on the machine and send me its DMI strings
> printed at boot time. I'll add it to the 'stupid morons who cant program and
> wouldnt know QA if it hit them on the head with a mallet' list

OK, I did this (at least I think I got it right: the patch was happy) but
I can't see anything resembling DMI strings (even after I removed
frame-buffer so as not to nuke the first few messages).  What keywords etc
should I be seeing, at what point?

the only vaguely relevant message I see is:

apm: BIOS version 1.1 Flags 0x03 (Driver version 1.13)

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-09 Thread Neale Banks

On Fri, 8 Dec 2000, Alan Cox wrote:

[...]
 Please boot 2.2.18pre24 (not pre25) on the machine and send me its DMI strings
 printed at boot time. I'll add it to the 'stupid morons who cant program and
 wouldnt know QA if it hit them on the head with a mallet' list

OK, I did this (at least I think I got it right: the patch was happy) but
I can't see anything resembling DMI strings (even after I removed
frame-buffer so as not to nuke the first few messages).  What keywords etc
should I be seeing, at what point?

the only vaguely relevant message I see is:

apm: BIOS version 1.1 Flags 0x03 (Driver version 1.13)

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-09 Thread Neale Banks

On Sun, 10 Dec 2000, Alan Cox wrote:

  OK, I did this (at least I think I got it right: the patch was happy) but
  I can't see anything resembling DMI strings (even after I removed
 
 Ok your machine probably doesnt have DMI then. That unfortunately means its
 hard to identify the specific machine

Which I presume rather rules out automagic detection and workaround?

I take it you are refering to the Phoenix BIOS detection code in
arch/i386/kernel/dmi_scan.c (ah yes, I see coments about QA ;-) and
subsequent call to apm_battery_horked()?

Is it "obvious" that I'm dealing with the same or similar kind of
bugginess here?

That being the case, any reason I can't/shouldn't put in a function
similar to apm_battery_horked(), and call/run it based on a config-time
variable?

FWIW, the machine claims "Phoenix NoteBIOS" dated 1994, and the poweroff
bit of APM appears to work just fine.

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-08 Thread Neale Banks

On Fri, 8 Dec 2000, Alan Cox wrote:

> > Is there anything else I can contribute?
> 
> The latitude and longtitude of the bios writers current position, and
> a ballistic missile.

;-)

> Please boot 2.2.18pre24 (not pre25) [...]

Please pardon the naive question: is pre-patch-2.2.18-24 to be applied
over 2.2.17?

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.2.18pre21 oops reading /proc/apm

2000-12-08 Thread Neale Banks

On Fri, 8 Dec 2000, Alan Cox wrote:

  Is there anything else I can contribute?
 
 The latitude and longtitude of the bios writers current position, and
 a ballistic missile.

;-)

 Please boot 2.2.18pre24 (not pre25) [...]

Please pardon the naive question: is pre-patch-2.2.18-24 to be applied
over 2.2.17?

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



2.2.18pre21 oops reading /proc/apm

2000-12-07 Thread Neale Banks

Hi Stephen,

I presume this should be going to you, as the person named in
arch/i386/kernel/apm.c - if not please redirect/ignore as appropriate.

I compiled the Debian distribution of 2.2.18pre21 source on and for a
AcerNote-950, with APM enabled.

All is fine except that I can reliably "oops" it simply by trying to read
from /proc/apm (e.g. cat /proc/apm).

oops output and ksymoops-2.3.4 output is attached.

Is there anything else I can contribute?

Thanks,
Neale.


Unable to handle kernel paging request at virtual address 3eb8
current->tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 0002
CPU:0
EIP:0050:[<8185>]
EFLAGS: 00010006
eax: 63cb   ebx:    ecx: 012f   edx: 
esi: 00ff   edi: c25c0391   ebp: 3eac   esp: c25c3eae
ds: 0058   es:    ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: 3f30 005000ff 00013ec0  8328530a 0048  61da 
   0010c010  3f30 0018c25c 0018 51f1 00ffc01a  
    0292  c20b 63cec014 530ac010 0001  
Call Trace: Bad ESP value.
Code: <1>Unable to handle kernel paging request at virtual address 8185
current->tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 
CPU:0
EIP:0010:[]
EFLAGS: 00010046
eax: 8185   ebx:    ecx: c25c3e72   edx: c25c3e72
esi: c25c3eae   edi: c25c3f0e   ebp: c25c2000   esp: c25c3e1e
ds: 0018   es: 0018   ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: c26d4bf8 c25c2000 c01ebd4e c0108c44 c25c3e72 c01a5856 c01a71ce 0002 
    c010de3c c01a71ce c25c3e72 0002 c25c2000 00ff c25c0391 
   3eac c26d4bf8 c01088b5 c25c3e72 0002  012f  
Call Trace: Bad ESP value.
Code: 8a 04 03 25 ff 00 00 00 50 68 4e 58 1a c0 e8 4a 9c 00 00 83 


ksymoops 2.3.4 on i586 2.2.18pre21.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.2.18pre21/ (default)
 -m /boot/System.map-2.2.18pre21 (default)

Warning: You did not tell me where to find symbol information.  I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

Unable to handle kernel paging request at virtual address 3eb8
current->tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 0002
CPU:0
EIP:0050:[<8185>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010006
eax: 63cb   ebx:    ecx: 012f   edx: 
esi: 00ff   edi: c25c0391   ebp: 3eac   esp: c25c3eae
ds: 0058   es:    ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: 3f30 005000ff 00013ec0  8328530a 0048  61da 
   0010c010  3f30 0018c25c 0018 51f1 00ffc01a  
    0292  c20b 63cec014 530ac010 0001  
Call Trace: Bad ESP value.
Code: <1>Unable to handle kernel paging request at virtual address 8185
Warning (Oops_code): trailing garbage ignored on Code: line
  Text: 'Code: <1>Unable to handle kernel paging request at virtual address 8185'
  Garbage: 'Unable to handle kernel paging request at virtual address 8185'
Warning (Oops_code_values): Code looks like message, not hex digits.  No disassembly 
attempted.

>>EIP; 8185 Before first symbol   <=

current->tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 
CPU:0
EIP:0010:[]
EFLAGS: 00010046
eax: 8185   ebx:    ecx: c25c3e72   edx: c25c3e72
esi: c25c3eae   edi: c25c3f0e   ebp: c25c2000   esp: c25c3e1e
ds: 0018   es: 0018   ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: c26d4bf8 c25c2000 c01ebd4e c0108c44 c25c3e72 c01a5856 c01a71ce 0002 
    c010de3c c01a71ce c25c3e72 0002 c25c2000 00ff c25c0391 
   3eac c26d4bf8 c01088b5 c25c3e72 0002  012f  
Call Trace: Bad ESP value.
Code: 8a 04 03 25 ff 00 00 00 50 68 4e 58 1a c0 e8 4a 9c 00 00 83 

>>EIP; c0108be3<=
Code;  c0108be3 
 <_EIP>:
Code;  c0108be3<=
   0:   8a 04 03  mov(%ebx,%eax,1),%al   <=
Code;  c0108be6 
   3:   25 ff 00 00 00and$0xff,%eax
Code;  c0108beb 
   8:   50push   %eax
Code;  c0108bec 
   9:   68 4e 58 1a c0push   $0xc01a584e
Code;  c0108bf1 
   e:   e8 4a 9c 00 00call   9c5d <_EIP+0x9c5d> c0112840 
Code;  c0108bf6 
  13:   83 00 00  addl   $0x0,(%eax)


3 warnings issued.  

2.2.18pre21 oops reading /proc/apm

2000-12-07 Thread Neale Banks

Hi Stephen,

I presume this should be going to you, as the person named in
arch/i386/kernel/apm.c - if not please redirect/ignore as appropriate.

I compiled the Debian distribution of 2.2.18pre21 source on and for a
AcerNote-950, with APM enabled.

All is fine except that I can reliably "oops" it simply by trying to read
from /proc/apm (e.g. cat /proc/apm).

oops output and ksymoops-2.3.4 output is attached.

Is there anything else I can contribute?

Thanks,
Neale.


Unable to handle kernel paging request at virtual address 3eb8
current-tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 0002
CPU:0
EIP:0050:[8185]
EFLAGS: 00010006
eax: 63cb   ebx:    ecx: 012f   edx: 
esi: 00ff   edi: c25c0391   ebp: 3eac   esp: c25c3eae
ds: 0058   es:    ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: 3f30 005000ff 00013ec0  8328530a 0048  61da 
   0010c010  3f30 0018c25c 0018 51f1 00ffc01a  
    0292  c20b 63cec014 530ac010 0001  
Call Trace: Bad ESP value.
Code: 1Unable to handle kernel paging request at virtual address 8185
current-tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 
CPU:0
EIP:0010:[c0108be3]
EFLAGS: 00010046
eax: 8185   ebx:    ecx: c25c3e72   edx: c25c3e72
esi: c25c3eae   edi: c25c3f0e   ebp: c25c2000   esp: c25c3e1e
ds: 0018   es: 0018   ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: c26d4bf8 c25c2000 c01ebd4e c0108c44 c25c3e72 c01a5856 c01a71ce 0002 
    c010de3c c01a71ce c25c3e72 0002 c25c2000 00ff c25c0391 
   3eac c26d4bf8 c01088b5 c25c3e72 0002  012f  
Call Trace: Bad ESP value.
Code: 8a 04 03 25 ff 00 00 00 50 68 4e 58 1a c0 e8 4a 9c 00 00 83 


ksymoops 2.3.4 on i586 2.2.18pre21.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.2.18pre21/ (default)
 -m /boot/System.map-2.2.18pre21 (default)

Warning: You did not tell me where to find symbol information.  I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

Unable to handle kernel paging request at virtual address 3eb8
current-tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 0002
CPU:0
EIP:0050:[8185]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010006
eax: 63cb   ebx:    ecx: 012f   edx: 
esi: 00ff   edi: c25c0391   ebp: 3eac   esp: c25c3eae
ds: 0058   es:    ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: 3f30 005000ff 00013ec0  8328530a 0048  61da 
   0010c010  3f30 0018c25c 0018 51f1 00ffc01a  
    0292  c20b 63cec014 530ac010 0001  
Call Trace: Bad ESP value.
Code: 1Unable to handle kernel paging request at virtual address 8185
Warning (Oops_code): trailing garbage ignored on Code: line
  Text: 'Code: 1Unable to handle kernel paging request at virtual address 8185'
  Garbage: 'Unable to handle kernel paging request at virtual address 8185'
Warning (Oops_code_values): Code looks like message, not hex digits.  No disassembly 
attempted.

EIP; 8185 Before first symbol   =

current-tss.cr3 = 02577000, %cr3 = 02577000
*pde = 
Oops: 
CPU:0
EIP:0010:[c0108be3]
EFLAGS: 00010046
eax: 8185   ebx:    ecx: c25c3e72   edx: c25c3e72
esi: c25c3eae   edi: c25c3f0e   ebp: c25c2000   esp: c25c3e1e
ds: 0018   es: 0018   ss: 0018
Process cat (pid: 557, process nr: 58, stackpage=c25c3000)
Stack: c26d4bf8 c25c2000 c01ebd4e c0108c44 c25c3e72 c01a5856 c01a71ce 0002 
    c010de3c c01a71ce c25c3e72 0002 c25c2000 00ff c25c0391 
   3eac c26d4bf8 c01088b5 c25c3e72 0002  012f  
Call Trace: Bad ESP value.
Code: 8a 04 03 25 ff 00 00 00 50 68 4e 58 1a c0 e8 4a 9c 00 00 83 

EIP; c0108be3 show_registers+213/244   =
Code;  c0108be3 show_registers+213/244
 _EIP:
Code;  c0108be3 show_registers+213/244   =
   0:   8a 04 03  mov(%ebx,%eax,1),%al   =
Code;  c0108be6 show_registers+216/244
   3:   25 ff 00 00 00and$0xff,%eax
Code;  c0108beb show_registers+21b/244
   8:   50push   %eax
Code;  c0108bec show_registers+21c/244
   9:   68 4e 58 1a c0push   $0xc01a584e
Code;  c0108bf1 show_registers+221/244
   e:   e8 4a 9c 00 00  

Re: VM-global-2.2.18pre17-7

2000-10-26 Thread Neale Banks

On Thu, 26 Oct 2000, octave klaba wrote:

> > > Oct 26 16:38:01 ns29 kernel: eth0: card reports no resources.
> > let me guess: intel eepro100 or similar??
> yeap

er, "me too":

  Bus  0, device   2, function  0:
Ethernet controller: Intel 82557 (rev 8).
  Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.  
Latency=64.  Min Gnt=8.Max Lat=56.
  Non-prefetchable 32 bit memory at 0xb5fff000 [0xb5fff000].
  I/O at 0x2400 [0x2401].
  Non-prefetchable 32 bit memory at 0xb5e0 [0xb5e0].

On Debian's 2.2.17-compact on a Compaq DL380 - with 60 days uptime I have
6 "eth0: card reports no resources." messages reported in dmesg.

[...]
> > Well known problem with that one. dont know if its fully fixed ... With
> > 2.4.0-test9-pre3 it doesnt happen on my machine ...
> we have 1-2 servers running 2.4.0-test9 and we got this error ...
> 
> is there any patch to 2.2.18pre ? since the server has to run on sunday
> we can still make the crazy tests 3 days. it would be cool to fix it to 
> 2.2.X if the bug is known ;)

Unless this is "mostly harmless" a backport of any fix to 2.2.xx would be
received most gratefully.

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: VM-global-2.2.18pre17-7

2000-10-26 Thread Neale Banks

On Thu, 26 Oct 2000, octave klaba wrote:

   Oct 26 16:38:01 ns29 kernel: eth0: card reports no resources.
  let me guess: intel eepro100 or similar??
 yeap

er, "me too":

  Bus  0, device   2, function  0:
Ethernet controller: Intel 82557 (rev 8).
  Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.  
Latency=64.  Min Gnt=8.Max Lat=56.
  Non-prefetchable 32 bit memory at 0xb5fff000 [0xb5fff000].
  I/O at 0x2400 [0x2401].
  Non-prefetchable 32 bit memory at 0xb5e0 [0xb5e0].

On Debian's 2.2.17-compact on a Compaq DL380 - with 60 days uptime I have
6 "eth0: card reports no resources." messages reported in dmesg.

[...]
  Well known problem with that one. dont know if its fully fixed ... With
  2.4.0-test9-pre3 it doesnt happen on my machine ...
 we have 1-2 servers running 2.4.0-test9 and we got this error ...
 
 is there any patch to 2.2.18pre ? since the server has to run on sunday
 we can still make the crazy tests 3 days. it would be cool to fix it to 
 2.2.X if the bug is known ;)

Unless this is "mostly harmless" a backport of any fix to 2.2.xx would be
received most gratefully.

Thanks,
Neale.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/