From: Thomas Renninger <trenn@suse.de>
To: Len Brown <lenb@kernel.org>
Cc: "Éric Piel" <Eric.Piel@tremplin-utc.net>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Philippe Coval" <rzr@users.sourceforge.net>,
linux-acpi@vger.kernel.org, dsdt <dsdt@gaugusch.at>
Subject: Re: [PATCH] Override DSDT and SSDTs via initramfs
Date: Fri, 01 Feb 2008 10:53:57 +0100 [thread overview]
Message-ID: <1201859637.14573.41.camel@queen.suse.de> (raw)
In-Reply-To: <200801311417.57469.lenb@kernel.org>
On Thu, 2008-01-31 at 14:17 -0500, Len Brown wrote:
> > > In fact, I added the array some time ago.
> > > Not sure whether the latest Version of Eric/Markus can also load several
> > > DSDT/SSDTs? Maybe you found a more elegant way?
>
> > Nope. On the website (http://gaugusch.at/kernel.shtml) you can just find
> > two versions of the patch: one simple and one with your addition for
> > SSDTs support. At least with SSDTs support there is even an advantage
> > over the DSDT-in-kernel version :-)
>
>
> At one point there was a proposal to allow in-kernel SSDT overrides,
> but we determined that it was problematic because there can be any
> number of SSDTs (so which one does an override apply to?),
> some of them auto loaded at RSDT time, and the others
> loaded at run-time via Load() in the DSDT (and possibly SSDT) AML.
Yes and this is easy to solve via initrd.
> So we decided that to override an SSDT, you need to override a DSDT,
> incorporate whatever SSDT code you want into your DSDT, and boot with the
> "acpi_no_auto_ssdt" cmdline parameter to inhibit autoloading
> of the RSDT enumerated SSDTs. That gives you complete and total
> control over what AML gets run. (you omit that cmdline param
> to overide the DSDT but keep the native SSDTs) It also gives you
> just 1 DSDT to keep track of.
I know and it's a rather complex way.
You need to open the DSDT and copy and paste in an editor all SSDTs into
DSDT (inside the last bracket, the global namespace, so simply attaching
it at the very end is not working). Is that correct?
> That gives you complete and total control over what AML gets run
I doubt that. You said there can be any number of SSDTs. If you know
what you are doing..., but how do you explain someone in a bug that he
has to collect all SSDTs (some via acpidump --addr xy) open an editor,
paste them into the DSDT and so on...
I know what you mean and in what pits you could fall, because I've tried
it already, but...
> I'm not clear on how to use the proposed initrd SSDT override capability,
> and why it needs to be different from the simple scheme above,
... it is far away from a simple scheme, sorry.
> but I wouldn't want a mess there to hold up the rest of the initrd
> DSDT override patch series -- since only very rarely is an SSDT
> override needed.
That's true, it's not needed that often and the patch shouldn't be hold
off because of that.
Let me explain again what the intend is:
You pass to initrd e.g.:
/
/DSDT.aml /SSDT1.aml /SSDT2.aml
(maybe it should be done in an own dsdt directory. Like that, one could
check for each file in this directory, instead of the static array files
that get checked, hmmm this possibly should decided now to avoid
incompatibilities).
Anyway, say you have a directory:
/dsdt
with two SSDTs sitting there that get loaded before any other table gets
loaded.
Those tables have been extracted with acpidump, disassembled with iasl
-d, modified (e.g. added some debug code to get printed to syslog) and
recompiled.
Those tables have the same OEM id then the original ones, right?
Tables with the same OEM id (the original ones) should get ignored later
automatically. IIRC I had some problems with dynamically loaded tables,
don't know anymore, they are not that often used and theoretically it
should just work for them also.
I haven't tried too much here, but SSDTs are used more and more often (I
saw a machine with 12 SSDTs, especially on IA64 there might be dozens in
the future). We should think about the problem now, before we have bugs
and need to write down half a book how the reporter finally could
provide some useful information.
Have I overseen something?
Thomas
next prev parent reply other threads:[~2008-02-01 9:53 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4798E2A5.6020804@users.sf.net>
[not found] ` <20080125063328.4e3b4752.akpm@linux-foundation.org>
2008-01-26 4:39 ` initrd DSDT override (Re: Feedback about your talk in Rennes France (20080124) : Evolution of the Linux kernel & virtualization technologies) Len Brown
2008-01-30 17:27 ` [PATCH] Override DSDT and SSDTs via initramfs Thomas Renninger
2008-01-30 22:36 ` Éric Piel
2008-01-31 19:17 ` Len Brown
2008-02-01 9:53 ` Thomas Renninger [this message]
2008-02-01 11:07 ` Alexey Starikovskiy
2008-02-01 11:29 ` Thomas Renninger
2008-02-02 4:36 ` Len Brown
2008-02-03 17:28 ` [PATCH 0/3] Override DSDT " Éric Piel
2008-02-04 17:53 ` Thomas Renninger
2008-02-04 22:57 ` Éric Piel
2008-02-07 0:15 ` Len Brown
2008-02-07 0:23 ` Éric Piel
2008-02-07 1:07 ` Len Brown
2008-02-07 1:12 ` initrd DSDT override patch series Len Brown
2008-02-07 1:12 ` [PATCH] ACPI: basic initramfs DSDT override support Len Brown
2008-02-07 1:12 ` [PATCH] ACPI: Taint kernel on ACPI table override (format corrected) Len Brown
2008-02-07 1:12 ` [PATCH] ACPI: Add "acpi_no_initrd_override" kernel parameter Len Brown
2008-02-07 1:12 ` [PATCH] ACPI: update DSDT override documentation Len Brown
2008-02-07 1:12 ` [PATCH] ACPI: update intrd DSDT override console messages Len Brown
2008-02-03 17:28 ` [PATCH 1/3] The basics of DSDT from initramfs Éric Piel
2008-02-03 17:39 ` Markus Gaugusch
2008-02-03 17:55 ` Éric Piel
2008-02-04 23:04 ` [PATCH 1/3] The basics of DSDT from initramfs (format corrected) Éric Piel
2008-02-06 23:54 ` Len Brown
2008-02-05 14:43 ` [PATCH 1/3] The basics of DSDT from initramfs Thomas Renninger
2008-02-05 14:56 ` Carlos Corbacho
2008-02-03 17:29 ` [PATCH 2/3] Taint kernel on ACPI table override Éric Piel
2008-02-04 23:04 ` [PATCH 2/3] Taint kernel on ACPI table override (format corrected) Éric Piel
2008-02-03 17:29 ` [PATCH 3/3] Add acpi_no_initrd_override kernel parameter Éric Piel
2008-02-04 23:04 ` [PATCH 3/3] Add acpi_no_initrd_override kernel parameter (format corrected) Éric Piel
2008-02-01 10:21 ` [PATCH] Override DSDT and SSDTs via initramfs Thomas Renninger
2008-02-01 10:38 ` Eric Piel
2008-02-07 2:51 ` Len Brown
2008-02-07 7:57 ` Éric Piel
2008-04-18 22:07 ` Philippe Coval
2008-04-18 23:25 ` Eric Piel
2008-02-07 2:49 ` Len Brown
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=1201859637.14573.41.camel@queen.suse.de \
--to=trenn@suse.de \
--cc=Eric.Piel@tremplin-utc.net \
--cc=akpm@linux-foundation.org \
--cc=dsdt@gaugusch.at \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=rzr@users.sourceforge.net \
/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;
as well as URLs for NNTP newsgroup(s).