aboutsummaryrefslogtreecommitdiff
path: root/drivers/acpi/tables
AgeCommit message (Collapse)AuthorFilesLines
2009-01-09ACPICA: create acpica/ directoryLen Brown7-2922/+0
also, delete sleep/ and delete ACPI_CFLAGS from Makefile Signed-off-by: Len Brown <[email protected]>
2008-12-31ACPICA: FADT: Update error msgs for consistencyBob Moore1-4/+4
Update all messages so they look consistent. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-12-31ACPICA: FADT: set acpi_gbl_use_default_register_widths to TRUE by default[email protected]1-68/+105
This returns the FADT support to the original behavior, which is to use default register widths. However, now check each register definition and report a warning if it differs from the default. This is a first step to moving away from the default widths, rather than outright believing the widths in all FADTs for all machines, considered rather dangerous until more data is obtained. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-12-31ACPICA: FADT parsing changes and fixesBob Moore1-20/+105
1) Update the register lengths for the PM1 event blocks. The length must be divided by two in order to use these to access the status registers. 2) Add run-time option to use default register lengths to override a faulty FADT. 3) Add warning message if any of the X64 address structures contain a length that does not match the legacy length earlier in the FADT. 4) Move all FADT warning messages into the ValidateFadt function. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-12-31ACPICA: Restructure includes into public/privateBob Moore6-0/+6
acpi.h now includes only the "public" acpica headers. All other acpica headers are "private" and should not be included by acpica users. One new file, accommon.h is used to include the commonly used private headers for acpica code generation. Future plans are to move all private headers to a new subdirectory. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-12-29ACPICA: Add global pointer for FACS table to simplify FACS accessBob Moore1-0/+24
Use a global pointer instead of using AcpiGetTableByIndex for each FACS access. This simplifies the code for the Global Lock and the Firmware Waking Vector(s). Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-12-29ACPICA: Emit warning if two FACS or DSDT tables found in the FADTBob Moore1-2/+15
Checks if there are two valid but different addresses for the FACS and DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.) Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-12-29ACPICA: Fix several warnings under gcc 4 compilerBob Moore1-2/+2
New compiler is pickier than older versions. Joerg Sonnenberger. From ACPICA BZ 732. http://www.acpica.org/bugzilla/show_bug.cgi?id=732 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-11-06ACPI: use macro to replace hard numberYinghai Lu1-1/+1
Impact: cleanup Use MACRO for rev 3 fadt id instead of 3 directly. Signed-off-by: Yinghai Lu <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-10-22Merge branch 'fadt-test' into testLen Brown1-7/+25
2008-10-22ACPICA: Fix table compare code, length then dataBob Moore1-5/+9
Split the ACPI table compare. First check that the lengths match exactly. Then compare the data. Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Andi Kleen <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-10-22ACPICA: Allow same ACPI table to be loaded/unloaded more than onceBob Moore1-7/+42
Without this change, a table cannot be loaded again once it has been loaded/unloaded one time. The current mechanism does not unregister a table upon an unload. During a load, if the same table is found, this no longer returns an exception. http://www.acpica.org/bugzilla/show_bug.cgi?id=722 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Andi Kleen <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-10-10ACPI: fix FADT parsingJan Beulich1-7/+25
The (1.0 inherited) separate length fields in the FADT are byte granular. Further, PM1a/b may have distinct lengths (if using the v2 fields was okay) and may live in distinct address spaces. acpi_tb_convert_fadt() should account for all of these conditions. Apart from these changes I'm puzzled by the fact that, not just for acpi_gbl_xpm1{a,b}_enable, acpi_hw_low_level_{read,write}() get an explicit size passed rather than using the size found in the passed GAS. What happens on a platform that defines PM1{a,b} wider than 16 bits? Of course, acpi_hw_low_level_{read,write}() at present are entirely un-prepared to deal with sizes other than 8, 16, or 32, not to speak of a non-zero bit_offset or access_width... Signed-off-by: Jan Beulich <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-07-18Revert "Fix FADT parsing"Andi Kleen1-11/+6
This reverts commit 01a5bba576b9364b33f61f0cd9fa70c2cf5535e2. There seem to be some FADTs around with bogus information in the v2 fields. Revert this patch for now until this can be properly resolved. Signed-off-by: Andi Kleen <[email protected]>
2008-07-16Fix FADT parsingJan Beulich1-6/+11
The (1.0 inherited) separate length fields in the FADT are byte granular. Further, PM1a/b may have distinct lengths and live in distinct address spaces. acpi_tb_convert_fadt() should account for all of these conditions. Apart from these changes I'm puzzled by the fact that, not just for acpi_gbl_xpm1{a,b}_enable, acpi_hw_low_level_{read,write}() get an explicit size passed rather than using the size found in the passed GAS. What happens on a platform that defines PM1{a,b} wider than 16 bits? Of course, acpi_hw_low_level_{read,write}() at present are entirely un-prepared to deal with sizes other than 8, 16, or 32, not to speak of a non-zero bit_offset or access_width... Signed-off-by: Jan Beulich <[email protected]> Signed-off-by: Andi Kleen <[email protected]> Cc: Len Brown <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
2008-07-16ACPICA: Eliminate acpi_native_uint type v2Bob Moore6-47/+41
No longer needed; replaced mostly with u32, but also acpi_size where a type that changes 32/64 bit on 32/64-bit platforms is required. v2: Fix a cast of a 32-bit int to a pointer in ACPI to avoid a compiler warning. from David Howells Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]> Signed-off-by: Andi Kleen <[email protected]>
2008-06-11ACPICA: Ignore ACPI table signature for Load() operatorBob Moore1-18/+7
Only "SSDT" is acceptable to the ACPI spec, but tables are seen with OEMx and null sigs. Therefore, signature validation is worthless. Apparently MS ACPI accepts such signatures, ACPICA must be compatible. http://bugzilla.kernel.org/show_bug.cgi?id=10454 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-06-11ACPI 2.6.26-rc2: Add missing newline to DSDT/SSDT warning messageAlistair John Strachan1-1/+1
As of recently (probably 2.6.26-rc1) I've been getting the following mangling in the kernel log: [4294014.568167] ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"<6>CPU0: Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz stepping 0d This is due to a missing newline character in the first message. The following patch against 2.6.26-rc2 fixes it. Please apply. Signed-off-by: Alistair John Strachan <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-04-23ACPICA: update Intel copyrightLen Brown6-6/+6
Signed-off-by: Len Brown <[email protected]>
2008-04-22ACPICA: Fix for LoadTable operator, input stringsLin Ming1-9/+23
Fixed a problem with the LoadTable operator where the OemId and OemTableId input strings could cause unexpected failures if they were shorter than the maximum lengths allowed. http://www.acpica.org/bugzilla/show_bug.cgi?id=576 Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-04-22ACPICA: Fix for Load operatorLin Ming1-0/+1
Fixed a problem with the Load operator where an exception was not returned in the case where the table is already loaded. http://www.acpica.org/bugzilla/show_bug.cgi?id=463 Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-04-22ACPICA: Add a table checksum verify for Load operatorBob Moore1-1/+1
Added a table checksum verification for the Load operator, in the case where the load is from a buffer. http://www.acpica.org/bugzilla/show_bug.cgi?id=578 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-04-22ACPICA: Fix for fault if Load() failsBob Moore1-7/+14
Fixed a problem with the Load operator when loading a table from a buffer object. The input buffer was prematurely zeroed and/or deleted. http://www.acpica.org/bugzilla/show_bug.cgi?id=577 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-04-22ACPICA: New interfaces for table event handlersLin Ming1-0/+89
Designed and implemented new external interfaces to install and remove handlers for ACPI table-related events. Current events that are defined are LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as they are dynamically loaded and unloaded. See AcpiInstallTableHandler and AcpiRemoveTableHandler. Signed-off-by: Lin Ming <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2008-02-07Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', ↵Len Brown2-4/+2
'bugzilla-7186', 'bugzilla-8269', 'bugzilla-8570', 'bugzilla-9139', 'bugzilla-9277', 'bugzilla-9341', 'bugzilla-9444', 'bugzilla-9614', 'bugzilla-9643' and 'bugzilla-9644' into release
2007-12-14ACPI: tables: complete searching upon RSDP w/ bad checksum.Len Brown2-4/+2
ACPI tables follow a tree structure in memory. The root of the tree is the RSDP (Root System Description Pointer). To find the RSDP, the OS searches for the signature "RSD PTR " in well known physical memory locations. Then the OS computes a table checksum to verify that the signature is really part of a valid table header. Some systems have a proper signature but an invalid checksum; followed elsewhere by a proper signature with valid checksum. http://bugzilla.kernel.org/show_bug.cgi?id=9444 The Linux RSDP scanning code bailed out on those systems and as a result they booted with ACPI disabled. Fix this by deleting the Linux RSDP scanning code and plugging in the ACPICA RSDP scanning code. Signed-off-by: Len Brown <[email protected]>
2007-11-19ACPI: Add missing spaces to printk formatJoe Perches1-1/+1
Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-10-10ACPI: suppress uninitialized var warningAndrew Morton1-1/+1
drivers/acpi/tables/tbutils.c: In function `acpi_tb_parse_root_table': drivers/acpi/tables/tbutils.c:403: warning: `rsdt_address' may be used uninitialized in this function Reported-by: Uwe Bugla <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-08-24ACPI: Validate XSDT, use RSDT if XSDT failsZhao Yakui1-0/+71
ACPI 1.0 used an RSDT with 32-bit physical addresses. ACPI 2.0 adds an XSDT with 32-bit physical addresses. An ACPI 2.0 aware OS is supposed to use the XSDT (when present) instead of the RSDT. However, several systems have failed because the XSDT contains NULL entries -- while it is missing pointers to needed tables, such as SSDTs. When we find an XSDT with NULL entries, discard it and use the ACPI 1.0 RSDT instead. http://bugzilla.kernel.org/show_bug.cgi?id=8630 Signed-off-by: Zhao Yakui <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-07-26ACPI: add "acpi_no_auto_ssdt" bootparamLen Brown1-0/+23
"acpi_no_auto_ssdt" prevents Linux from automatically loading all the SSDTs listed in the RSDT/XSDT. This is needed for debugging. In particular, it allows a DSDT override to optionally be a DSDT+SSDT override. http://bugzilla.kernel.org/show_bug.cgi?id=3774 Signed-off-by: Len Brown <[email protected]>
2007-07-03ACPICA: Clear reserved fields for incoming ACPI 1.0 FADTsBob Moore1-18/+26
Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that contained invalid non-zero values in reserved fields could cause later failures because these fields have meaning in later revisions of the FADT. For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (Preferred_PM_Profile, PSTATE_CNT, CST_CNT, IAPC_BOOT_FLAGS.) Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-05-29ACPICA: allow Load(OEMx) tablesLen Brown1-4/+4
HP and Hitachi machines have been implemented with SSDT's that use the "OEMx" signatures. But upon Load, ACPICA is rejecting these tables because they are not using the "SSDT" signature. ACPI Error (tbinstal-0134): Table has invalid signature [OEMx], must be SSDT... Signed-off-by: Len Brown <[email protected]>
2007-05-09ACPICA: LindentLen Brown2-10/+12
Signed-off-by: Len Brown <[email protected]>
2007-04-28ACPICA: clear fields reserved before FADT r3Bob Moore1-0/+12
Linux-2.6.21 stopped booting on a P4/HT because Linux wrote the FADT.CST_CNT value to the SMI_CMD. Apparently this stumbled over some SMM instability, such as confusing SMM when invoking it from cpu1. Linux did this because even though the r2 FADT reserves the CST_CNT field, this BIOS set that field and Linux used it. Turns out that up through 2.6.20 we explicitly cleared cst_control for r2 FADTs. So here we go back to doing that, plus also clear some additional fields that are reserved until FADT r3. http://bugzilla.kernel.org/show_bug.cgi?id=8346 Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-16ACPI: acpi_unload_table_id() always returns errorJohn Keller1-3/+4
acpi_unload_table_id() is always returning an error status. Also, once the matching table is found, don't bother looking for another match. Signed-off-by: John Keller <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-15ACPI: Fix sparse warningsRandy Dunlap1-1/+1
Use NULL for pointers drivers/acpi/osl.c:208:10: warning: Using plain integer as NULL pointer drivers/acpi/tables/tbxface.c:411:49: warning: Using plain integer as NULL pointer drivers/acpi/processor_core.c:1008:10: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-06ACPICA: reduce table header messages to fit within 80 columnsLen Brown1-6/+6
Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: fix gcc build warningsAlexey Starikovskiy1-2/+2
drivers/acpi/namespace/nsparse.c:126: warning: int format, different type arg (arg 7) drivers/acpi/tables/tbfadt.c:224: warning: unsigned int format, different type arg (arg 6) drivers/acpi/utilities/utdebug.c:184: warning: cast from pointer to integer of different size drivers/acpi/utilities/utdebug.c:184: warning: cast from pointer to integer of different size drivers/acpi/utilities/utdebug.c:197: warning: cast from pointer to integer of different size drivers/acpi/processor_idle.c:1093: warning: long long unsigned int format, u64 arg (arg 5) Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPI: fix HP RX2600 IA64 bootAlexey Starikovskiy1-0/+5
Copy space_id of GAS structure to newly created GAS. The previous FADT conversion code defaulted to IO space. Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Fix for incorrect parameter passed to AcpiTbDeleteTable during table ↵Bob Moore1-1/+2
load. Bad pointer was passed in the case where the DSDT is overridden. Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Update copyright to 2007.Bob Moore6-6/+6
Added 2007 copyright to all module headers and signons. This affects virtually every file in the ACPICA core subsystem, iASL compiler, and the utilities. Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Removed all 16-bit support.Bob Moore1-4/+0
Support for 16-bit ACPICA has been completely removed since it is no longer necessary and it clutters the code. All 16-bit macros, types, and conditional compiles have been removed, cleaning up and simplifying the code across the entire subsystem. DOS support is no longer needed since the Linux firmware kit is now available. Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Fail AcpiEnable if ACPI tables not loaded.Bob Moore1-0/+23
AcpiEnable will now fail if all of the required ACPI tables are not loaded (FADT, FACS, DSDT). BZ 477 Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Miscellaneous table manager updates and optimizationsAlexey Starikovskiy3-98/+93
Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: New common routine for creating and verifying a local FADT.Bob Moore1-20/+51
Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: FADT verification is now table driven.Bob Moore2-137/+154
Disassembler now verifies an input Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: re-factor table init routines for benefit of iASLBob Moore1-5/+25
Required new table init interface since iASL does not use RSDP/XSDT. Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Update comments in tbfadt.cBob Moore1-5/+6
Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Delete stale FADT functions outside tbfadt.c.Bob Moore1-237/+1
Moved all FADT-related functions to a new file, tbfadt.c. Eliminated the acpi_hw_initialize function - the FADT registers are now validated when the table is loaded. Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2007-02-02ACPICA: Create tbfadt.c to hold all FADT-related functionsBob Moore2-1/+381
Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>