head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.3
	acpica-20260408:1.1.1.3
	netbsd-11-0-RC3:1.1.1.3
	netbsd-11-0-RC2:1.1.1.3
	netbsd-11-0-RC1:1.1.1.3
	acpica-20251212:1.1.1.3
	acpica-20250807:1.1.1.3
	perseant-exfatfs-base-20250801:1.1.1.3
	netbsd-11:1.1.1.3.0.42
	netbsd-11-base:1.1.1.3
	acpica-20241212:1.1.1.3
	netbsd-10-1-RELEASE:1.1.1.3
	acpica-20240827:1.1.1.3
	perseant-exfatfs-base-20240630:1.1.1.3
	perseant-exfatfs:1.1.1.3.0.40
	perseant-exfatfs-base:1.1.1.3
	netbsd-8-3-RELEASE:1.1.1.2
	netbsd-9-4-RELEASE:1.1.1.3
	netbsd-10-0-RELEASE:1.1.1.3
	netbsd-10-0-RC6:1.1.1.3
	netbsd-10-0-RC5:1.1.1.3
	netbsd-10-0-RC4:1.1.1.3
	netbsd-10-0-RC3:1.1.1.3
	netbsd-10-0-RC2:1.1.1.3
	thorpej-ifq:1.1.1.3.0.38
	thorpej-ifq-base:1.1.1.3
	thorpej-altq-separation:1.1.1.3.0.36
	thorpej-altq-separation-base:1.1.1.3
	netbsd-10-0-RC1:1.1.1.3
	acpica-20230628:1.1.1.3
	netbsd-10:1.1.1.3.0.34
	netbsd-10-base:1.1.1.3
	acpica-20221020:1.1.1.3
	bouyer-sunxi-drm:1.1.1.3.0.32
	bouyer-sunxi-drm-base:1.1.1.3
	acpica-20220331:1.1.1.3
	netbsd-9-3-RELEASE:1.1.1.3
	acpica-20211217:1.1.1.3
	acpica-20210930:1.1.1.3
	thorpej-i2c-spi-conf2:1.1.1.3.0.30
	thorpej-i2c-spi-conf2-base:1.1.1.3
	thorpej-futex2:1.1.1.3.0.28
	thorpej-futex2-base:1.1.1.3
	thorpej-cfargs2:1.1.1.3.0.26
	thorpej-cfargs2-base:1.1.1.3
	acpica-20210604:1.1.1.3
	cjep_sun2x-base1:1.1.1.3
	cjep_sun2x:1.1.1.3.0.24
	cjep_sun2x-base:1.1.1.3
	cjep_staticlib_x-base1:1.1.1.3
	netbsd-9-2-RELEASE:1.1.1.3
	cjep_staticlib_x:1.1.1.3.0.22
	cjep_staticlib_x-base:1.1.1.3
	thorpej-i2c-spi-conf:1.1.1.3.0.20
	thorpej-i2c-spi-conf-base:1.1.1.3
	acpica-20210331:1.1.1.3
	thorpej-cfargs:1.1.1.3.0.18
	thorpej-cfargs-base:1.1.1.3
	acpica-20201113:1.1.1.3
	thorpej-futex:1.1.1.3.0.16
	thorpej-futex-base:1.1.1.3
	netbsd-9-1-RELEASE:1.1.1.3
	acpica-20200717:1.1.1.3
	acpica-20200430:1.1.1.3
	bouyer-xenpvh-base2:1.1.1.3
	phil-wifi-20200421:1.1.1.3
	bouyer-xenpvh-base1:1.1.1.3
	phil-wifi-20200411:1.1.1.3
	bouyer-xenpvh:1.1.1.3.0.14
	bouyer-xenpvh-base:1.1.1.3
	is-mlppp:1.1.1.3.0.12
	is-mlppp-base:1.1.1.3
	phil-wifi-20200406:1.1.1.3
	netbsd-8-2-RELEASE:1.1.1.2
	acpica-20200326:1.1.1.3
	ad-namecache-base3:1.1.1.3
	netbsd-9-0-RELEASE:1.1.1.3
	netbsd-9-0-RC2:1.1.1.3
	ad-namecache-base2:1.1.1.3
	ad-namecache-base1:1.1.1.3
	ad-namecache:1.1.1.3.0.10
	ad-namecache-base:1.1.1.3
	acpica-20191213:1.1.1.3
	netbsd-9-0-RC1:1.1.1.3
	phil-wifi-20191119:1.1.1.3
	acpica-20190816:1.1.1.3
	netbsd-9:1.1.1.3.0.8
	netbsd-9-base:1.1.1.3
	phil-wifi-20190609:1.1.1.3
	netbsd-8-1-RELEASE:1.1.1.2
	netbsd-8-1-RC1:1.1.1.2
	acpica-20190405:1.1.1.3
	isaki-audio2:1.1.1.3.0.6
	isaki-audio2-base:1.1.1.3
	pgoyette-compat-merge-20190127:1.1.1.3
	pgoyette-compat-20190127:1.1.1.3
	pgoyette-compat-20190118:1.1.1.3
	acpica-20181213:1.1.1.3
	pgoyette-compat-1226:1.1.1.3
	pgoyette-compat-1126:1.1.1.3
	pgoyette-compat-1020:1.1.1.3
	pgoyette-compat-0930:1.1.1.3
	pgoyette-compat-0906:1.1.1.3
	netbsd-7-2-RELEASE:1.1.1.1
	acpica-20180810:1.1.1.3
	pgoyette-compat-0728:1.1.1.3
	netbsd-8-0-RELEASE:1.1.1.2
	phil-wifi:1.1.1.3.0.4
	phil-wifi-base:1.1.1.3
	pgoyette-compat-0625:1.1.1.3
	netbsd-8-0-RC2:1.1.1.2
	pgoyette-compat-0521:1.1.1.3
	acpica-20180427:1.1.1.3
	pgoyette-compat-0502:1.1.1.3
	pgoyette-compat-0422:1.1.1.3
	netbsd-8-0-RC1:1.1.1.2
	pgoyette-compat-0415:1.1.1.3
	acpica-20180313:1.1.1.3
	pgoyette-compat-0407:1.1.1.3
	pgoyette-compat-0330:1.1.1.3
	pgoyette-compat-0322:1.1.1.3
	pgoyette-compat-0315:1.1.1.3
	netbsd-7-1-2-RELEASE:1.1.1.1
	pgoyette-compat:1.1.1.3.0.2
	pgoyette-compat-base:1.1.1.3
	netbsd-7-1-1-RELEASE:1.1.1.1
	tls-maxphys-base-20171202:1.1.1.3
	acpica-20171110:1.1.1.3
	matt-nb8-mediatek:1.1.1.2.0.14
	matt-nb8-mediatek-base:1.1.1.2
	acpica-20170831:1.1.1.3
	nick-nhusb-base-20170825:1.1.1.2
	perseant-stdc-iso10646:1.1.1.2.0.12
	perseant-stdc-iso10646-base:1.1.1.2
	netbsd-8:1.1.1.2.0.10
	netbsd-8-base:1.1.1.2
	prg-localcount2-base3:1.1.1.2
	prg-localcount2-base2:1.1.1.2
	prg-localcount2-base1:1.1.1.2
	acpica-20170303:1.1.1.2
	prg-localcount2:1.1.1.2.0.8
	prg-localcount2-base:1.1.1.2
	pgoyette-localcount-20170426:1.1.1.2
	bouyer-socketcan-base1:1.1.1.2
	jdolecek-ncq:1.1.1.2.0.6
	jdolecek-ncq-base:1.1.1.2
	pgoyette-localcount-20170320:1.1.1.2
	netbsd-7-1:1.1.1.1.0.18
	netbsd-7-1-RELEASE:1.1.1.1
	netbsd-7-1-RC2:1.1.1.1
	nick-nhusb-base-20170204:1.1.1.2
	acpica-20170119:1.1.1.2
	netbsd-7-nhusb-base-20170116:1.1.1.1
	bouyer-socketcan:1.1.1.2.0.4
	bouyer-socketcan-base:1.1.1.2
	pgoyette-localcount-20170107:1.1.1.2
	netbsd-7-1-RC1:1.1.1.1
	nick-nhusb-base-20161204:1.1.1.2
	acpica-20160930:1.1.1.2
	pgoyette-localcount-20161104:1.1.1.2
	netbsd-7-0-2-RELEASE:1.1.1.1
	nick-nhusb-base-20161004:1.1.1.2
	localcount-20160914:1.1.1.2
	netbsd-7-nhusb:1.1.1.1.0.16
	netbsd-7-nhusb-base:1.1.1.1
	pgoyette-localcount-20160806:1.1.1.2
	pgoyette-localcount-20160726:1.1.1.2
	acpica-20160527:1.1.1.2
	pgoyette-localcount:1.1.1.2.0.2
	pgoyette-localcount-base:1.1.1.2
	nick-nhusb-base-20160907:1.1.1.2
	nick-nhusb-base-20160529:1.1.1.2
	netbsd-7-0-1-RELEASE:1.1.1.1
	acpica-20160422:1.1.1.2
	nick-nhusb-base-20160422:1.1.1.2
	nick-nhusb-base-20160319:1.1.1.2
	acpica-20160108:1.1.1.2
	nick-nhusb-base-20151226:1.1.1.2
	netbsd-7-0:1.1.1.1.0.14
	netbsd-7-0-RELEASE:1.1.1.1
	nick-nhusb-base-20150921:1.1.1.2
	acpica-20150717:1.1.1.2
	netbsd-7-0-RC3:1.1.1.1
	netbsd-7-0-RC2:1.1.1.1
	netbsd-7-0-RC1:1.1.1.1
	nick-nhusb-base-20150606:1.1.1.1
	acpica-20150410:1.1.1.1
	nick-nhusb-base-20150406:1.1.1.1
	nick-nhusb:1.1.1.1.0.12
	nick-nhusb-base:1.1.1.1
	acpica-20140926:1.1.1.1
	tls-maxphys-base:1.1.1.1
	tls-maxphys:1.1.1.1.0.10
	netbsd-7:1.1.1.1.0.8
	netbsd-7-base:1.1.1.1
	yamt-pagecache:1.1.1.1.0.6
	rmind-smpnet-base:1.1.1.1
	rmind-smpnet:1.1.1.1.0.4
	rmind-smpnet-nbase:1.1.1.1
	yamt-pagecache-base9:1.1.1.1
	tls-earlyentropy:1.1.1.1.0.2
	tls-earlyentropy-base:1.1.1.1
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1
	riastradh-drm2-base3:1.1.1.1
	acpica-20131218:1.1.1.1
	intel:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2013.12.27.18.45.57;	author christos;	state Exp;
branches
	1.1.1.1;
next	;
commitid	V0GPYwkMFFnhONix;

1.1.1.1
date	2013.12.27.18.45.57;	author christos;	state Exp;
branches
	1.1.1.1.4.1
	1.1.1.1.6.1
	1.1.1.1.10.1
	1.1.1.1.12.1;
next	1.1.1.2;
commitid	V0GPYwkMFFnhONix;

1.1.1.2
date	2015.08.18.09.53.33;	author christos;	state Exp;
branches;
next	1.1.1.3;
commitid	ReVzBajnOLQFBJxy;

1.1.1.3
date	2017.09.15.16.50.43;	author christos;	state Exp;
branches;
next	;
commitid	DtE7MJxIctohwj7A;

1.1.1.1.4.1
date	2013.12.27.18.45.57;	author rmind;	state dead;
branches;
next	1.1.1.1.4.2;
commitid	mL5ZYSzpqK6QS2Bx;

1.1.1.1.4.2
date	2014.05.18.17.45.50;	author rmind;	state Exp;
branches;
next	;
commitid	mL5ZYSzpqK6QS2Bx;

1.1.1.1.6.1
date	2013.12.27.18.45.57;	author yamt;	state dead;
branches;
next	1.1.1.1.6.2;
commitid	VUUXuyNWnt3AKwBx;

1.1.1.1.6.2
date	2014.05.22.11.40.39;	author yamt;	state Exp;
branches;
next	;
commitid	VUUXuyNWnt3AKwBx;

1.1.1.1.10.1
date	2013.12.27.18.45.57;	author tls;	state dead;
branches;
next	1.1.1.1.10.2;
commitid	jTnpym9Qu0o4R1Nx;

1.1.1.1.10.2
date	2014.08.20.00.03.54;	author tls;	state Exp;
branches;
next	1.1.1.1.10.3;
commitid	jTnpym9Qu0o4R1Nx;

1.1.1.1.10.3
date	2017.12.03.11.37.40;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.1.1.1.12.1
date	2015.09.22.12.06.03;	author skrll;	state Exp;
branches;
next	;
commitid	CpNWKp3ozVNTafCy;


desc
@@


1.1
log
@Initial revision
@
text
@#
# Common rules for generation of ACPICA utilities
#
# FINAL_PROG - Copies the utility to the local bin directory
# PROG - Builds the utility (links the object files)
#
# Note: $(INTERMEDIATES) and $(MISC) are used for iASL compiler only.
#

$(FINAL_PROG) : $(PROG)
	$(COPYPROG)

$(PROG) : $(INTERMEDIATES) $(MISC) $(OBJECTS)
	$(LINKPROG)
	$(RENAMEPROG)

$(OBJDIR)/%.o : %.c $(HEADERS) $(ACPICA_HEADERS)
	$(COMPILEOBJ)

clean :
	rm -f $(PROG) $(PROG).exe $(OBJECTS) $(INTERMEDIATES) $(MISC)

install :
	$(INSTALLPROG)
@


1.1.1.1
log
@import new acpica
@
text
@@


1.1.1.1.12.1
log
@Sync with HEAD
@
text
@d21 1
a21 1
	rm -f $(PROG) $(PROG).exe $(OBJECTS) $(OBJDIR)/*.o $(INTERMEDIATES) $(MISC)
@


1.1.1.2
log
@----------------------------------------
17 July 2015. Summary of changes for version 20150717:

1) ACPICA kernel-resident subsystem:

Improved the partitioning between the Debugger and Disassembler
components. This allows the Debugger to be used standalone within kernel
code without the Disassembler (which is used for single stepping also).
This renames and moves one file, dmobject.c to dbobject.c. Lv Zheng.

Debugger: Implemented a new command to trace the execution of control
methods (Trace). This is especially useful for the in-kernel version of
the debugger when file I/O may not be available for method trace output.
See the ACPICA reference for more information. Lv Zheng.

Moved all C library prototypes (used for the local versions of these
functions when requested) to a new header, acclib.h
Cleaned up the use of non-ANSI C library functions. These functions are
implemented locally in ACPICA. Moved all such functions to a common
source file, utnonansi.c

Debugger: Fixed a problem with the "!!" command (get last command
executed) where the debugger could enter an infinite loop and eventually
crash.

Removed the use of local macros that were used for some of the standard C
library functions to automatically cast input parameters. This mostly
affected the is* functions where the input parameter is defined to be an
int. This required a few modifications to the main ACPICA source code to
provide casting for these functions and eliminate possible compiler
warnings for these parameters.

Across the source code, added additional status/error checking to resolve
issues discovered by static source code analysis tools such as Coverity.

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: 100.9K Code, 24.5K Data, 125.4K Total
    Debug Version:     197.8K Code, 81.5K Data, 279.3K Total
  Previous Release:
    Non-Debug Version: 100.6K Code, 27.6K Data, 128.2K Total
    Debug Version:     196.2K Code, 81.0K Data, 277.2K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a regression where the device map file feature no longer
worked properly when used in conjunction with the disassembler. It only
worked properly with the compiler itself.

iASL: Implemented a new warning for method LocalX variables that are set
but never used (similar to a C compiler such as gcc). This also applies
to ArgX variables that are not defined by the parent method, and are
instead (legally) used as local variables.

iASL/Preprocessor: Finished the pass-through of line numbers from the
preprocessor to the compiler. This ensures that compiler errors/warnings
have the correct original line numbers and filenames, regardless of any
#include files.

iASL/Preprocessor: Fixed a couple of issues with comment handling and the
pass-through of comments to the preprocessor output file (which becomes
the compiler input file). Also fixed a problem with // comments that
appear after a math expression.

iASL: Added support for the TCPA server table to the table compiler and
template generator. (The client table was already previously supported)

iASL/Preprocessor: Added a permanent #define of the symbol "__IASL__" to
identify the iASL compiler.

Cleaned up the use of the macros NEGATIVE and POSITIVE which were defined
multiple times. The new names are ACPI_SIGN_NEGATIVE and
ACPI_SIGN_POSITIVE.

AcpiHelp: Update to expand help messages for the iASL preprocessor
directives.


----------------------------------------
19 June 2015. Summary of changes for version 20150619:

Two regressions in version 20150616 have been addressed:

Fixes some problems/issues with the C library macro removal (ACPI_STRLEN,
etc.) This update changes ACPICA to only use the standard headers for
functions, or the prototypes for the local versions of the C library
functions. Across the source code, this required some additional casts
for some Clib invocations for portability. Moved all local prototypes to
a new file, acclib.h

Fixes several problems with recent changes to the handling of the FACS
table that could cause some systems not to boot.


----------------------------------------
16 June 2015. Summary of changes for version 20150616:


1) ACPICA kernel-resident subsystem:

Across the entire ACPICA source code base, the various macros for the C
library functions (such as ACPI_STRLEN, etc.) have been removed and
replaced by the standard C library names (strlen, etc.) The original
purpose for these macros is no longer applicable. This simplification
reduces the number of macros used in the ACPICA source code
significantly, improving readability and maintainability.

Implemented support for a new ACPI table, the OSDT. This table, the
"override" SDT, can be loaded directly by the host OS at boot time. It
enables the replacement of existing namespace objects that were installed
via the DSDT and/or SSDTs. The primary purpose for this is to replace
buggy or incorrect ASL/AML code obtained via the BIOS. The OSDT is slated
for inclusion in a future version of the ACPI Specification. Lv Zheng/Bob
Moore.

Added support for systems with (improperly) two FACS tables -- a "32-bit"
table (via FADT 32-bit legacy field) and a "64-bit" table (via the 64-bit
X field). This change will support both automatically. There continues to
be systems found with this issue. This support requires a change to the
AcpiSetFirmwareWakingVector interface. Also, a public global variable has
been added to allow the host to select which FACS is desired
(AcpiGbl_Use32BitFacsAddresses). See the ACPICA reference for more
details Lv Zheng.

Added a new feature to allow for systems that do not contain an FACS.
Although this is already supported on hardware-reduced platforms, the
feature has been extended for all platforms. The reasoning is that we do
not want to abort the entire ACPICA initialization just because the
system is seriously buggy and has no FACS.

Fixed a problem where the GUID strings for NFIT tables (in acuuid.h) were
not correctly transcribed from the ACPI specification in ACPICA version
20150515.

Implemented support for the _CLS object in the AcpiGetObjectInfo external
interface.

Updated the definitions of the TCPA and TPM2 ACPI tables to the more
recent TCG ACPI Specification, December 14, 2014. Table disassembler and
compiler also updated. Note: The TCPA "server" table is not supported by
the disassembler/table-compiler at this time.

ACPI 6.0: Added definitions for the new GIC version field in the MADT.

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: 100.6K Code, 27.6K Data, 128.2K Total
    Debug Version:     196.2K Code, 81.0K Data, 277.2K Total
  Previous Release:
    Non-Debug Version:  99.9K Code, 27.5K Data, 127.4K Total
    Debug Version:     195.2K Code, 80.8K Data, 276.0K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Fixed a problem with the new symbolic operator disassembler
where incorrect ASL code could be emitted in some cases for the "non-
commutative" operators -- Subtract, Divide, Modulo, ShiftLeft, and
ShiftRight. The actual problem cases seem to be rather unusual in common
ASL code, however. David Box.

Modified the linux version of acpidump to obtain ACPI tables from not
just /dev/mem (which may not exist) and /sys/firmware/acpi/tables. Lv
Zheng.

iASL: Fixed a problem where the user preprocessor output file (.i)
contained extra data that was not expected. The compiler was using this
file as a temporary file and passed through #line directives in order to
keep compiler error messages in sync with the input file and line number
across multiple include files. The (.i) is no longer a temporary file as
the compiler uses a new, different file for the original purpose.

iASL: Fixed a problem where comments within the original ASL source code
file were not passed through to the preprocessor output file, nor any
listing files.

iASL: Fixed some issues for the handling of the "#include" preprocessor
directive and the similar (but not the same) "Include" ASL operator.

iASL: Add support for the new OSDT in both the disassembler and compiler.

iASL: Fixed a problem with the constant folding support where a Buffer
object could be incorrectly generated (incorrectly formed) during a
conversion to a Store() operator.

AcpiHelp: Updated for new NFIT GUIDs, "External" AML opcode, and new
description text for the _REV predefined name. _REV now permanently
returns 2, as per the ACPI 6.0 specification.

Debugger: Enhanced the output of the Debug ASL object for references
produced by the Index operator. For Buffers and strings, only output the
actual byte pointed to by the index. For packages, only print the single
package element decoded by the index. Previously, the entire
buffer/string/package was emitted.

iASL/Table-compiler: Fixed a regression where the "generic" data types
were no longer recognized, causing errors.


----------------------------------------
15 May 2015. Summary of changes for version 20150515:

This release implements most of ACPI 6.0 as described below.

1) ACPICA kernel-resident subsystem:

Implemented runtime argument checking and return value checking for all
new ACPI 6.0 predefined names. This includes: _BTH, _CR3, _DSD, _LPI,
_MTL, _PRR, _RDI, _RST, _TFP, _TSN.

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:  99.9K Code, 27.5K Data, 127.4K Total
    Debug Version:     195.2K Code, 80.8K Data, 276.0K Total
  Previous Release:
    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total
    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total


2) iASL Compiler/Disassembler and Tools:

iASL compiler: Added compile-time support for all new ACPI 6.0 predefined
names (argument count validation and return value typechecking.)

iASL disassembler and table compiler: implemented support for all new
ACPI 6.0 tables. This includes: DRTM, IORT, LPIT, NFIT, STAO, WPBT, XENV.

iASL disassembler and table compiler: Added ACPI 6.0 changes to existing
tables: FADT, MADT.

iASL preprocessor: Added a new directive to enable inclusion of binary
blobs into ASL code. The new directive is #includebuffer. It takes a
binary file as input and emits a named ascii buffer object into the ASL
code.

AcpiHelp: Added support for all new ACPI 6.0 predefined names.

AcpiHelp: Added a new option, -d, to display all iASL preprocessor
directives.

AcpiHelp: Added a new option, -t, to display all known/supported ACPI
tables.
@
text
@d21 1
a21 1
	rm -f $(PROG) $(PROG).exe $(OBJECTS) $(OBJDIR)/*.o $(INTERMEDIATES) $(MISC)
@


1.1.1.3
log
@----------------------------------------
31 August 2017. Summary of changes for version 20170831:


1) ACPICA kernel-resident subsystem:

Implemented internal support for full 64-bit addresses that appear in all
Generic Address Structure (GAS) structures. Previously, only the lower 32
bits were used. Affects the use of GAS structures in the FADT and other
tables, as well as the GAS structures passed to the AcpiRead and
AcpiWrite public external interfaces that are used by drivers. Lv Zheng.

Added header support for the PDTT ACPI table (Processor Debug Trigger
Table). Full support in the iASL Data Table Compiler and disassembler is
forthcoming.


2) iASL Compiler/Disassembler and Tools:

iASL/Disassembler: Fixed a problem with the PPTT ACPI table (Processor
Properties Topology Table) where a flag bit was specified in the wrong
bit position ("Line Size Valid", bit 6).

iASL: Implemented support for Octal integer constants as defined by the
ASL language grammar, per the ACPI specification. Any integer constant
that starts with a zero is an octal constant. For example,
    Store (037777, Local0) /* Octal constant */
    Store (0x3FFF, Local0) /* Hex equivalent */
    Store (16383,  Local0) /* Decimal equivalent */

iASL: Improved overflow detection for 64-bit string conversions during
compilation of integer constants. "Overflow" in this case means a string
that represents an integer that is too large to fit into a 64-bit value.
Any 64-bit constants within a 32-bit DSDT or SSDT are still truncated to
the low-order 32 bits with a warning, as previously implemented. Several
new exceptions are defined that indicate a 64-bit overflow, as well as
the base (radix) that was used during the attempted conversion. Examples:
    Local0 = 0xAAAABBBBCCCCDDDDEEEEFFFF        // AE_HEX_OVERFLOW
    Local0 = 01111222233334444555566667777     // AE_OCTAL_OVERFLOW
    Local0 = 11112222333344445555666677778888  // AE_DECIMAL_OVERFLOW

iASL: Added a warning for the case where a ResourceTemplate is declared
with no ResourceDescriptor entries (coded as "ResourceTemplate(){}"). In
this case, the resulting template is created with a single END_TAG
descriptor, which is essentially useless.

iASL: Expanded the -vw option (ignore specific warnings/remarks) to
include compilation error codes as well.

----------------------------------------
28 July 2017. Summary of changes for version 20170728:


1) ACPICA kernel-resident subsystem:

Fixed a regression seen with small resource descriptors that could cause
an inadvertent AE_AML_NO_RESOURCE_END_TAG exception.

AML interpreter: Implemented a new feature that allows forward references
from individual named references within package objects that are
contained within blocks of "module-level code". This provides
compatibility with other ACPI implementations and supports existing
firmware that depends on this feature. Example:

    Name (ABCD, 1)
    If (ABCD)                       /* An If() at module-level */
    {
        Name (PKG1, Package()
        {
            INT1                    /* Forward reference to object INT1
*/
        })
        Name (INT1, 0x1234)
    }

AML Interpreter: Fixed a problem with the Alias() operator where aliases
to some ASL objects were not handled properly. Objects affected are:
Mutex, Event, and OperationRegion.

AML Debugger: Enhanced to properly handle AML Alias objects. These
objects have one level of indirection which was not fully supported by
the debugger.

Table Manager: Added support to detect and ignore duplicate SSDTs within
the XSDT/RSDT. This error in the XSDT has been seen in the field.

EFI and EDK2 support:
    Enabled /WX flag for MSVC builds
    Added support for AcpiOsStall, AcpiOsSleep, and AcpiOsGetTimer
    Added local support for 64-bit multiply and shift operations
    Added support to compile acpidump.efi on Windows
    Added OSL function stubs for interfaces not used under EFI

Added additional support for the _DMA predefined name. _DMA returns a
buffer containing a resource template. This change add support within the
resource manager (AcpiWalkResourceBuffer) to walk and parse this list of
resource descriptors. Lorenzo Pieralisi <lorenzo.pieralisi@@arm.com>


2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a problem where the internal input line buffer(s) could
overflow if there are very long lines in the input ASL source code file.
Implemented buffer management that automatically increases the size of
the buffers as necessary.

iASL: Added an option (-vx) to "expect" particular remarks, warnings and
errors. If the specified exception is not raised during compilation, the
compiler emits an error. This is intended to support the ASL test suite,
but may be useful in other contexts.

iASL: Implemented a new predefined macro, __METHOD__, which returns a
string containing the name of the current control method that is being
compiled.

iASL: Implemented debugger and table compiler support for the SDEI ACPI
table (Software Delegated Exception Interface). James Morse
<james.morse@@arm.com>

Unix/Linux makefiles: Added an option to disable compile optimizations.
The disable occurs when the NOOPT flag is set to TRUE.
theracermaster@@gmail.com

Acpidump: Added support for multiple DSDT and FACS tables. This can occur
when there are different tables for 32-bit versus 64-bit.

Enhanced error reporting for the ASL test suite (ASLTS) by removing
unnecessary/verbose text, and emit the actual line number where an error
has occurred. These changes are intended to improve the usefulness of the
test suite.

----------------------------------------
29 June 2017. Summary of changes for version 20170629:


1) ACPICA kernel-resident subsystem:

Tables: Implemented a deferred ACPI table verification. This is useful
for operating systems where the tables cannot be verified in the early
initialization stage due to early memory mapping limitations on some
architectures. Lv Zheng.

Tables: Removed the signature validation for dynamically loaded tables.
Provides compatibility with other ACPI implementations. Previously, only
SSDT tables were allowed, as per the ACPI specification. Now, any table
signature can be used via the Load() operator. Lv Zheng.

Tables: Fixed several mutex issues that could cause errors during table
acquisition. Lv Zheng.

Tables: Fixed a problem where an ACPI warning could be generated if a
null pointer was passed to the AcpiPutTable interface. Lv Zheng.

Tables: Added a mechanism to handle imbalances for the AcpiGetTable and
AcpiPutTable interfaces. This applies to the "late stage" table loading
when the use of AcpiPutTable is no longer required (since the system
memory manager is fully running and available). Lv Zheng.

Fixed/Reverted a regression during processing of resource descriptors
that contain only a single EndTag. Fixes an AE_AML_NO_RESOURCE_END_TAG
exception in this case.

Headers: IORT/SMMU support: Updated the SMMU models for Revision C of the
I/O Remapping specification. Robin Murphy <robin.murphy@@arm.com>

Interpreter: Fixed a possible fault if an Alias operator with an invalid
or duplicate target is encountered during Alias creation in
AcpiExCreateAlias. Alex James <theracermaster@@gmail.com>

Added an option to use designated initializers for function pointers.
Kees Cook <keescook@@google.com>


2) iASL Compiler/Disassembler and Tools:

iASL: Allow compilation of External declarations with target pathnames
that refer to existing named objects within the table. Erik Schmauss.

iASL: Fixed a regression when compiling FieldUnits. Fixes an error if a
FieldUnit name also is declared via External in the same table. Erik
Schmauss.

iASL: Allow existing scope names within pathnames used in External
statements. For example:
    External (ABCD.EFGH) // ABCD exists, but EFGH is truly external
    Device (ABCD)

iASL: IORT ACPI table: Implemented changes required to decode the new
Proximity Domain for the SMMUv3 IORT. Disassembler and Data Table
compiler. Ganapatrao Kulkarni <ganapatrao.kulkarni@@cavium.com>

Disassembler: Don't abort disassembly on errors from External()
statements. Erik Schmauss.

Disassembler: fixed a possible fault when one of the Create*Field
operators references a Resource Template. ACPICA Bugzilla 1396.

iASL: In the source code, resolved some naming inconsistences across the
parsing support. Fixes confusion between "Parse Op" and "Parse Node".
Adds a new file, aslparseop.c

----------------------------------------
31 May 2017. Summary of changes for version 20170531:


0) ACPI 6.2 support:

The ACPI specification version 6.2 has been released and is available at
http://uefi.org/specifications

This version of ACPICA fully supports the ACPI 6.2 specification. Changes
are summarized below.

New ACPI tables (Table Compiler/Disassembler/Templates):
    HMAT (Heterogeneous Memory Attributes Table)
    WSMT (Windows SMM Security Mitigation Table)
    PPTT (Processor Properties Topology Table)

New subtables for existing ACPI tables:
    HEST (New subtable, Arch-deferred machine check)
    SRAT (New subtable, Arch-specific affinity structure)
    PCCT (New subtables, Extended PCC subspaces (types 3 and 4))

Simple updates for existing ACPI tables:
    BGRT (two new flag bits)
    HEST (New bit defined for several subtables, GHES_ASSIST)

New Resource Descriptors and Resource macros (Compiler/Disassembler):
    PinConfig()
    PinFunction()
    PinGroup()
    PinGroupConfig()
    PinGroupFunction()
    New type for hardware error notification (section 18.3.2.9)

New predefined names/methods (Compiler/Interpreter):
    _HMA (Heterogeneous Memory Attributes)
    _LSI (Label Storage Information)
    _LSR (Label Storage Read)
    _LSW (Label Storage Write)

ASL grammar/macro changes (Compiler):
    For() ASL macro, implemented with the AML while operator
    Extensions to Concatenate operator
    Support for multiple definition blocks in same ASL file
    Clarification for Buffer operator
    Allow executable AML code underneath all scopes (Devices, etc.)
    Clarification/change for the _OSI return value
    ASL grammar update for reference operators
    Allow a zero-length string for AML filename in DefinitionBlock

Miscellaneous:
    New device object notification value
    Remove a notify value (0x0C) for graceful shutdown
    New UUIDs for processor/cache properties and
        physical package property
    New _HID, ACPI0014 (Wireless Power Calibration Device)


1) ACPICA kernel-resident subsystem:

Added support to disable ACPI events on hardware-reduced platforms.
Eliminates error messages of the form "Could not enable fixed event". Lv
Zheng

Fixed a problem using Device/Thermal objects with the ObjectType and
DerefOf ASL operators. This support had not been fully/properly
implemented.

Fixed a problem where if a Buffer object containing a resource template
was longer than the actual resource template, an error was generated --
even though the AML is legal. This case has been seen in the field.

Fixed a problem with the header definition of the MADT PCAT_COMPAT flag.
The values for DUAL_PIC and MULTIPLE_APIC were reversed.

Added header file changes for the TPM2 ACPI table. Update to new version
of the TCG specification. Adds a new TPM2 subtable for ARM SMC.

Exported the external interfaces AcpiAcquireMutex and AcpiReleaseMutex.
These interfaces are intended to be used only in conjunction with the
predefined _DLM method (Device Lock Method). "This object appears in a
device scope when AML access to the device must be synchronized with the
OS environment".

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: 143.1K Code, 60.0K Data, 203.1K Total
    Debug Version:     204.0K Code, 84.3K Data, 288.3K Total
  Previous Release:
    Non-Debug Version: 141.7K Code, 58.5K Data, 200.2K Total
    Debug Version:     207.5K Code, 82.7K Data, 290.2K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a problem where an External() declaration could not refer to
a Field Unit. Erik Schmauss.

Disassembler: Improved support for the Switch/Case operators. This
feature will disassemble AML code back to the original Switch operators
when possible, instead of an If..Else sequence. David Box

iASL and disassembler: Improved the handling of multiple extraneous
parentheses for both ASL input and disassembled ASL output.

Improved the behavior of the iASL compiler and disassembler to detect
improper use of external declarations

Disassembler: Now aborts immediately upon detection of an unknown AML
opcode. The AML parser has no real way to recover from this, and can
result in the creation of an ill-formed parse tree that causes errors
later during the disassembly.

All tools: Fixed a problem where the Unix application OSL did not handle
control-c correctly. For example, a control-c could incorrectly wake the
debugger.

AcpiExec: Improved the Control-C handling and added a handler for
segmentation faults (SIGSEGV). Supports both Windows and Unix-like
environments.

Reduced the verbosity of the generic unix makefiles. Previously, each
compilation displayed the full set of compiler options. This has been
eliminated as the options are easily inspected within the makefiles. Each
compilation now results in a single line of output.
@
text
@d14 1
a14 2
	@@echo "- Link" $(PROG)
	@@$(LINKPROG)
d18 1
a18 2
	@@echo $(PROG)  $<
	@@$(COMPILEOBJ)
d21 1
a21 1
	@@rm -f $(PROG) $(PROG).exe $(OBJECTS) $(OBJDIR)/*.o $(INTERMEDIATES) $(MISC)
@


1.1.1.1.10.1
log
@file Makefile.rules was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
@
text
@d1 24
@


1.1.1.1.10.2
log
@Rebase to HEAD as of a few days ago.
@
text
@a0 24
#
# Common rules for generation of ACPICA utilities
#
# FINAL_PROG - Copies the utility to the local bin directory
# PROG - Builds the utility (links the object files)
#
# Note: $(INTERMEDIATES) and $(MISC) are used for iASL compiler only.
#

$(FINAL_PROG) : $(PROG)
	$(COPYPROG)

$(PROG) : $(INTERMEDIATES) $(MISC) $(OBJECTS)
	$(LINKPROG)
	$(RENAMEPROG)

$(OBJDIR)/%.o : %.c $(HEADERS) $(ACPICA_HEADERS)
	$(COMPILEOBJ)

clean :
	rm -f $(PROG) $(PROG).exe $(OBJECTS) $(INTERMEDIATES) $(MISC)

install :
	$(INSTALLPROG)
@


1.1.1.1.10.3
log
@update from HEAD
@
text
@d14 1
a14 2
	@@echo "- Link" $(PROG)
	@@$(LINKPROG)
d18 1
a18 2
	@@echo $(PROG)  $<
	@@$(COMPILEOBJ)
d21 1
a21 1
	@@rm -f $(PROG) $(PROG).exe $(OBJECTS) $(OBJDIR)/*.o $(INTERMEDIATES) $(MISC)
@


1.1.1.1.6.1
log
@file Makefile.rules was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
@
text
@d1 24
@


1.1.1.1.6.2
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@a0 24
#
# Common rules for generation of ACPICA utilities
#
# FINAL_PROG - Copies the utility to the local bin directory
# PROG - Builds the utility (links the object files)
#
# Note: $(INTERMEDIATES) and $(MISC) are used for iASL compiler only.
#

$(FINAL_PROG) : $(PROG)
	$(COPYPROG)

$(PROG) : $(INTERMEDIATES) $(MISC) $(OBJECTS)
	$(LINKPROG)
	$(RENAMEPROG)

$(OBJDIR)/%.o : %.c $(HEADERS) $(ACPICA_HEADERS)
	$(COMPILEOBJ)

clean :
	rm -f $(PROG) $(PROG).exe $(OBJECTS) $(INTERMEDIATES) $(MISC)

install :
	$(INSTALLPROG)
@


1.1.1.1.4.1
log
@file Makefile.rules was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000
@
text
@d1 24
@


1.1.1.1.4.2
log
@sync with head
@
text
@a0 24
#
# Common rules for generation of ACPICA utilities
#
# FINAL_PROG - Copies the utility to the local bin directory
# PROG - Builds the utility (links the object files)
#
# Note: $(INTERMEDIATES) and $(MISC) are used for iASL compiler only.
#

$(FINAL_PROG) : $(PROG)
	$(COPYPROG)

$(PROG) : $(INTERMEDIATES) $(MISC) $(OBJECTS)
	$(LINKPROG)
	$(RENAMEPROG)

$(OBJDIR)/%.o : %.c $(HEADERS) $(ACPICA_HEADERS)
	$(COMPILEOBJ)

clean :
	rm -f $(PROG) $(PROG).exe $(OBJECTS) $(INTERMEDIATES) $(MISC)

install :
	$(INSTALLPROG)
@


