linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list
@ 2003-07-21  1:14 Mikael Pettersson
  2003-07-21  8:07 ` Eric Valette
  0 siblings, 1 reply; 6+ messages in thread
From: Mikael Pettersson @ 2003-07-21  1:14 UTC (permalink / raw)
  To: akpm, andrew.grover, eric.valette, sziwan; +Cc: acpi-devel, linux-kernel

On Sun, 20 Jul 2003 21:48:24 +0200, Eric Valette wrote:
>The following patch integrated in 2.5.74,
>
><http://lists.insecure.org/lists/linux-kernel/2003/Jun/5840.html>
>
>really enables the APIC even if BIOS disabled it. Unfortunately, 
>enabling APIC really does not seem to work on this ASUS laptop and ACPI 
>(which is mandatory) crash the kernel in ACPI code at boot time while 
>"Executing all Devices _STA and_INIT methods"
>
>Unless someones find a bug in ACPI code related to APIC management, It 
>is safer to add this machine in the DMI black list (along with DELL, 
>IBM, ...).
>
>So, as suggested by the author of the problematic change, I added and 
>entry in the DMI black list. But my guess is that most laptop will soon 
>be present in this list....

At least two P4 laptops are known to require the 2.5.74 patch, and
they do work with the local APIC.

While I don't dispute your machine has some problem, please
do the following first before we completely blacklist it:
- ensure you have the latest BIOS (ftp.asuscom.de has the ones for
  their desktop mainboards, presumably the laptop BIOSen are also there)
- in what way is ACPI mandatory? does it fail to boot, or does it
  just lose some specific feature? If you just want suspend support,
  try APM if the machine has it

A question for the ACPI people:
- Does the Linux kernel ACPI code ever transfer control to BIOS,
  explicitly or implicitly via SMIs triggered by the interpreter?
  If you do transfer control, do you disable interrupts and/or
  the interrupt controllers before transferring control?
  Entering BIOS with the local APIC live, in particular the timer,
  is a known hang-generator with APM.

/Mikael
(. again in "I hate BIOS writers" mode, grr .)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list
  2003-07-21  1:14 [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list Mikael Pettersson
@ 2003-07-21  8:07 ` Eric Valette
  2003-07-21 15:59   ` [ACPI] " Eric Valette
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Valette @ 2003-07-21  8:07 UTC (permalink / raw)
  To: Mikael Pettersson; +Cc: akpm, andrew.grover, sziwan, acpi-devel, linux-kernel

Mikael Pettersson wrote:

> While I don't dispute your machine has some problem, please
> do the following first before we completely blacklist it:
> - ensure you have the latest BIOS (ftp.asuscom.de has the ones for
>   their desktop mainboards, presumably the laptop BIOSen are also there)

Have the latest BIOS from 3 June...

> - in what way is ACPI mandatory? does it fail to boot, or does it
>   just lose some specific feature? If you just want suspend support,
>   try APM if the machine has it

Many ACPI managed buttons, Fans, ...

-- 
    __
   /  `                   	Eric Valette
  /--   __  o _.          	6 rue Paul Le Flem
(___, / (_(_(__         	35740 Pace

Tel: +33 (0)2 99 85 26 76	Fax: +33 (0)2 99 85 26 76
E-mail: eric.valette@free.fr


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ACPI] Re: [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list
  2003-07-21  8:07 ` Eric Valette
@ 2003-07-21 15:59   ` Eric Valette
  2003-07-21 16:18     ` Karol Kozimor
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Valette @ 2003-07-21 15:59 UTC (permalink / raw)
  To: eric.valette
  Cc: Mikael Pettersson, akpm, andrew.grover, sziwan, acpi-devel, linux-kernel


>>The following patch integrated in 2.5.74,
>>
>><http://lists.insecure.org/lists/linux-kernel/2003/Jun/5840.html>
>>
>>really enables the APIC even if BIOS disabled it. Unfortunately,
>>enabling APIC really does not seem to work on this ASUS laptop and ACPI
>>(which is mandatory) crash the kernel in ACPI code at boot time while
>>"Executing all Devices _STA and_INIT methods"
>>
>>Unless someones find a bug in ACPI code related to APIC management, It
>>is safer to add this machine in the DMI black list (along with DELL,
>>IBM, ...).
>>
>>So, as suggested by the author of the problematic change, I added and
>>entry in the DMI black list. But my guess is that most laptop will soon
>>be present in this list....
> 
> At least two P4 laptops are known to require the 2.5.74 patch, and
> they do work with the local APIC.

After a second though I think this kind of justification is not 
appropriate :
	- If we play this game of counting the machines that works with your 
patch and the machines that breaks, we may end up removing this patch as 
I have seen other with other laptop model also failing while executing 
the _STA and _INI initialization...
	- Anyway, there are already 3 machines in the black list includings two 
very popular old dells...

> - in what way is ACPI mandatory? does it fail to boot, or does it
>   just lose some specific feature? If you just want suspend support,
>   try APM if the machine has it

Come on, APM is a thing from the past and any recent laptop does not 
even care of supporting it now that Windows XP is  bundled... And in any 
case it is not supported by this particular machine...

> A question for the ACPI people:
> - Does the Linux kernel ACPI code ever transfer control to BIOS,
>   explicitly or implicitly via SMIs triggered by the interpreter?
>   If you do transfer control, do you disable interrupts and/or
>   the interrupt controllers before transferring control?

While I tried to read the ACPI specs for the fisrt time this morning 
searching for the meaning of _STA and _INI (and found the section 
related to INI rather unclear) I suspect the _INI is just dedicated to 
that purpose for escaping from legacy mode. But frankly, I got lost in 
the code trying to see when and how the function is really called... I 
would really like to have some help from ACPI development team on this 
one...

But if a BIOS function is called and the BIOS expects the APIC disabled, 
I would not blame BIOS writer if calling the function fails... So either 
the APIC should be disabled again or the ACPI initialisation should be 
done before turning the APIC on. But I have no idea about feasability...


>   Entering BIOS with the local APIC live, in particular the timer,
>   is a known hang-generator with APM.

My experienec 6 years ago writing a floppy network boot loader (in 32 
bit mode with a BIOS trampoline) is that this is not sufficient : before 
calling the BIOS, you should also restore the interrupt controller 
status in the legacy mode you got when entering (e.g 8259 programmation 
and especially PIC masks or any other legacy emultation). While this is 
not required on many machines, on some machines others, the bootloader 
just do not work without...



-- 
    __
   /  `                   	Eric Valette
  /--   __  o _.          	6 rue Paul Le Flem
(___, / (_(_(__         	35740 Pace

Tel: +33 (0)2 99 85 26 76	Fax: +33 (0)2 99 85 26 76
E-mail: eric.valette@free.fr


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ACPI] Re: [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list
  2003-07-21 15:59   ` [ACPI] " Eric Valette
@ 2003-07-21 16:18     ` Karol Kozimor
  0 siblings, 0 replies; 6+ messages in thread
From: Karol Kozimor @ 2003-07-21 16:18 UTC (permalink / raw)
  To: Eric Valette
  Cc: Mikael Pettersson, akpm, andrew.grover, acpi-devel, linux-kernel

Thus wrote Eric Valette:
> Come on, APM is a thing from the past and any recent laptop does not 
> even care of supporting it now that Windows XP is  bundled... And in any 
> case it is not supported by this particular machine...

While I agree with your first statement, I must object to the second: this
laptop, contrary to what the manual says, supports APM quite well indeed.
Anyway, turning ACPI off is not a solution.
Best regards,

-- 
Karol 'sziwan' Kozimor
sziwan@hell.org.pl

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list
@ 2003-07-25 20:52 Grover, Andrew
  0 siblings, 0 replies; 6+ messages in thread
From: Grover, Andrew @ 2003-07-25 20:52 UTC (permalink / raw)
  To: Mikael Pettersson, akpm, eric.valette, sziwan; +Cc: acpi-devel, linux-kernel

> From: Mikael Pettersson [mailto:mikpe@csd.uu.se] 
> On Sun, 20 Jul 2003 21:48:24 +0200, Eric Valette wrote:
> >The following patch integrated in 2.5.74,
> >
> ><http://lists.insecure.org/lists/linux-kernel/2003/Jun/5840.html>

> At least two P4 laptops are known to require the 2.5.74 patch, and
> they do work with the local APIC.
> 
> While I don't dispute your machine has some problem, please
> do the following first before we completely blacklist it:
> - ensure you have the latest BIOS (ftp.asuscom.de has the ones for
>   their desktop mainboards, presumably the laptop BIOSen are 
> also there)
> - in what way is ACPI mandatory? does it fail to boot, or does it
>   just lose some specific feature? If you just want suspend support,
>   try APM if the machine has it
> 
> A question for the ACPI people:
> - Does the Linux kernel ACPI code ever transfer control to BIOS,
>   explicitly or implicitly via SMIs triggered by the interpreter?
>   If you do transfer control, do you disable interrupts and/or
>   the interrupt controllers before transferring control?
>   Entering BIOS with the local APIC live, in particular the timer,
>   is a known hang-generator with APM.

Yes, some OEMs (IBM, for one. I'm sure there are more) enter SMM when
executing control methods. The interpreter is just blithely going along
and writing values to mem and io ports -- it doesn't know it just
invoked SMM. Nothing is disabled.

BTW I'm getting a bunch of other reports starting with 2.5.74 (see
"linux laptop keyboard problem since 2.5.74"). 

So let me get this straight -- because 2 machines require this patch,
you want all the OTHER machines to go on the blacklist? Shouldn't the 2
machines get special-cased?

All these machines work under Windows, so there has to be a solution
that enables everyone to work.

Regards -- Andy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list
  2003-07-20 13:18 ` Eric Valette
@ 2003-07-20 19:48   ` Eric Valette
  0 siblings, 0 replies; 6+ messages in thread
From: Eric Valette @ 2003-07-20 19:48 UTC (permalink / raw)
  To: Grover, Andrew, sziwan, akpm, mikpe; +Cc: linux-kernel, acpi-devel

[-- Attachment #1: Type: text/plain, Size: 702 bytes --]

The following patch integrated in 2.5.74,

<http://lists.insecure.org/lists/linux-kernel/2003/Jun/5840.html>

really enables the APIC even if BIOS disabled it. Unfortunately, 
enabling APIC really does not seem to work on this ASUS laptop and ACPI 
(which is mandatory) crash the kernel in ACPI code at boot time while 
"Executing all Devices _STA and_INIT methods"

Unless someones find a bug in ACPI code related to APIC management, It 
is safer to add this machine in the DMI black list (along with DELL, 
IBM, ...).

So, as suggested by the author of the problematic change, I added and 
entry in the DMI black list. But my guess is that most laptop will soon 
be present in this list....

-- eric

[-- Attachment #2: dmi_scan_black_list --]
[-- Type: text/plain, Size: 485 bytes --]

--- linux-2.6.0-test1/arch/i386/kernel/dmi_scan.c.orig	2003-07-20 17:09:10.000000000 +0200
+++ linux-2.6.0-test1/arch/i386/kernel/dmi_scan.c	2003-07-20 21:25:02.000000000 +0200
@@ -706,6 +706,12 @@
 			NO_MATCH, NO_MATCH
 			} },
 
+	{ local_apic_kills_bios, "ASUS L3C", {
+			MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
+			MATCH(DMI_BOARD_NAME, "P4_L3C"),
+			NO_MATCH, NO_MATCH
+			} },
+
 	/* Problem Intel 440GX bioses */
 
 	{ broken_pirq, "SABR1 Bios", {			/* Bad $PIR */

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-07-25 20:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-21  1:14 [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list Mikael Pettersson
2003-07-21  8:07 ` Eric Valette
2003-07-21 15:59   ` [ACPI] " Eric Valette
2003-07-21 16:18     ` Karol Kozimor
  -- strict thread matches above, loose matches on Subject: below --
2003-07-25 20:52 Grover, Andrew
2003-07-14 18:56 Linux 2.6-pre1 Does not boot on ASUS L3800C: lock up in acpi while "Executing all Devices _STA and_INIT methods" Grover, Andrew
2003-07-20 13:18 ` Eric Valette
2003-07-20 19:48   ` [PATCH] Linux 2.6-pre-mm2 Fix crash on boot on ASUS L3800C if enabing APIC => add this machine to DMI black list Eric Valette

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).