From: Bas Mevissen <ml-Y9IUUvl1dgU0Iwp8Nzs06g@public.gmane.org>
To: Andi Kleen <ak-l3A5Bk7waGM@public.gmane.org>
Cc: john.cagle-VXdhtT5mjnY@public.gmane.org,
len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
scott-j3vAvQ9dNB9ByuSxxbvQtw@public.gmane.org,
acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: RE: ACPI -- Workaround for broken DSDT
Date: Thu, 05 Feb 2004 18:15:34 +0100 [thread overview]
Message-ID: <40227A36.5070002@basmevissen.nl> (raw)
In-Reply-To: <20040205172405.01777986.ak-l3A5Bk7waGM@public.gmane.org>
Andi Kleen wrote:
>
> The Intel interpreter is very strict (even with the relaxed aml option),
> microsoft is very lax. That causes problems.
>
> But interpreter problems are usually fairly easy to fix. The
> interpreter could be probably be made even more relaxed, but the
> maintainers (Len.et.al) don't seem to want to go that path so I don't see it
> happening. They write the code, so it works like they want it.
>
> It would not help that much anyways.
>
> The interpreter problems would be all easy to catch by QA
> (even without actually booting linux). And also easy to fix
> afterwards, just a bit time consuming.
>
What about keeping the interpreter strict, but always before passing the
DSDT to the interpreter, disassemble it and check it for problems. That
"tester" should then be able to fix the most common problems. Then
compile it again and pass it to the interpreter. Eventually a sort of
intermediate language can be used that gives an easy to parse output.
Pro:
* Can fix common problems on the fly
* Can maintain a table of know defects (e.g. don't drive fan of notebook
XXX)
* Can do all kinds of changes based upon command line options
* Parser code fast, clean and according to standard (verificatable!)
* "New" DSDT is very trustable, so less checking/conditional handling in
rest of LL kernel code regarding ACPI
* APM -> ACPI "tranlation": write APM in ACPI-terms and get rid of APM
code in kernel.
* Does not need to be kernel code -> easier to debug and less runtime-risk
Con:
* Boot time
* Maintenance
* Initrd size
* Development time
> The nasty problems are other logic bugs in parsing tables and interpreting
> results of methods. There doing the same thing as Windows is basically
> impossible.
>
Why? Is that missing knowledge of what Windows does or is the Windows
implementation too different?
> You're assuming that all interactions with ACPI are well understood.
> But it's an extremly complex system hooking into all kinds of low level
> parts of the kernel
>
> (snipped some explanation)
True. So maybe pre-examening is a way to keep the implementation as
simple as it can be. You are right that having a dynamic behaviour of
the linux-acpi is not the way to go.
So I think we need to have means to reshape the DSDT at runtime before
interpreting it. It will definitely not catch all cases, but at least
some of them.
Bas.
-------------------------------------------------------
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
next prev parent reply other threads:[~2004-02-05 17:15 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-05 14:33 RE: ACPI -- Workaround for broken DSDT 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 [this message]
2004-02-05 15:55 ` Bas Mevissen
2004-02-06 19:33 ` Bruno Ducrot
-- strict thread matches above, loose matches on Subject: below --
2004-02-11 6:31 Yu, Luming
2004-02-05 8:10 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
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=40227A36.5070002@basmevissen.nl \
--to=ml-y9iuuvl1dgu0iwp8nzs06g@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=ak-l3A5Bk7waGM@public.gmane.org \
--cc=john.cagle-VXdhtT5mjnY@public.gmane.org \
--cc=len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=scott-j3vAvQ9dNB9ByuSxxbvQtw@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox