Regarding ACPI library
by nisha jain
Hi All,
I am working on research related to Power management and control for single
and multiprocessors and I came across ACPI standard. I want to get all CPU
power information (c state and frequency p state information) for different
applications and kernel processes running into system (with load). I went
through user manual of the ACPI and as per my understaning there is some
information written by the ACPI HW/SW module and ACPI is already a part of
most Linux kernels.I went through all the acpi site but there is no sample
program to show its usage also i have installed the UNIX Format Source Code
and Build Environment
<http://www.acpica.org/downloads/unix_source_code.php>and UNIX
Format Test Suite <http://www.acpica.org/downloads/unix_test_suite.php> of
the ACPI and successfully compiled it. I am not sure how and which acpi APIs
needs to be called to get such information and how to install the ACPI
library...Also I want to control CPU frquency and state not sure how to
achieve it using ACPI library?
I am using an environment with Intel Dual Core Tm processor and Ubuntu
platform.
Thanks and Regards,
- Nisha
12 years, 6 months
ACPICA version 20091214 released
by Moore, Robert
14 December 2009. Summary of changes for version 20091214:
This release is available at www.acpica.org/downloads
1) ACPI CA Core Subsystem:
Enhanced automatic data type conversions for predefined name repairs. This change expands the automatic repairs/conversions for predefined name return values to make Integers, Strings, and Buffers fully interchangeable. Also, a Buffer can be converted to a Package of Integers if necessary. The nsrepair.c module was completely restructured. Lin Ming, Bob Moore.
Implemented automatic removal of null package elements during predefined name repairs. This change will automatically remove embedded and trailing NULL package elements from returned package objects that are defined to contain a variable number of sub-packages. The driver is then presented with a package with no null elements to deal with. ACPICA BZ 819.
Implemented a repair for the predefined _FDE and _GTM names. The expected return value for both names is a Buffer of 5 DWORDs. This repair fixes two possible problems (both seen in the field), where a package of integers is returned, or a buffer of BYTEs is returned. With assistance from Jung-uk Kim.
Implemented additional module-level code support. This change will properly execute module-level code that is not at the root of the namespace (under a Device object, etc.). Now executes the code within the current scope instead of the root. ACPICA BZ 762. Lin Ming.
Fixed possible mutex acquisition errors when running _REG methods. Fixes a problem where mutex errors can occur when running a _REG method that is in the same scope as a method-defined operation region or an operation region under a module-level IF block. This type of code is rare, so the problem has not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
Fixed a possible memory leak during module-level code execution. An object could be leaked for each block of executed module-level code if the interpreter slack mode is enabled This change deletes any implicitly returned object from the module-level code block. Lin Ming.
Removed messages for successful predefined repair(s). The repair mechanism was considered too wordy. Now, messages are only unconditionally emitted if the return object cannot be repaired. Existing messages for successful repairs were converted to ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
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: 86.6K Code, 18.2K Data, 104.8K Total
Debug Version: 162.7K Code, 50.8K Data, 213.5K Total
Current Release:
Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a regression introduced in 20091112 where intermediate .SRC files were no longer automatically removed at the termination of the compile.
acpiexec: Implemented the -f option to specify default region fill value. This option specifies the value used to initialize buffers that simulate operation regions. Default value is zero. Useful for debugging problems that depend on a specific initial value for a region or field.
12 years, 6 months
[patch] prevent possible NULL dereference. (fwd)
by Len Brown
forwarded to devel(a)acpica.org
thanks,
Len Brown, Intel Open Source Technology Center
---------- Forwarded message ----------
Date: Tue, 10 Nov 2009 11:02:49 +0200 (SAST)
From: Dan Carpenter <error27(a)gmail.com>
To: linux-acpi(a)vger.kernel.org
Cc: lenb(a)kernel.org
Subject: [patch] prevent possible NULL dereference.
Move the check for walk_state->thread before the dereference.
Found by smatch static checker. Compile tested.
regards,
dan carpenter
Signed-off-by: Dan Carpenter <error27(a)gmail.com>
--- orig/drivers/acpi/acpica/exmutex.c 2009-11-07 09:46:53.000000000 +0200
+++ devel/drivers/acpi/acpica/exmutex.c 2009-11-07 09:48:16.000000000 +0200
@@ -375,6 +375,15 @@
return_ACPI_STATUS(AE_AML_MUTEX_NOT_ACQUIRED);
}
+ /* Must have a valid thread ID */
+
+ if (!walk_state->thread) {
+ ACPI_ERROR((AE_INFO,
+ "Cannot release Mutex [%4.4s], null thread info",
+ acpi_ut_get_node_name(obj_desc->mutex.node)));
+ return_ACPI_STATUS(AE_AML_INTERNAL);
+ }
+
/*
* The Mutex is owned, but this thread must be the owner.
* Special case for Global Lock, any thread can release
@@ -392,15 +401,6 @@
return_ACPI_STATUS(AE_AML_NOT_OWNER);
}
- /* Must have a valid thread ID */
-
- if (!walk_state->thread) {
- ACPI_ERROR((AE_INFO,
- "Cannot release Mutex [%4.4s], null thread info",
- acpi_ut_get_node_name(obj_desc->mutex.node)));
- return_ACPI_STATUS(AE_AML_INTERNAL);
- }
-
/*
* The sync level of the mutex must be equal to the current sync level. In
* other words, the current level means that at least one mutex at that
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
12 years, 6 months
Base Address Granularity
by master chief
In the ACPI specification, under IO (IO Resource Descriptor Macro) I read:
"AddressAlignment evaluates to an 8-bit integer that specifies the alignment granularity for the I/O address assigned. The field DescriptorName. _ALN is automatically created to refer to this portion of the resource descriptor."
And while the latter part about the addition of _ALN is perfectly clear to me, I have trouble understanding the former part. I looked at a number of Apple, Asus and GigaByte DSDT's and there I find Apple and GigaByte using a granularity of 0x01 and Asus 0x00.
Apparently both work, even in my own DSDT code, but I cannot for the life of me find anything related to the exact meaning of this "granularity".
Please advise. Thank you.
Chief
12 years, 6 months
Regarding powerTop Application
by nisha jain
Hi All,
Can any one help me with my previous mail? I have modified the powertop
code for CPU1 related idle state but not able to see states also not sure
how to get cpu states while on full load if it is possible?
Thanks and Regards,
Nisha
12 years, 6 months