[PATCH 0/6] ACPI: acpi table management enhancement

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

 



hi all,

this is the patch set I made recently for ACPI table management
enhancement.

Patch 01 introduces a new mechanism for ACPI inactive table management.
with this patch applied, Linux gets the address of the unused root
table, and parses this root table to get the inactive tables when
needed.
e.g. if Linux is using XSDT on a laptop, tables from RSDT will be
maintain by this mechanism.

Patch 02 introduces a new interface to get certain inactive table,
which is needed by Patch 03.

Patch 03 gets the inactive tables and creates sysfs I/F for these
tables.

Patch 04 creates the sysfs I/F for dynamic loaded tables.
so that users can get all the ACPI tables
under /sys/firmware/acpi/tables,
which was done by the acpidump tool manually before.

Patch 05 fixes a suspend/hibernation bug.
I have a platform which suspends well, but always reboots instead of
resuming when pressing the power button.
I found that there are two FACS tables on this platform,
XSDT-->FADT1-->Xfacs-->FACS1
	|----->facs-|
		    |->FACS2
RSDT-->FADT2-->facs-|
Linux uses XSDT on this platform and sets the waking vector in FACS1
when suspending.
But it seems that the BIOS only cares for the waking vector in FACS2,
thus it reboots when resuming because the waking vector is not set at
all.
I set the waking vector in inactive FACS table to fix it in this patch.

Patch 06 is a refreshed version of Peter Gruber's patch which stops
using empty file names for acpi tables in sysfs I/F.

Note:
In this patch set, all the tables in the inactive root table are
recognized as inactive tables even if it's also in the active root
table.
i.e. some tables are shown twice in /sys/firmware/acpi/tables,
both as active and inactive tables.
Take my laptop for example,
#ls /sys/firmware/acpi/tables/
APIC  APIC_inactive  ASF!  ASF!_inactive  DSDT  DSDT_inactive  FACP
FACP_inactive
FACS  FACS_inactive  MCFG  MCFG_inactive  SSDT_dynamic

In my case, FACP and FACP_inactive are different tables exported by XSDT
and RSDT.
but MCFG and MCFG_inactive are the same table because they point to the
same physical address.

I don't think the duplicate tables should be ignored because:
If only the unduplicated inactive tables is shown, we are not able to
get a full list of the tables exported by the inactive root table,
which is important for debugging in some cases.

any comments are welcome. :)


thanks,
rui

--
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