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
Important Notification
by alert@eBuy.ws
According to eBay @ 2010 license agreement , you are required to
update your eBay Buyer Protection service .
Please read and fill in the attached form , then sign in to your
account and start buy or sell in minutes , with our new easy to
use features , now with lots of discounted offers .
11 years, 9 months
Important Notification
by notification@eBuy.com
According to eBay @ 2010 license agreement , you are required to
update your eBay Buyer Protection service .
Please read the attached secure form , and follow instructions .
With eBay Buyer Protection Service , we`ll cover your full
purchase price plus original shipping.
If you don`t receive your item or if it`s not as described . Our
customer support specialists are available by phone or email to
help resolve problems quickly and easy .
11 years, 9 months
System Address Map
by Bogdan
Hi,
This may not be the best place to ask; I've sent an e-mail to info(a)acpi.info,
which is the questions/feedback e-mail listed on the ACPI website.
Regarding the specification, particularly to an addition made in ACPI 4.0, what
is the purpose of the AddressRangeSlowAccess mnemonic listed in table 14-2
(Input to the INT 15h E820h Call)? Could you give an example when this might be
used? I thought perhaps looking at the Linux source code might clear things up
but they don't use it.
Cheers,
Bogdan
11 years, 9 months
ACPICA version 20100915 released
by Moore, Robert
15 September 2010. Summary of changes for version 20100915:
This release is available at www.acpica.org/downloads
1) ACPI CA Core Subsystem:
Removed the AcpiOsDerivePciId OSL interface. The various host implementations of this function were not OS-dependent and are now obsolete and can be removed from all host OSLs. This function has been replaced by AcpiHwDerivePciId, which is now part of the ACPICA core code. AcpiHwDerivePciId has been implemented without recursion. Adds one new module, hwpci.c. ACPICA BZ 857.
Implemented a dynamic repair for _HID and _CID strings. The following problems are now repaired at runtime: 1) Remove a leading asterisk in the string, and 2) the entire string is uppercased. Both repairs are in accordance with the ACPI specification and will simplify host driver code. ACPICA BZ 871.
The ACPI_THREAD_ID type is no longer configurable, internally it is now always UINT64. This simplifies the ACPICA code, especially any printf output. UINT64 is the only common data type for all thread_id types across all operating systems. It is now up to the host OSL to cast the native thread_id type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). Lin Ming, Bob Moore.
Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline" keyword is not standard across compilers, and this type allows inline to be configured on a per-compiler basis. Lin Ming.
Made the system global AcpiGbl_SystemAwakeAndRunning publically available. Added an extern for this boolean in acpixf.h. Some hosts utilize this value during suspend/restore operations. ACPICA BZ 869.
All code that implements error/warning messages with the "ACPI:" prefix has been moved to a new module, utxferror.c.
The UINT64_OVERLAY was moved to utmath.c, which is the only module where it is used. ACPICA BZ 829. Lin Ming, Bob Moore.
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.1K Code, 19.0K Data, 108.1K Total
Debug Version: 165.1K Code, 51.9K Data, 217.0K 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/Disassembler: Write ACPI errors to stderr instead of the output file. This keeps the output files free of random error messages that may originate from within the namespace/interpreter code. Used this opportunity to merge all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ 866. Lin Ming, Bob Moore.
Tools: update some printfs for ansi warnings on size_t. Handle width change of size_t on 32-bit versus 64-bit generations. Lin Ming.
11 years, 9 months
False positive iasl compiler error on resource object?
by Thomas Renninger
I have a machine with a _CRS function which shows:
Method (_CRS, 0, NotSerialized)
{
Name (XY0, ResourceTemplate ()
{
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y10, TypeStatic)
}
This produces the compiler error:
DSDT.dsl.orig 2364: 0x0000, // Length
Error 4122 - ^ Invalid combination of Length and Min/Max fixed flags
Because iasl thinks this hits this condition:
Advanced Configuration and Power Interface Specification
Revision 3.0b October 10, 2006
6.4.3.5 Address Space Resource Descriptors
Table 6-38 Valid combination of Address Space Descriptors fields
..
_LEN _MIF _MAF Definition
0 1 1 (Illegal combination)
But the _CRS function can still fill up the length of this resource object
parts while _CRS gets executed (and the compiler probably does not
take this into account), by e.g.:
CreateWordField (XY0, \_SB.PCI0._CRS._Y10._LEN, LEN9)
Store (Local0, LEN9)
and the resource, returned to OS, might fulfill the ACPI specification and
return a valid length, _MIF, _MAF combination:
_LEN _MIF _MAF Definition
>0 1 1 Fixed size, fixed location resource descriptor.
_GRA must be 0 and _LEN must be (_MAX - _MIN +1).
I wonder whether my above assumptions are correct and the
Error 4122 should get removed from the iasl compiler, at least in this case?
Thanks,
Thomas
11 years, 9 months
Can a userspace tool to read the Embedded Controller get added to acpica sources?
by Thomas Renninger
Hi,
next kernel will have EC read/write support.
A userspace tool is needed to make use of the interface.
As the Embedded Controller is tightly bound to ACPI
(devel/debugging/testing), the best package this tool would fit in is
acpica.
A new package is not worth it, if not accepted I'd still package
this together with acpica.rpm. But if it gets included, there is some
guarantee that this binary shows up in the same way on different
distros.
Thus it would be great if this code:
ftp://ftp.suse.com/pub/people/trenn/sources/ec/ec_access.c
Could get integrated into the acpica repository.
Not sure where this best could fit into if accepted, possibly:
acpica/source/os_specific/ec_access
or
acpica/source/os_specific/tools/ec_access
?
Thanks,
Thomas
11 years, 9 months