public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* RE: RE: ACPI -- Workaround for broken DSDT
@ 2004-02-05  8:10 Brown, Len
       [not found] ` <BF1FE1855350A0479097B3A0D2A80EE0CC8AB9-N2PTB0HCzHJF3Yvz3xaN/VDQ4js95KgL@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Brown, Len @ 2004-02-05  8:10 UTC (permalink / raw)
  To: Scott T. Smith; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

> On Wed, 2004-02-04 at 21:15, Brown, Len wrote: 
> > The strategy is to improve ACPI on Linux such that all 
> Linux distros are
> > able to successfully ship ACPI enabled kernels.
> > 
> > When we reach that stage, the OEMs will use these commercial Linux
> > products when they validate their platforms -- fixing DSDT problems
> > themselves before the 1st BIOS is released to the public.
> 
> realistically, that's 3-5+ years away.  In the meantime, what are
> existing users to do?  (i.e. those of us who don't like reading 430+
> pages of the spec)

Linux users should buy machines from OEMs that support Linux,
and not buy machines from OEMs that ignore Linux.  There are
OEMS that validate their platforms with Linux today -- this isn't
3-5 years away.

> So basically we shouldn't use ACPI then, and instead use APM?

If you have an old machine with APM and it satisfies your needs,
then continue using APM on that machine.  However, APM isn't
available on many systems today, and it will be available on
even fewer systems in the future.

> If Linux ACPI could emulate the bugs that Windows has, then ACPI would
> work on Linux on most platforms right away.  That would make 
> Linux more
> accessible to people.  Linux already has a bunch of hacks to support
> broken hardware which presumably Windows can work around; 
> this seems to
> be just another one of those.

Where the spec is vague and vendor's BIOS suggests that Microsoft
interprets the spec a certain way, we make linux work that way.  We also
have several places where we accommodate ACPI spec violations because
OEMs shipped them and Windows doesn't catch them -- but we complain
loudly when we see such errors -- otherwise next year's BIOS' will still
have the same errors...
 
> While it would be great if BIOS' used correct DSDT's, then what would
> happen if those DSDT's didn't work on Windows?  Which version do you
> think they'd ship?  Methinks not the one that works on Linux.

It isn't a choice between a Windows DSDT and a Linux DSDT.  An ACPI spec
compliant DSDT will run on both Windows and Linux.  Note also that ACPI
provides a mechanism where the it can behave differently depending on
the type and version of the OS.

> OTOH, what happens when Microsoft tries to fix their existing bugs --
> they'll either stick with their buggy version forever, or have to
> support several versions, depending on how many bugs are 
> fixed and when
> they are fixed.  Or you'll end up with some versions of Windows that
> won't run on older or newer laptops.

Yes, I expect that Microsoft will have to maintain certain bug
compatibilty or they will not be able to upgrade Windows on existing
platforms that contains those bugs.  Linux may or may not be able to run
ACPI on those platforms.  This isn't a deal killer, however, as Linux
never did run ACPI on those old platforms -- we don't even enable ACPI
for platforms older than Jan 1, 2001.  If they've run Linux w/o ACPI
since then, it is fine that they continue to do so.  The key is that
_new_ platforms should be ACPI spec compliant and validated with
ACPI-enabled Linux -- and as some Linux distros have enabled ACPI --
this is happening today.

Cheers,
-Len


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

^ permalink raw reply	[flat|nested] 24+ messages in thread
* RE: RE: ACPI -- Workaround for broken DSDT
@ 2004-02-11  6:31 Yu, Luming
  0 siblings, 0 replies; 24+ messages in thread
From: Yu, Luming @ 2004-02-11  6:31 UTC (permalink / raw)
  To: Nate Lawson, Scott T. Smith
  Cc: Brown, Len, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

  To AML issue, I think we should sort out interpreter bug , not just
hack DSDT.

--Luming

> We're doing something slightly different with ACPI on FreeBSD.  We add
> hacks^Wworkarounds for buggy DSDT whenever possible but they 
> are under a
> kernel option, #ifndef ACPICA_PEDANTIC.  The default is for 
> this option to
> give maximum compatibility with the stock DSDT, at the expense of spec
> correctness.  However, by adding that option and compiling a 
> kernel, OEMs
> could test against ACPI-CA as a reference implementation 
> while ordinary
> users get maximum compatibility.
> 
> I think the ACPI-CA developers should take a similar tact.  
> Len, who is on
> the Linux side, could suggest distribution maintainers use 
> the option that
> gives maximum Windows compatibility when shipping a distro.  
> Bob, who is
> on the ACPI-CA side, could encourage OEMs to test with the option
> disabled.  It might even make sense for a Linux distro maintainer to
> partner with ACPI-CA to provide a reference ISO that OEMs 
> could boot that
> had a /sbin/init that tests the various APIs for correctness. 
>  Both Andy
> and I thought this was a good direction to go and perhaps people are
> already making progress in that area.
> 


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

^ permalink raw reply	[flat|nested] 24+ messages in thread
* RE: RE: ACPI -- Workaround for broken DSDT
@ 2004-02-05 14:33 Cagle, John (ISS-Houston)
       [not found] ` <C50AB9511EE59B49B2A503CB7AE1ABD1066111ED-Iar2LzuD2f6P0FQRY6S+e9kSKC0Mw0DFJ8am2ALHCgk@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Cagle, John (ISS-Houston) @ 2004-02-05 14:33 UTC (permalink / raw)
  To: Bas Mevissen, Brown, Len
  Cc: Scott T. Smith, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Bas Mevissen wrote:
> 
> ACPI committee did not push a proper validation program. It's 
> like the 
> web "standards": standards are therem but everybody tests with IE and 
> most web developers are satisfied when it works with it...
> 
> ACPI committee should make a proper validation mandatory before a 
> computer may be sold as "ACPI X.Y compliant". Then manufacturers can 
> test against (open) validation platform and Linux-ACPI can be 
> validated 
> against it too.

This is a very good point, something for all of us to remember when
participating in any standards-creating process.

Also, if there were a Linux-ACPI standard validation suite, it would
make HP's Linux QA Engineers very happy, and much more likely to
find and fix ACPI AML errors *before* we ship new hardware.  Anyone
interested in working on something like that?

Regards,
John

-----------------------------
John Cagle  john.cagle-VXdhtT5mjnY@public.gmane.org
HP Distinguished Technologist
ProLiant Software Development
  http://www.hp.com/linux/
  Hewlett-Packard Company


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

^ permalink raw reply	[flat|nested] 24+ messages in thread
* RE: RE: ACPI -- Workaround for broken DSDT
@ 2004-02-05  5:15 Brown, Len
       [not found] ` <BF1FE1855350A0479097B3A0D2A80EE0CC8AB6-N2PTB0HCzHJF3Yvz3xaN/VDQ4js95KgL@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Brown, Len @ 2004-02-05  5:15 UTC (permalink / raw)
  To: Scott T. Smith; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

The strategy is to improve ACPI on Linux such that all Linux distros are
able to successfully ship ACPI enabled kernels.

When we reach that stage, the OEMs will use these commercial Linux
products when they validate their platforms -- fixing DSDT problems
themselves before the 1st BIOS is released to the public.

Thus the long term strategy is for zero DSDT over-rides.

Re: what does windows do?
Windows doesn't have to do anything.  By being first to ship ACPI, that
implementation provided the defacto ACPI compliance test to which all
BIOS' are tested -- even if that implementation is not ACPI spec
compliant.  No, only under dire circumstances will we emulate Windows
bugs in Linux.

-Len

> -----Original Message-----
> From: Scott T. Smith [mailto:scott-j3vAvQ9dNB9ByuSxxbvQtw@public.gmane.org] 
> Sent: Wednesday, February 04, 2004 9:19 PM
> To: Brown, Len
> Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> Subject: Re: [ACPI] RE: ACPI -- Workaround for broken DSDT
> 
> 
> On Tue, 2004-02-03 at 23:22, Brown, Len wrote:
> > > From Brown, Len on Sunday, 01 February, 2004:
> > > >The vendor should supply a correct DSDT with their BIOS.
> > > >In the case of Dell, you might inquire here: 
http://linux.dell.com/
> > >For non-vendor supplied solutions, you might also follow the 
> > DSDT link
> > >here: http://acpi.sourceforge.net/  
> > 
> > Hmm.  Do vendors generally release these?  I know Dell's very shaky
on
> >   the Linux support front, at least for desktop/laptop.
> > Also, how do non-vendor supplied ones get made?  Seems like
something
> >   you need NDA'ed docs for.
> 
> Non-vendor supplied DSDTs are created by end-users who bought machines
> that don't work.  Per the DSDT link above, one can extract,
> dis-assemble, modify a DSDT -- and tell Linux to use your copy instead
> of the version burned into PROM.

what's the long term strategy for ACPI on Linux?  If there are so many
broken DSDT's, and we want ACPI to be accessible to non-programmers,
then what's the ultimate solution?  Is it to include patches for every
possible platform, and have the ACPI subsystem autodetect and fix at
boot time?

Since thus far the ability to override the DSDT tables has not been
included in the vanilla ACPI distribution, then it seems you guys have
something else in mind.

What does Windows do?  Is it just that their DSDT
parser/executer/whatever operates differently (in which case a Windows
emulation mode could be added to the Linux subsystem), or is it that
Laptop manufacturers ship a corrected DSDT as part of their driver set?

	Scott



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

^ permalink raw reply	[flat|nested] 24+ messages in thread
* RE: ACPI -- Workaround for broken DSDT
@ 2004-02-04  7:22 Brown, Len
       [not found] ` <BF1FE1855350A0479097B3A0D2A80EE0CC8A9F-N2PTB0HCzHJF3Yvz3xaN/VDQ4js95KgL@public.gmane.org>
  0 siblings, 1 reply; 24+ messages in thread
From: Brown, Len @ 2004-02-04  7:22 UTC (permalink / raw)
  To: trelane; +Cc: bluefoxicy, linux-kernel, acpi-devel

> From Brown, Len on Sunday, 01 February, 2004:
> >The vendor should supply a correct DSDT with their BIOS.
> >In the case of Dell, you might inquire here: http://linux.dell.com/
> >For non-vendor supplied solutions, you might also follow the 
> DSDT link
> >here: http://acpi.sourceforge.net/  
> 
> Hmm.  Do vendors generally release these?  I know Dell's very shaky on
>   the Linux support front, at least for desktop/laptop.
> Also, how do non-vendor supplied ones get made?  Seems like something
>   you need NDA'ed docs for.

Non-vendor supplied DSDTs are created by end-users who bought machines
that don't work.  Per the DSDT link above, one can extract,
dis-assemble, modify a DSDT -- and tell Linux to use your copy instead
of the version burned into PROM.

While detailed hardware docs would be required to understand all the
code, that is not necessary to fix the majority of DSDT errors that
confuse Linux.  The common errors generally result from simple
programming blunders that are not caught at build-time by the partciular
AML compiler the vendor uses, nor at run-time by the particular OS the
vendor uses for validation.

When vendors use an improved AML compiler (such as the one freely
available from Intel;-), and test their platforms on ACPI-enabled Linux,
these problems generally go away and so does the topic of fixing broken
DSDTs.

Indeed, I'm not confident that fixing DSDTs for vendors is always a good
idea -- particularly if the vendors don't take the feedback.  I'd rather
see Linux users able to vote with their dollars to support vendors that
best support Linux.

That said, if you're stuck with a box that needs a DSDT fix -- I
encourage you to work with the vendor to get the DSDT fixed.  Yes, I've
seen handing them the fix on a silver platter work just fine;-)
However, as I'm not a lawyer and don't play one on TV, note that I can't
give anybody permission to _publish_ modified vendor firmware -- only
the vendor can do that. 

Cheers,
-Len

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

end of thread, other threads:[~2004-02-12 10:19 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-05  8:10 RE: ACPI -- Workaround for broken DSDT Brown, Len
     [not found] ` <BF1FE1855350A0479097B3A0D2A80EE0CC8AB9-N2PTB0HCzHJF3Yvz3xaN/VDQ4js95KgL@public.gmane.org>
2004-02-05  8:58   ` Luca Capello
     [not found]     ` <402205B0.3000607-wlebWZzHoyE@public.gmane.org>
2004-02-05 22:43       ` Karol Kozimor
2004-02-05 15:44   ` Scott T. Smith
     [not found]     ` <1075995857.5758.43.camel-3lu5YwujmwObGSPjaX/RoA@public.gmane.org>
2004-02-05 16:13       ` Bas Mevissen
  -- strict thread matches above, loose matches on Subject: below --
2004-02-11  6:31 Yu, Luming
2004-02-05 14:33 Cagle, John (ISS-Houston)
     [not found] ` <C50AB9511EE59B49B2A503CB7AE1ABD1066111ED-Iar2LzuD2f6P0FQRY6S+e9kSKC0Mw0DFJ8am2ALHCgk@public.gmane.org>
2004-02-05 15:19   ` Andi Kleen
     [not found]     ` <20040205161923.37eebc64.ak-l3A5Bk7waGM@public.gmane.org>
2004-02-05 16:07       ` Bas Mevissen
     [not found]         ` <40226A58.5080004-Y9IUUvl1dgU0Iwp8Nzs06g@public.gmane.org>
2004-02-05 16:24           ` Andi Kleen
     [not found]             ` <20040205172405.01777986.ak-l3A5Bk7waGM@public.gmane.org>
2004-02-05 17:15               ` Bas Mevissen
2004-02-05 15:55   ` Bas Mevissen
2004-02-06 19:33   ` Bruno Ducrot
2004-02-05  5:15 Brown, Len
     [not found] ` <BF1FE1855350A0479097B3A0D2A80EE0CC8AB6-N2PTB0HCzHJF3Yvz3xaN/VDQ4js95KgL@public.gmane.org>
2004-02-05  6:55   ` Scott T. Smith
     [not found]     ` <1075964148.5017.7.camel-3lu5YwujmwObGSPjaX/RoA@public.gmane.org>
2004-02-05 10:00       ` Bruno Ducrot
2004-02-09 20:29       ` Nate Lawson
     [not found]         ` <20040209122256.K74314-Y6VGUYTwhu0@public.gmane.org>
2004-02-09 21:23           ` Len Brown
2004-02-12 10:19           ` Bruno Ducrot
2004-02-05  7:29   ` Andi Kleen
     [not found]     ` <20040205082926.660974d2.ak-l3A5Bk7waGM@public.gmane.org>
2004-02-05 12:09       ` Bas Mevissen
2004-02-05 11:34   ` Bas Mevissen
2004-02-04  7:22 Brown, Len
     [not found] ` <BF1FE1855350A0479097B3A0D2A80EE0CC8A9F-N2PTB0HCzHJF3Yvz3xaN/VDQ4js95KgL@public.gmane.org>
2004-02-04  7:49   ` Arjen Verweij
2004-02-05  2:18   ` Scott T. Smith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox