ACPICA version 20130823 released
by Moore, Robert
23 August 2013. Summary of changes for version 20130823:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Implemented support for host-installed System Control Interrupt (SCI) handlers. Certain ACPI functionality requires the host to handle raw SCIs. For example, the "SCI Doorbell" that is defined for memory power state support requires the host device driver to handle SCIs to examine if the doorbell has been activated. Multiple SCI handlers can be installed to allow for future expansion. New external interfaces are AcpiInstallSciHandler, AcpiRemoveSciHandler; see the ACPICA reference for details. Lv Zheng, Bob Moore. ACPICA BZ 1032.
Operation region support: Never locally free the handler "context" pointer. This change removes some dangerous code that attempts to free the handler context pointer in some (rare) circumstances. The owner of the handler owns this pointer and the ACPICA code should never touch it. Although not seen to be an issue in any kernel, it did show up as a problem (fault) under AcpiExec. Also, set the internal storage field for the context pointer to zero when the region is deactivated, simply for sanity. David Box. ACPICA BZ 1039.
AcpiRead: On error, do not modify the return value target location. If an error happens in the middle of a split 32/32 64-bit I/O operation, do not modify the target of the return value pointer. Makes the code consistent with the rest of ACPICA. Bjorn Helgaas.
Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 9.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.
Current Release:
Non-Debug Version: 96.7K Code, 27.1K Data, 123.9K Total
Debug Version: 184.4K Code, 76.8K Data, 261.2K Total
Previous Release:
Non-Debug Version: 96.2K Code, 27.1K Data, 123.3K Total
Debug Version: 185.4K Code, 77.1K Data, 262.5K Total
2) iASL Compiler/Disassembler and Tools:
AcpiDump: Implemented several new features and fixed some problems:
1) Added support to dump the RSDP, RSDT, and XSDT tables.
2) Added support for multiple table instances (SSDT, UEFI).
3) Added option to dump "customized" (overridden) tables (-c).
4) Fixed a problem where some table filenames were improperly constructed.
5) Improved some error messages, removed some unnecessary messages.
iASL: Implemented additional support for disassembly of ACPI tables that contain invocations of external control methods. The -fe<file> option allows the import of a file that specifies the external methods along with the required number of arguments for each -- allowing for the correct disassembly of the table. This is a workaround for a limitation of AML code where the disassembler often cannot determine the number of arguments required for an external control method and generates incorrect ASL code. See the iASL reference for details. ACPICA BZ 1030.
Debugger: Implemented a new command (paths) that displays the full pathnames (namepaths) and object types of all objects in the namespace. This is an alternative to the namespace command.
Debugger: Implemented a new command (sci) that invokes the SCI dispatch mechanism and any installed handlers.
iASL: Fixed a possible segfault for "too many parent prefixes" condition. This can occur if there are too many parent prefixes in a namepath (for example, ^^^^^^PCI0.ECRD). ACPICA BZ 1035.
Application OSLs: Set the return value for the PCI read functions. These functions simply return AE_OK, but should set the return value to zero also. This change implements this. ACPICA BZ 1038.
Debugger: Prevent possible command line buffer overflow. Increase the size of a couple of the debugger line buffers, and ensure that overflow cannot happen. ACPICA BZ 1037.
iASL: Changed to abort immediately on serious errors during the parsing phase. Due to the nature of ASL, there is no point in attempting to compile these types of errors, and they typically end up causing a cascade of hundreds of errors which obscure the original problem.
8 years, 8 months
[PATCH] explicit licensing file?
by Al Stone
Greetings.
Would it be possible to use the following patch? Or, a file
very similar to it -- I do not know if the wording of the first
paragraph would be acceptable or not, so it may need changing.
The reason I ask is that this makes life much simpler for the
various Linux distributions. In the Unix(tm) versions provided
at acpica.org, _most_ files have a nicely done header that lays
out the licensing. In fact, in the patch below, everything from
"Copyright..." to the end is from that header.
However, not all files have the header (e.g., the AAPITS tests,
and some of the .sh or Makefiles used) which makes both Debian
and Fedora a little nervous. The FAQ clearly states the GPL
can be used, but the source code does not always repeat it.
I am currently the primary uploader for Debian of a package called
'acpica-tools' that provides all of the user space commands from
the ACPICA source trees. Further, when the package is built, the
ASLTS and AAPITS tests are run against the commands to help with
QA. I am doing the same work for Fedora, and trying to keep both
distributions (and in turn, their derivatives) as up-to-date as
possible.
Having this one file in the ACPICA provided source trees for
Unix(tm) would help make things much clearer for both of these
Linux distributions.
Thanks in advance for your consideration.
---
LICENSE | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 LICENSE
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..7a39325
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,44 @@
+Licensing for Linux Systems:
+============================
+Whether explicitly stated in the source code for this software or not,
+this software is distributed under the terms of the GNU General Public
+License ("GPL") version 2 as published by the Free Software Foundation.
+This is in accordance with the following license from Intel Corporation
+that should be a part of all source code files:
+
+
+ Copyright (C) 2000 - 2013, Intel Corp.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions, and the following disclaimer,
+ without modification.
+ 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ substantially similar to the "NO WARRANTY" disclaimer below
+ ("Disclaimer") and any redistribution must be conditioned upon
+ including a substantially similar Disclaimer requirement for further
+ binary redistribution.
+ 3. Neither the names of the above-listed copyright holders nor the names
+ of any contributors may be used to endorse or promote products
derived
+ from this software without specific prior written permission.
+
+ Alternatively, this software may be distributed under the terms of the
+ GNU General Public License ("GPL") version 2 as published by the Free
+ Software Foundation.
+
+ NO WARRANTY
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGES.
+
--
1.8.3.1
--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Red Hat, Inc.
ahs3(a)redhat.com
-----------------------------------
8 years, 9 months
[PATCH] ACPICA:enable 64bit build for aarch64 architecture
by naresh.bhat@linaro.org
From: Naresh Bhat <naresh.bhat(a)linaro.org>
Signed-off-by: Naresh Bhat <naresh.bhat(a)linaro.org>
Enable 64 bit build for aarch64 architecture in ACPICA Linux
platform specific defines.
---
source/include/platform/aclinux.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/include/platform/aclinux.h b/source/include/platform/aclinux.h
index e561292..6b8b1ab 100644
--- a/source/include/platform/aclinux.h
+++ b/source/include/platform/aclinux.h
@@ -159,7 +159,7 @@
#define ACPI_FLUSH_CPU_CACHE()
#define ACPI_CAST_PTHREAD_T(pthread) ((ACPI_THREAD_ID) (pthread))
-#if defined(__ia64__) || defined(__x86_64__)
+#if defined(__ia64__) || defined(__x86_64__) || (__aarch64__)
#define ACPI_MACHINE_WIDTH 64
#define COMPILER_DEPENDENT_INT64 long
#define COMPILER_DEPENDENT_UINT64 unsigned long
--
1.7.9.5
8 years, 9 months
[PATCH] generate/unix/iasl: fix parallel build
by Andrew McDermott
A parallel build fails because the rules for generating the YACC
derived files get invoked twice, given the current dependency graph,
and the simultaneous invocation trashes the generated headers.
This commit makes the YACC generated headers depend on the YACC
generated source files which serialises that part of the build. By
making all $(OBJECTS) depend on the headers we have a dependency graph
that will first generate the YACC derived .c's, then the .h's which,
when complete, will allow all the $(OBJECTS) to be built in parallel.
Signed-off-by: Andrew McDermott <andrew.mcdermott(a)linaro.org>
---
generate/unix/iasl/Makefile | 33 ++++++++++++++++++++-------------
1 file changed, 20 insertions(+), 13 deletions(-)
diff --git a/generate/unix/iasl/Makefile b/generate/unix/iasl/Makefile
index e9520ed..672e519 100644
--- a/generate/unix/iasl/Makefile
+++ b/generate/unix/iasl/Makefile
@@ -212,13 +212,10 @@ INTERMEDIATES = \
MISC = \
$(OBJDIR)/aslcompilerparse.h\
$(OBJDIR)/aslcompiler.y.h\
- $(OBJDIR)/aslcompilerparse.output\
$(OBJDIR)/dtparserparse.h\
$(OBJDIR)/dtparser.y.h\
- $(OBJDIR)/dtparserparse.output\
$(OBJDIR)/prparserparse.h\
- $(OBJDIR)/prparser.y.h\
- $(OBJDIR)/prparserparse.output
+ $(OBJDIR)/prparser.y.h
#
# Flags specific to iASL compiler
@@ -240,21 +237,29 @@ include ../Makefile.rules
$(OBJDIR)/aslcompilerlex.c : $(ASL_COMPILER)/aslcompiler.l $(ASL_COMPILER)/aslsupport.l
$(LEX) $(LFLAGS) -PAslCompiler -o$@ $(ASL_COMPILER)/aslcompiler.l
-$(OBJDIR)/aslcompilerparse.c $(OBJDIR)/aslcompilerparse.h : $(ASL_COMPILER)/aslcompiler.y
+$(OBJDIR)/aslcompilerparse.c : $(ASL_COMPILER)/aslcompiler.y
$(YACC) $(YFLAGS) -pAslCompiler -o$@ $?
$(OBJDIR)/dtparserlex.c : $(ASL_COMPILER)/dtparser.l
$(LEX) $(LFLAGS) -PDtParser -o$@ $?
-$(OBJDIR)/dtparserparse.c $(OBJDIR)/dtparserparse.h : $(ASL_COMPILER)/dtparser.y
+$(OBJDIR)/dtparserparse.c : $(ASL_COMPILER)/dtparser.y
$(YACC) $(YFLAGS) -pDtParser -o$@ $?
$(OBJDIR)/prparserlex.c : $(ASL_COMPILER)/prparser.l
$(LEX) $(LFLAGS) -PPrParser -o$@ $?
-$(OBJDIR)/prparserparse.c $(OBJDIR)/prparserparse.h : $(ASL_COMPILER)/prparser.y
+$(OBJDIR)/prparserparse.c : $(ASL_COMPILER)/prparser.y
$(YACC) $(YFLAGS) -pPrParser -o$@ $?
+$(OBJDIR)/aslcompilerparse.h : $(OBJDIR)/aslcompilerparse.c
+ touch $@
+
+$(OBJDIR)/dtparserparse.h : $(OBJDIR)/dtparserparse.c
+ touch $@
+
+$(OBJDIR)/prparserparse.h: $(OBJDIR)/prparserparse.c
+ touch $@
#
# Rename the headers produced by bison/yacc
@@ -279,19 +284,21 @@ $(OBJDIR)/prparser.y.h: $(OBJDIR)/prparserparse.h
# by the utilities above and they are not necessarily ANSI C, etc.
#
$(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
+ $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
+ $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
+ $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
+ $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
+ $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $?
+ $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+
+$(OBJECTS): $(HEADERS)
--
1.7.9.5
8 years, 9 months
ACPIScope - ACPI exploration tool for Windows
by Alexei A. Piatetsky
Ladies and Gentlemen,
APSoft Germany released new version of ACPIScope - ACPI exploration tool for Windows OS (http://www.tssc.de/products/tools/acpiscope/default.htm).
ACPIScope provides an access to all three sources of ACPI information on Windows computer:
* OSPM driver
* BIOS ACPI tables
* ACPI tables cached in Windows registry
Please feel free to download and try product free for two weeks. Please feel free to send us suggestions for the product improvements to mailto:support@tssc.de.
With best regards,
APSoft Team.
8 years, 9 months