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, 11 months
beginner guide
by admin
Hello,
I am a B.tech college student and new to ACPI and
want to work for ACPI,but is there any prerequisite
that I need to fulfill.
Please guide me.
Thank You.
11 years, 11 months
acpica-unix-20100702
by Robert Hinson
I downloaded this and went to the compiler directory and ran make.
It came up with an error saying:
make: *** No rule to make target `../components/debugger/dbfileio.c', needed by
`dbfileio.o'. Stop.
There is no components directory.
Did it not get included?
11 years, 11 months
AcpiOsReadPciConfiguration
by Rüdiger Ihle
Hi all,
what's the correct prototype for AcpiOsReadPciConfiguration ?
The acpica-reference.pdf says:
AcpiOsReadPciConfiguration (
ACPI_PCI_ID *PciId,
UINT32 Reg,
UINT64 *Value,
UINT32 Width);
while acpiosxf.h states:
AcpiOsReadPciConfiguration (
ACPI_PCI_ID *PciId,
UINT32 Reg,
void *Value,
UINT32 Width);
--
Mit freundlichem Gruss / Kind regards
Dipl.-Ing. Rüdiger Ihle
_____________________________________________________________
S&T Systemtechnik GmbH fon: +49 36 77 / 666 777
Gabelsbergerstr. Nr. 9 fax: +49 36 77 / 666 799
D-98693 Ilmenau email: r.ihle(a)s-t.de
web: http://www.s-t.de
HRB: 302033
Registergericht: Jena
Geschäftsführer: Steffen Beyer
_____________________________________________________________
11 years, 11 months
Reserved method (_PLD) is a buffer instead of a package
by Thomas Renninger
Hi,
I found this when compiling the DSDT from this dump:
https://bugzilla.kernel.org/attachment.cgi?id=27016
from this bug:
https://bugzilla.kernel.org/show_bug.cgi?id=16072
The iasl error is:
DSDT.modif.dsl 6635: Name (_PLD, Buffer (0x10)
Error 4080 - Invalid object type for reserved name, must be ^ (Package)
ACPI spec says (3.0b):
====================
6.1.6 _PLD (Physical Device Location)
The _PLD method returns data...
This method returns a package containing, a single
or multiple buffer entries. At least one buffer entry
must be returned using the bit definitions below.
====================
So I expect the BIOS (see code snippet below) is wrong, because it
returns a plain buffer, instead of a Package of buffer(s)?
I could get rid of the error by explicitly declaring the buffer and
returning it (which should still be wrong, because a Package of
buffer(s) should get returned?).
iasl should either:
- complain about both (a named buffer is declared and the named
object is returned or if simply a (unnamed) buffer is returned)
- or if in case returning a plain buffer is accepted/workarounded,
it should accept both versions.
Argl, it's hard to get this into words, best you just have a look at below
code snippets...
Be aware that this seem to be a rather new machine/BIOS.
It could be that neither Linux nor Windows make use of _PLD (don't know)
and these guys may have to fix that up anyway (return a package...).
It would be great to get a statement should fix this and if this is the case,
whether my patch at the very end of the mail is the correct way to do that.
Thanks,
Thomas
The affected ASL code:
=========================
Name (_ADR, Zero)
Device (PRT1)
{
Name (_ADR, One)
Name (_UPC, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
=========================
The patch that fixes the error, but the code is still not correct (plain buffer is
returned instead of a package containing the buffer):
=========================
--- DSDT.dsl 2010-07-05 13:14:20.945010000 +0200
+++ DSDT.modif.dsl 2010-07-05 13:56:56.478132000 +0200
@@ -6601,6 +6601,11 @@
Device (HU01)
{
Name (_ADR, Zero)
+ Name (PLDB, Buffer (0x10)
+ {
+ /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ })
Device (PRT1)
{
Name (_ADR, One)
@@ -6611,11 +6616,10 @@
Zero,
Zero
})
- Name (_PLD, Buffer (0x10)
+ Method (_PLD, 0, NotSerialized)
{
- /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- })
+ return (PLDB)
+ }
}
Device (PRT2)
=========================
The patch which works and should be the correct fix:
=========================
--- DSDT.dsl 2010-07-05 13:14:20.945010000 +0200
+++ DSDT.modif.dsl 2010-07-05 14:34:23.335580000 +0200
@@ -6628,10 +6635,13 @@
Zero,
Zero
})
- Name (_PLD, Buffer (0x10)
+ Name (_PLD, Package (0x1)
{
- /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ Buffer (0x10)
+ {
+ /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }
})
}
}
=========================
11 years, 11 months
Battery Presence
by Sean Shoufu Luo
Previously, I have ported ACPICA to our system. These days, I wonna to write
ACPI driver for battery with Netbsd's version as guide, but I found when I
initialized battery driver, it would issue a command to query _STA for
battery presence. But its return value is 0xf, that indicates PRESENCE bit
is not set (0x00000010). I'm puzzled. I'm using battery ....Why the battery
not present?
Anyone can give any hint?
Thanks,
Sean
11 years, 12 months
ACPICA version 20100702 released
by Moore, Robert
02 July 2010. Summary of changes for version 20100702:
This release is available at www.acpica.org/downloads
1) ACPI CA Core Subsystem:
Implemented several updates to the recently added GPE reference count support. The model for "wake" GPEs is changing to give the host OS complete control of these GPEs. Eventually, the ACPICA core will not execute any _PRW methods, since the host already must execute them. Also, additional changes were made to help ensure that the reference counts are kept in proper synchronization with reality. Rafael J. Wysocki.
1) Ensure that GPEs are not enabled twice during initialization.
2) Ensure that GPE enable masks stay in sync with the reference count.
3) Do not inadvertently enable GPEs when writing GPE registers.
4) Remove the internal wake reference counter and add new AcpiGpeWakeup interface. This interface will set or clear individual GPEs for wakeup.
5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces are now used for "runtime" GPEs only.
Changed the behavior of the GPE install/remove handler interfaces. The GPE is no longer disabled during this process, as it was found to cause problems on some machines. Rafael J. Wysocki.
Reverted a change introduced in version 20100528 to enable Embedded Controller multi-byte transfers. This change was found to cause problems with Index Fields and possibly Bank Fields. It will be reintroduced when these problems have been resolved.
Fixed a problem with references to Alias objects within Package Objects. A reference to an Alias within the definition of a Package was not always resolved properly. Aliases to objects like Processors, Thermal zones, etc. were resolved to the actual object instead of a reference to the object as it should be. Package objects are only allowed to contain integer, string, buffer, package, and reference objects. Redhat bugzilla 608648.
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: 88.3K Code, 18.8K Data, 107.1K Total
Debug Version: 164.1K Code, 51.5K Data, 215.6K Total
Current Release:
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
Debug Version: 164.0K Code, 51.5K Data, 215.5K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented a new compiler subsystem to allow definition and compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These are called "ACPI Data Tables", and the new compiler is the "Data Table Compiler". This compiler is intended to simplify the existing error-prone process of creating these tables for the BIOS, as well as allowing the disassembly, modification, recompilation, and override of existing ACPI data tables. See the iASL User Guide for detailed information.
iASL: Implemented a new Template Generator option in support of the new Data Table Compiler. This option will create examples of all known ACPI tables that can be used as the basis for table development. See the iASL documentation and the -T option.
Disassembler and headers: Added support for the WDDT ACPI table (Watchdog Descriptor Table).
Updated the Linux makefiles for iASL and AcpiExec to place the generated object files in the local directory so that there can be no collisions between the shared files between them that are generated with different options.
Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use the #define __APPLE__ to enable this support.
11 years, 12 months
[patch 0/5] iASL patches in Debian
by malattia@linux.it
Hello again (this time on the correct mailing list)!
Please Cc me on replies as I'm not subscribed to this list.
Here's a re-send of the patches incorrectly sent to [email protected] and with
(hopefully better descriptions).
I've been carrying these patches in the iasl Debian package for some time. They
are all refreshed and reworked to apply cleanly on top of acpica-unix-20100528.
The series consists a couple of trivial patches to fix building on the
FreeBSD and Hurd kernel flavours of Debian and some larger ones to enable
compiling ASL on big endian architectures.
It would be great if you could apply the patches to your source tree and
ship new release with this work included.
Let me know if you want me to run more tests or change something in the
patches.
I tested building tests/misc/grammar.asl (plus a number or other DSDTs I
have here) with the whole set applied and the results were identical on
BE and LE machines as well as being identical to what a clean iasl
produces on x86[1].
You can see build logs for all the architectures supported here:
https://buildd.debian.org/status/package.php?p=acpica-unix
[1]: checked with (1) an hex dump of the AML file, (2) the C file
generated with -tc and (3) by decompiling the AML to DSL on x86 and
comparing the results.
As a side note pristine iasl on x86 sefaults when building
test/misc/grammar.asl, with these patches applied it doesn't.
Thanks
--
mattia
11 years, 12 months
Government funds available
by Fred
Press Release
7/2/2010
The Federal Grants and Loans Catalog is now available. This publication
contains more than 5000 financial programs, subsidies, scholarships,
grants and loans offered by the US federal government and various
foundations and associations across the United States. That is over
2200 pages of information !!!
Contents of the Catalog:
-Federal agency administering a program
-Authorization upon which a program is based
-Objectives and goals of a program
-Types of financial assistance offered under a program
-Uses and restrictions placed upon a program
-Eligibility requirements
-Application and award process
-Regulations, guidelines and literature relevant to a program
-Information contacts at the headquarters, regional, and local offices
-Programs that are related based upon program objectives and uses
Programs in the Catalog provide a wide range of benefits and services,
which have been grouped into 20 basic functional categories, and 176
subcategories that identify specific areas of interest. Listed below are
the 20 basic categories in which all programs have been grouped by
primary purpose.
Agriculture
Business and Commerce
Community Development
Consumer Protection
Cultural Affairs
Disaster Prevention and Relief
Education
Employment, Labor and Training
Energy
Environmental Quality
Food and Nutrition
Health
Housing
Income Security and Social Services
Information and Statistics
Law, Justice, and Legal Services
Natural Resources
Regional Development
Science and Technology
Transportation
CD version: $69.95
Printed version: $149.95
To order please call: 1 800 610 4543
Please do not reply to the sender's email address as this address is only
for outgoing mail.
Please reply to webmaster(a)us-grantsguide.info for assistance.
If you do not wish to receive communication from us
in the future please write "remove" in the subject
line and email it to: webmaster(a)us-grantsguide.info
You can also include all additional email addresses to be
removed in the message body.
This is a CANSPAM ACT compliant advertising broadcast sent by:
American publishing inc, 7025 CR 46A Suite 1071, Lake Mary, Fl. 32746-4753
11 years, 12 months