Reserved method has too many arguments (_OSC requires 4)
by Thomas Renninger
Hi,
I have a laptop freezing early, acpi=off and noapic helps.
I wonder whether this could have to do with the broken _OSC method.
I cannot access the machine myself, eventually I can get more info
if needed, but the machine is freezing really early (after ACPI
initialization, somewhere around bringing up CPUs (possibly when
starting PCI init already?).
This is not the first time I see this message.
It would be great to get (from include/linux/kernel.h):
#define FW_BUG "[Firmware Bug]: "
#define FW_WARN "[Firmware Warn]: "
#define FW_INFO "[Firmware Info]: "
marked messages into ACPICA and blame the guys who are responsible
for that.
My other concern/question is: what exactly happens in such a case?
Will _OSC get invoked at all?
If yes, what will be the last argument, zero, -1?
Hmm, I doubt it has to do with the freeze, but it would still be
great if someone knowing these parts could comment what people
with such a BIOS could expect to happen.
Thanks,
Thomas
Method (_OSC, 5, NotSerialized)
{
Store (Arg3, Local0)
Multiply (Local0, 0x04, Local1)
Name (BUF1, Buffer (Local1) {})
Store (Arg4, BUF1)
Store (Zero, Local1)
Store (Zero, Local2)
While (Local0)
{
Multiply (Local1, 0x04, Local2)
CreateDWordField (BUF1, Local2, CAPB)
If (Arg2)
{
If (LEqual (Local1, Zero))
{
And (CAPB, 0xFFFFFFFC)
}
}
Increment (Local1)
Decrement (Local0)
}
Return (BUF1)
}
10 years
ACPICA version 20101209 released
by Moore, Robert
09 December 2010. Summary of changes for version 20101209:
This release is available at www.acpica.org/downloads
1) ACPI CA Core Subsystem:
Completed the major overhaul of the GPE support code that was begun in July 2010. Major features include: removal of _PRW execution in ACPICA (host executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, changes to existing interfaces, simplification of GPE handler operation, and a handful of new interfaces:
AcpiUpdateAllGpes
AcpiFinishGpe
AcpiSetupGpeForWake
AcpiSetGpeWakeMask
One new file, evxfgpe.c to consolidate all external GPE interfaces.
See the ACPICA Programmer Reference for full details and programming information. See the new section 4.4 "General Purpose Event (GPE) Support" for a full overview, and section 8.7 "ACPI General Purpose Event Management" for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming, Bob Moore, Rafael Wysocki.
Implemented a new GPE feature for Windows compatibility, the "Implicit Wake GPE Notify". This feature will automatically issue a Notify(2) on a device when a Wake GPE is received if there is no corresponding GPE method or handler. ACPICA BZ 870.
Fixed a problem with the Scope() operator during table parse and load phase. During load phase (table load or method execution), the scope operator should not enter the target into the namespace. Instead, it should open a new scope at the target location. Linux BZ 19462, ACPICA BZ 882.
Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The debug version of the code includes the debug output trace mechanism and has a much larger code and data size.
Previous Release:
Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total
Debug Version: 166.6K Code, 52.1K Data, 218.7K Total
Current Release:
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Relax the alphanumeric restriction on _CID strings. These strings are "bus-specific" per the ACPI specification, and therefore any characters are acceptable. The only checks that can be performed are for a null string and perhaps for a leading asterisk. ACPICA BZ 886.
iASL: Fixed a problem where a syntax error that caused a premature EOF condition on the source file emitted a very confusing error message. The premature EOF is now detected correctly. ACPICA BZ 891.
Disassembler: Decode the AccessSize within a Generic Address Structure (byte access, word access, etc.) Note, this field does not allow arbitrary bit access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
New: AcpiNames utility - Example namespace dump utility. Shows an example of ACPICA configuration for a minimal namespace dump utility. Uses table and namespace managers, but no AML interpreter. Does not add any functionality over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to partition and configure ACPICA. ACPICA BZ 883.
AML Debugger: Increased the debugger buffer size for method return objects. Was 4K, increased to 16K. Also enhanced error messages for debugger method execution, including the buffer overflow case.
10 years, 2 months