Re: [PATCH 2/2] ACPI: Implement overriding of arbitrary ACPI tables via initrd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



於 一,2011-08-29 於 02:39 -0600,Joey Lee 提到:
> 於 一,2011-08-29 於 02:31 -0600,Joey Lee 提到:
> > 於 三,2011-08-24 於 11:48 +0200,Thomas Renninger 提到:
> > > Details can be found in:
> > > Documentation/acpi/initrd_table_override.txt
> > > 
> > > Additional dmesg output of a booted system with
> > > FACP (FADT), DSDT and SSDT (the 9th dynamically loaded one)
> > > tables overridden (with ### marked comments):
> > > 
> > > ### ACPI tables found glued to initrd
> > > DSDT ACPI table found in initrd - size: 16234
> > > FACP ACPI table found in initrd - size: 116
> > > SSDT ACPI table found in initrd - size: 334
> > > ### Re-printed e820 map via e820_update() with additionally created
> > > ### ACPI data section at 0xcff55000 where the ACPI tables passed via
> > > ### initrd where copied to
> > > modified physical RAM map:
> > > ...
> > >   ### New ACPI data section:
> > >   modified: 00000000cff55000 - 00000000cff5912c (ACPI data)
> > >   ### BIOS e820 provided ACPI data section:
> > >   modified: 00000000cff60000 - 00000000cff69000 (ACPI data)
> > > ...
> > > ### Total size of all ACPI tables glued to initrd
> > > ### The address is initrd_start which gets updated to
> > > ### initrd_start = initrd_start + "size of all ACPI tables glued to initrd"
> > > Found acpi tables of size: 16684 at 0xffff8800374c4000
> > > 
> > > Disabling lock debugging due to kernel taint
> > > ### initrd provided FACP and DSDT tables are used instead of BIOS provided ones
> > > ACPI: FACP @ 0x00000000cff68dd8 Phys table override, replaced with:
> > > ACPI: FACP 00000000cff58f6a 00074 (v01 INTEL  TUMWATER 06040000 PTL  00000003)
> > > ACPI: DSDT @ 0x00000000cff649d4 Phys table override, replaced with:
> > > ACPI: DSDT 00000000cff55000 04404 (v01  Intel BLAKFORD 06040000 MSFT 0100000E)
> > > ...
> > > ### Much later, the 9th (/sys/firmware/acpi/table/dynamic/SSDT9) dynamically
> > > ### loaded ACPI table matches and gets overridden:
> > > ACPI: SSDT @ 0x00000000cff64824 Phys table override, replaced with:
> > > ACPI: SSDT 00000000cff58fde 0014E (v01  PmRef  Cpu7Ist 00003000 INTL 20110316)
> > > ACPI: Dynamic OEM Table Load:
> > > ACPI: SSDT           (null) 0014E (v01  PmRef  Cpu7Ist 00003000 INTL 20110316)
> > > ...
> > > 
> > > If the initrd does not start with a valid ACPI table signature or the ACPI
> > > table's checksum is wrong, there is no functional change.
> > > 
> > > Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
> > > CC: linux-acpi@xxxxxxxxxxxxxxx
> > > CC: lenb@xxxxxxxxxx
> > > CC: linux-kernel@xxxxxxxxxxxxxxx
> > > CC: x86@xxxxxxxxxx
> > > ---
> > 
> > This patch works fine to me on Acer TravelMate 8572.
> > I added a debug message to _BCM method in DSDT then override it in
> > initrd by follow initrd_table_override.txt.
> > 
> > The attached is my dmesg log.
> > 
> > > +3) How does it work
> > > +-------------------
> > > +
> > > +# Extract the machine's ACPI tables:
> > > +acpidump >acpidump
> > > +acpixtract -a acpidump
> > > +# Disassemble, modify and recompile them:
> > > +iasl -d *.dat
> > > +# For example add this statement into a _PRT (PCI Routing Table) function
> > > +# of the DSDT:
> > > +Store("Hello World", debug)
> > > +iasl -sa *.dsl
> > > +# glue them together with the initrd. ACPI tables go first, original initrd
> > > +# goes on top:
> > > +cat TBL1.dat >>instrumented_initrd
> > > +cat TBL2.dat >>instrumented_initrd
> > > +cat TBL3.dat >>instrumented_initrd
> > 
> > I suggest use TBL1.aml to replace TBL1.dat in initrd_table_override.txt,
> > because iasl -sa default generate out *.aml file but not *.dat file, my
> > iasl version is Intel 20110112-64 [Feb 27 2011].
> > That will be more clear for the first time user to understand need cat
> > *.aml file.
> > 
> > Tested-by: Lee, Chun-Yi <jlee@xxxxxxxx>
> > 
> > 
> > Thank's
> > Joey Lee
> > 
> 
> I applied the 2 patches on linux v3.0 kernel but not on the latest
> linux-acpi-2.6 branch.
> 
> I will also test it on linux-acpi-2.6.
> 
I applied the 2 initrd acpi table override patches on the newest
linux-acpi-2.6 branch, those patches works fine on my Acer TravelMate
8572.

Tested-by: Lee, Chun-Yi <jlee@xxxxxxxx>


Thank's a lot!
Joey Lee

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux