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)
}
11 years, 4 months
Error in documentation of AcpiOsDerivePciId?
by Grégoire Sutre
Hi list,
According to the ACPICA Programmer Reference, the function
AcpiOsDerivePciId takes as arguments:
AcpiOsDerivePciId(
ACPI_HANDLE DeviceHandle
ACPI_HANDLE PciRegionHandle
ACPI_PCI_ID **PciId)
with:
- DeviceHandle: a handle to the PCI device.
- PciRegionHandle: a handle the PCI configuration space operation
region.
However, the only call to AcpiOsDerivePciId in the ACPICA code, in
events/evrgnini.c, is:
AcpiOsDerivePciId (PciRootNode, RegionObj->Region.Node, &PciId);
Moreover, the file include/acpiosxf.h contains:
/*
* Interim function needed for PCI IRQ routing
*/
void
AcpiOsDerivePciId(
ACPI_HANDLE Rhandle,
ACPI_HANDLE Chandle,
ACPI_PCI_ID **PciId);
So it seems to me that the correct arguments for AcpiOsDerivePciId are:
AcpiOsDerivePciId(
ACPI_HANDLE PciRootHandle
ACPI_HANDLE DeviceHandle
ACPI_PCI_ID **PciId)
with:
- PciRootHandle: a handle the PCI root bridge upstream of the PCI
device (or to the name space root node if no
PCI root bridge was found in the ancestors).
- DeviceHandle: a handle to the PCI device.
Is that correct?
Thanks for your help,
Grégoire
11 years, 10 months
ACPICA version 20100428 released
by Moore, Robert
28 April 2010. Summary of changes for version 20100428:
This release is available at www.acpica.org/downloads
Note: The ACPI 4.0a specification was released on April 5, 2010 and is available at www.acpi.info. This is primarily an errata release.
1) ACPI CA Core Subsystem:
Implemented GPE support for dynamically loaded ACPI tables. For all GPEs, including FADT-based and GPE Block Devices, execute any _PRW methods in the new table, and process any _Lxx/_Exx GPE methods in the new table. Any runtime GPE that is referenced by an _Lxx/_Exx method in the new table is immediately enabled. Provides compatibility with other ACPI implementations. Two new files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob Moore.
Fixed a regression introduced in version 20100331 within the table manager where initial table loading could fail. This was introduced in the fix for AcpiReallocateRootTable. Also, renamed some of fields in the table manager data structures to clarify their meaning and use.
Fixed a possible allocation overrun during internal object copy in AcpiUtCopySimpleObject. The original code did not correctly handle the case where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847.
Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a possible access beyond end-of-allocation. Also, now fully validate descriptor (size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847
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: 87.9K Code, 18.6K Data, 106.5K Total
Debug Version: 163.5K Code, 51.3K Data, 214.8K Total
Current Release:
Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total
Debug Version: 164.2K Code, 51.5K Data, 215.7K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented Min/Max/Len/Gran validation for address resource descriptors. This change implements validation for the address fields that are common to all address-type resource descriptors. These checks are implemented: Checks for valid Min/Max, length within the Min/Max window, valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per table 6-40 in the ACPI 4.0a specification. Also split the large aslrestype1.c and aslrestype2.c files into five new files. ACPICA BZ 840.
iASL: Added support for the _Wxx predefined names. This support was missing and these names were not recognized by the compiler as valid predefined names. ACPICA BZ 851.
iASL: Added an error for all predefined names that are defined to return no value and thus must be implemented as Control Methods. These include all of the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.
iASL: Implemented the -ts option to emit hex AML data in ASL format, as an ASL Buffer. Allows ACPI tables to be easily included within ASL files, to be dynamically loaded via the Load() operator. Also cleaned up output for the -ta and -tc options. ACPICA BZ 853.
Tests: Added a new file with examples of extended iASL error checking. Demonstrates the advanced error checking ability of the iASL compiler. Available at tests/misc/badcode.asl.
12 years, 1 month
interpretter
by webczat@nullroute.eu.org
Because i just have some special requirements.
12 years, 2 months
interpretter
by webczat@nullroute.eu.org
I just want to write full acpi support in my os.
I mean, myself.
At least basic support.
12 years, 2 months
interpretter
by webczat@nullroute.eu.org
i'm asking like about writing it myself without looking for sources. what extra difficulties can i have, with the acpi interpretter?
12 years, 2 months
interpretter
by webczat@nullroute.eu.org
What difficulties can i have with writing it?
12 years, 2 months
interpretter
by webczat@nullroute.eu.org
Hey.
How easy is it to write an aml interpretter, or how hard?
12 years, 2 months
Periosic tasks
by Wim Vervoorn
Hello,
I have an issue that you might be able to help me with.
I am implementing a control method battery on a system that does connect
the battery to the SMBUS but can't generate alerts when the state
changes.
Obviously I need to make sure the _BST is evaluated regularly to make
sure the correct values are reported.
Do you know if and how I can influence the intervals the OS evaluates
the _BST from ASL code? Normally I would simply notify when I get an
event from the EC.
Now I either need to rely in the OS to be so kind to evaluate or I need
to be able to periodically send the notify to the battery to make sure
the OS will evaluate the _BST.
Any suggestions are welcome.
Best Regards,
Wim Vervoorn
Eltan B.V.
Het Schild 13
5275 EB Den Dungen
The Netherlands
T : +31-(0)73-594 46 64
F : +31(0)73-594 11 87
E : wvervoorn(a)eltan.com
W : http://www.eltan.com
"THIS MESSAGE CONTAINS CONFIDENTIAL INFORMATION. UNLESS YOU ARE THE
INTENDED RECIPIENT OF THIS MESSAGE, ANY USE OF THIS MESSAGE IS STRICTLY
PROHIBITED. IF YOU HAVE RECEIVED THIS MESSAGE IN ERROR, PLEASE
IMMEDIATELY NOTIFY THE SENDER BY TELEPHONE +31-(0)73-5944664 OR REPLY
EMAIL, AND IMMEDIATELY DELETE THIS MESSAGE AND ALL COPIES."
12 years, 2 months
ACPI 4.0a has been published
by Moore, Robert
ACPI 4.0a has been published. This revision includes errata corrections and clarifications and can be downloaded from: http://www.acpi.info/spec.htm
Revision
Change Description
Affected Sections
4.0a
Apr. 2010
Errata corrected and clarifications added.
Removed text concerning government requirement of mechanical off
Clarified URL update document, Corrected section references for APIC, SLIT, SRAT in Table 5-5, Update URLs and reformatted Table 5-6
Corrected reference to Interrupt Source Override Structure
Corrected name for CPEP table
Corrected reference to SMBus, should be IPMI
Clarified BusCheck and DeviceCheck notifications in Table 5-53
Added link to non-ACPI Plug and Play ID reference document
Added missing _ATT and _GAI names, Corrected page/section references in Table 5-67
Corrected EndTag name value. Was 0x78, correct value is 0x79 Table 6-33
Consumer/Producer bit is ignored (Restored 2.0C change that had been lost)
Clarified use of _GLK (Global Lock) object
Corrected definition of _TSD object
Corrected definition of _PSD object
Corrected table name (CPEP)
Corrected "maximum positive adjustment" value. Was 500%, correct value is 50%, Updated description of example - 300 to 400 lux, Eliminated hardcoded package lengths in examples, Changed "brightness" to "highest ambient light value"
Corrected reference to _IDE, should be _GTM. Corrected table reference
Clarified GPE Block Device Description
Corrected _PLD object examples
Repaired diagram that would not display properly Figure 10-2
Added missing _BCT method to Table 10-3
Clarified that OEM Information field should contain NULL string if not supported in Table 10-4 &Table 10-5
Corrected description of _BTM arguments and return value
Clarified description of _BCT return value
Corrected HID for Power Source device. Was ACPI0003, correct value is ACPI0004
Corrected _PIF example. First package element was a Buffer, should be Integer, Clarified that OEM Information field should contain NULL string if not supported Table 10-10
Corrected description of _SHL method Table 10-11
Clarified _PRL return value, a list of References
Corrected _PMC example. First package element was a Buffer, should be Integer
Clarified that OEM Information field should contain NULL string if not supported Table 10-12
Removed "TODO" note. Updated example
Repaired diagram that would not display properly Figure 15-1
Corrected error conditions from "fatal" to "corrected
Corrected several incorrect section references, Clarified number of Generic Error Data Entry structures is >=1 (not Zero)
Clarified number of Generic Error Data Entry structures is >=1 (not Zero)
Added new section clarifying SCI notification for generic error sources
Added new section describing Firmware First error handling
Clarified purpose of the codes Table 17-17
Added reference to table of COMMAND_STATUS codes Table 17-23
Clarified purpose of the command status codes in Table 17-27 and the error type definitions in Table 17-28
Added _ATT resource descriptor field name
Clarified rules for Buffer vs. Integer return types from a field unit
Corrected section/page reference
2.2
5.2.6
5.2.12.4
5.2.18
5.5.2.4.3.1
5.6.5
5.6.6
5.6.7
6.4.2.8
6.4.3.5.1,2,3
6.5.7
8.4.3.4
8.4.4.5
8.4.5
9.2.5
9.8.2.1.1
9.10
9.13
10.1.3.1
10.2.2
10.2.1.1-2
10.2.2.8
10.2.2.9
10.3
10.3.3
10.4
10.3.4
10.4.1
10.4.1
10.5
15.1
17.1
17.3.1
17.3.2.6.1
17.3.2.6.2
17.4
17.5.1.1
17.6.1
17.6.3
18.1.8
18.5.44,89
18.5.101
12 years, 2 months