head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.4
	acpica-20260408:1.1.1.4
	netbsd-11-0-RC3:1.1.1.4
	netbsd-11-0-RC2:1.1.1.4
	netbsd-11-0-RC1:1.1.1.4
	acpica-20251212:1.1.1.4
	acpica-20250807:1.1.1.4
	perseant-exfatfs-base-20250801:1.1.1.4
	netbsd-11:1.1.1.4.0.42
	netbsd-11-base:1.1.1.4
	acpica-20241212:1.1.1.4
	netbsd-10-1-RELEASE:1.1.1.4
	acpica-20240827:1.1.1.4
	perseant-exfatfs-base-20240630:1.1.1.4
	perseant-exfatfs:1.1.1.4.0.40
	perseant-exfatfs-base:1.1.1.4
	netbsd-8-3-RELEASE:1.1.1.3
	netbsd-9-4-RELEASE:1.1.1.4
	netbsd-10-0-RELEASE:1.1.1.4
	netbsd-10-0-RC6:1.1.1.4
	netbsd-10-0-RC5:1.1.1.4
	netbsd-10-0-RC4:1.1.1.4
	netbsd-10-0-RC3:1.1.1.4
	netbsd-10-0-RC2:1.1.1.4
	thorpej-ifq:1.1.1.4.0.38
	thorpej-ifq-base:1.1.1.4
	thorpej-altq-separation:1.1.1.4.0.36
	thorpej-altq-separation-base:1.1.1.4
	netbsd-10-0-RC1:1.1.1.4
	acpica-20230628:1.1.1.4
	netbsd-10:1.1.1.4.0.34
	netbsd-10-base:1.1.1.4
	acpica-20221020:1.1.1.4
	bouyer-sunxi-drm:1.1.1.4.0.32
	bouyer-sunxi-drm-base:1.1.1.4
	acpica-20220331:1.1.1.4
	netbsd-9-3-RELEASE:1.1.1.4
	acpica-20211217:1.1.1.4
	acpica-20210930:1.1.1.4
	thorpej-i2c-spi-conf2:1.1.1.4.0.30
	thorpej-i2c-spi-conf2-base:1.1.1.4
	thorpej-futex2:1.1.1.4.0.28
	thorpej-futex2-base:1.1.1.4
	thorpej-cfargs2:1.1.1.4.0.26
	thorpej-cfargs2-base:1.1.1.4
	acpica-20210604:1.1.1.4
	cjep_sun2x-base1:1.1.1.4
	cjep_sun2x:1.1.1.4.0.24
	cjep_sun2x-base:1.1.1.4
	cjep_staticlib_x-base1:1.1.1.4
	netbsd-9-2-RELEASE:1.1.1.4
	cjep_staticlib_x:1.1.1.4.0.22
	cjep_staticlib_x-base:1.1.1.4
	thorpej-i2c-spi-conf:1.1.1.4.0.20
	thorpej-i2c-spi-conf-base:1.1.1.4
	acpica-20210331:1.1.1.4
	thorpej-cfargs:1.1.1.4.0.18
	thorpej-cfargs-base:1.1.1.4
	acpica-20201113:1.1.1.4
	thorpej-futex:1.1.1.4.0.16
	thorpej-futex-base:1.1.1.4
	netbsd-9-1-RELEASE:1.1.1.4
	acpica-20200717:1.1.1.4
	acpica-20200430:1.1.1.4
	bouyer-xenpvh-base2:1.1.1.4
	phil-wifi-20200421:1.1.1.4
	bouyer-xenpvh-base1:1.1.1.4
	phil-wifi-20200411:1.1.1.4
	bouyer-xenpvh:1.1.1.4.0.14
	bouyer-xenpvh-base:1.1.1.4
	is-mlppp:1.1.1.4.0.12
	is-mlppp-base:1.1.1.4
	phil-wifi-20200406:1.1.1.4
	netbsd-8-2-RELEASE:1.1.1.3
	acpica-20200326:1.1.1.4
	ad-namecache-base3:1.1.1.4
	netbsd-9-0-RELEASE:1.1.1.4
	netbsd-9-0-RC2:1.1.1.4
	ad-namecache-base2:1.1.1.4
	ad-namecache-base1:1.1.1.4
	ad-namecache:1.1.1.4.0.10
	ad-namecache-base:1.1.1.4
	acpica-20191213:1.1.1.4
	netbsd-9-0-RC1:1.1.1.4
	phil-wifi-20191119:1.1.1.4
	acpica-20190816:1.1.1.4
	netbsd-9:1.1.1.4.0.8
	netbsd-9-base:1.1.1.4
	phil-wifi-20190609:1.1.1.4
	netbsd-8-1-RELEASE:1.1.1.3
	netbsd-8-1-RC1:1.1.1.3
	acpica-20190405:1.1.1.4
	isaki-audio2:1.1.1.4.0.6
	isaki-audio2-base:1.1.1.4
	pgoyette-compat-merge-20190127:1.1.1.4
	pgoyette-compat-20190127:1.1.1.4
	pgoyette-compat-20190118:1.1.1.4
	acpica-20181213:1.1.1.4
	pgoyette-compat-1226:1.1.1.4
	pgoyette-compat-1126:1.1.1.4
	pgoyette-compat-1020:1.1.1.4
	pgoyette-compat-0930:1.1.1.4
	pgoyette-compat-0906:1.1.1.4
	netbsd-7-2-RELEASE:1.1.1.1
	acpica-20180810:1.1.1.4
	pgoyette-compat-0728:1.1.1.4
	netbsd-8-0-RELEASE:1.1.1.3
	phil-wifi:1.1.1.4.0.4
	phil-wifi-base:1.1.1.4
	pgoyette-compat-0625:1.1.1.4
	netbsd-8-0-RC2:1.1.1.3
	pgoyette-compat-0521:1.1.1.4
	acpica-20180427:1.1.1.4
	pgoyette-compat-0502:1.1.1.4
	pgoyette-compat-0422:1.1.1.4
	netbsd-8-0-RC1:1.1.1.3
	pgoyette-compat-0415:1.1.1.4
	acpica-20180313:1.1.1.4
	pgoyette-compat-0407:1.1.1.4
	pgoyette-compat-0330:1.1.1.4
	pgoyette-compat-0322:1.1.1.4
	pgoyette-compat-0315:1.1.1.4
	netbsd-7-1-2-RELEASE:1.1.1.1
	pgoyette-compat:1.1.1.4.0.2
	pgoyette-compat-base:1.1.1.4
	netbsd-7-1-1-RELEASE:1.1.1.1
	tls-maxphys-base-20171202:1.1.1.4
	acpica-20171110:1.1.1.4
	matt-nb8-mediatek:1.1.1.3.0.10
	matt-nb8-mediatek-base:1.1.1.3
	acpica-20170831:1.1.1.4
	nick-nhusb-base-20170825:1.1.1.3
	perseant-stdc-iso10646:1.1.1.3.0.8
	perseant-stdc-iso10646-base:1.1.1.3
	netbsd-8:1.1.1.3.0.6
	netbsd-8-base:1.1.1.3
	prg-localcount2-base3:1.1.1.3
	prg-localcount2-base2:1.1.1.3
	prg-localcount2-base1:1.1.1.3
	acpica-20170303:1.1.1.3
	prg-localcount2:1.1.1.3.0.4
	prg-localcount2-base:1.1.1.3
	pgoyette-localcount-20170426:1.1.1.3
	bouyer-socketcan-base1:1.1.1.3
	jdolecek-ncq:1.1.1.3.0.2
	jdolecek-ncq-base:1.1.1.3
	pgoyette-localcount-20170320:1.1.1.3
	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.3
	acpica-20170119:1.1.1.3
	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.1
	nick-nhusb-base-20160319:1.1.1.1
	acpica-20160108:1.1.1.1
	nick-nhusb-base-20151226:1.1.1.1
	netbsd-7-0:1.1.1.1.0.14
	netbsd-7-0-RELEASE:1.1.1.1
	nick-nhusb-base-20150921:1.1.1.1
	acpica-20150717:1.1.1.1
	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	2016.05.04.18.15.54;	author christos;	state Exp;
branches
	1.1.1.2.2.1
	1.1.1.2.4.1;
next	1.1.1.3;
commitid	PbTOz8vOTknW1c5z;

1.1.1.3
date	2017.01.25.13.03.49;	author christos;	state Exp;
branches;
next	1.1.1.4;
commitid	fGR9uuqOgVaRKlDz;

1.1.1.4
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	2016.05.29.08.44.33;	author skrll;	state Exp;
branches;
next	1.1.1.1.12.2;
commitid	8mlnPW6uSaJU1m8z;

1.1.1.1.12.2
date	2017.02.05.13.40.51;	author skrll;	state Exp;
branches;
next	;
commitid	8hwpk1aHl2UuyLEz;

1.1.1.2.2.1
date	2017.03.20.06.57.41;	author pgoyette;	state Exp;
branches;
next	;
commitid	jjw7cAwgyKq7RfKz;

1.1.1.2.4.1
date	2017.04.21.16.53.56;	author bouyer;	state Exp;
branches;
next	;
commitid	dUG7nkTKALCadqOz;


desc
@@


1.1
log
@Initial revision
@
text
@#
# Common make for acpica tools and utilities
#

#
# Get the OS machine architecture. Anything with a "64" in the returned
# string will be treated as a 64-bit OS. Otherwise, the default is 32-bit.
#
ifeq ($(HOST), _FreeBSD)
HARDWARE_NAME := $(shell uname -p)
else
HARDWARE_NAME := $(shell uname -m)
endif

#
# Main rule will only generate versions that are appropriate for the running
# OS, either 64-bit or 32-bit.
#
all:	$(PROGS)
$(PROGS): FORCE
	@@cd $(BUILD_DIRECTORY_PATH)/$@@; \
	mkdir -p obj; \
	$(MAKE) || exit "$$?"; \
	if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
		echo "64-bit version of $@@:"; \
	else \
		echo "32-bit version of $@@:"; \
	fi; \
	ls -al ../bin/$@@; \
	echo "";

#
# Simple clean removes all .obj files, but leaves the executables
# in the local bin directory
#
clean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
	done;

#
# Very clean removes all executables and the local bin directory
#
veryclean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
		if [ -e "$(BUILD_DIRECTORY_PATH)/bin/$$toolname" ] ; then \
			rm $(BUILD_DIRECTORY_PATH)/bin/$$toolname; \
		fi; \
	done; \
	if [ -d "bin" ] ; then \
		rmdir bin; \
	fi;

#
# Install all tools, either 32-bit or 64-bit as appropriate for the host OS
#
install:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		pwd; \
		$(MAKE) PROG=$$toolname install; \
		if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
			echo "Installed 64-bit version of $$toolname"; \
		else \
			echo "Installed 32-bit version of $$toolname"; \
		fi; \
		echo ""; \
		); \
	done;

machine:	FORCE
	@@echo "Machine architecture: $(HARDWARE_NAME), $(XBITS)";
	@@echo "Findstring: $(findstring 64, $(HARDWARE_NAME))";

FORCE:

@


1.1.1.1
log
@import new acpica
@
text
@@


1.1.1.1.12.1
log
@Sync with HEAD
@
text
@a11 3
ifeq ($(HOST), _QNX)
HARDWARE_NAME := x86pc
else
a13 1
endif
@


1.1.1.1.12.2
log
@Sync with HEAD
@
text
@d5 18
d28 5
d75 3
d83 6
d93 2
@


1.1.1.2
log
@22 April 2016. Summary of changes for version 20160422:

1) ACPICA kernel-resident subsystem:

Fixed a regression in the GAS (generic address structure) arbitrary bit
support in AcpiHwRead/AcpiHwWrite. Problem could cause incorrect behavior
and incorrect return values. Lv Zheng. ACPICA BZ 1270.

ACPI 6.0: Added support for new/renamed resource macros. One new argument
was added to each of these macros, and the original name has been
deprecated. The AML disassembler will always disassemble to the new
names. Support for the new macros was added to iASL, disassembler,
resource manager, and the acpihelp utility. ACPICA BZ 1274.

    I2cSerialBus  -> I2cSerialBusV2
    SpiSerialBus  -> SpiSerialBusV2
    UartSerialBus -> UartSerialBusV2

ACPI 6.0: Added support for a new integer field that was appended to the
package object returned by the _BIX method. This adds iASL compile-time
and AML runtime error checking. ACPICA BZ 1273.

ACPI 6.1: Added support for a new PCCT subtable, "HW-Reduced Comm
Subspace Type2" (Headers, Disassembler, and data table compiler).

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: 137.4K Code, 52.6K Data, 190.0K Total
    Debug Version:     201.5K Code, 82.2K Data, 283.7K Total
  Previous Release:
    Non-Debug Version: 137.1K Code, 51.5K Data, 188.6K Total
    Debug Version:     201.0K Code, 82.0K Data, 283.0K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Implemented an ASL grammar extension to allow/enable executable
"module-level code" to be created and executed under the various
operators that create new scopes. This type of AML code is already
supported in all known AML interpreters, and the grammar change will
appear in the next version of the ACPI specification. Simplifies the
conditional runtime creation of named objects under these object types:

    Device
    PowerResource
    Processor
    Scope
    ThermalZone

iASL: Implemented a new ASL extension, a "For" loop macro to add greater
ease-of-use to the ASL language. The syntax is similar to the
corresponding C operator, and is implemented with the existing AML While
opcode -- thus requiring no changes to existing AML interpreters.

    For (Initialize, Predicate, Update) {TermList}

Grammar:
    ForTerm :=
        For (
            Initializer    // Nothing | TermArg => ComputationalData
            Predicate      // Nothing | TermArg => ComputationalData
            Update         // Nothing | TermArg => ComputationalData
        ) {TermList}


iASL: The _HID/_ADR detection and validation has been enhanced to search
under conditionals in order to allow these objects to be conditionally
created at runtime.

iASL: Fixed several issues with the constant folding feature. The
improvement allows better detection and resolution of statements that can
be folded at compile time. ACPICA BZ 1266.

iASL/Disassembler: Fixed a couple issues with the Else{If{}...}
conversion to the ASL ElseIf operator where incorrect ASL code could be
generated.

iASL/Disassembler: Fixed a problem with the ASL+ code disassembly where
sometimes an extra (and extraneous) set of parentheses were emitted for
some combinations of operators. Although this did not cause any problems
with recompilation of the disassembled code, it made the code more
difficult to read. David Box. ACPICA BZ 1231.

iASL: Changed to ignore the unreferenced detection for predefined names
of resource descriptor elements, when the resource descriptor is
created/defined within a control method.

iASL: Disassembler: Fix a possible fault with externally declared Buffer
objects.

----------------------------------------
18 March 2016. Summary of changes for version 20160318:

1) ACPICA kernel-resident subsystem:

Added support for arbitrary bit lengths and bit offsets for registers
defined by the Generic Address Structure. Previously, only aligned bit
lengths of 8/16/32/64 were supported. This was sufficient for many years,
but recently some machines have been seen that require arbitrary bit-
level support. ACPICA BZ 1240. Lv Zheng.

Fixed an issue where the \_SB._INI method sometimes must be evaluated
before any _REG methods are evaluated. Lv Zheng.

Implemented several changes related to ACPI table support
(Headers/Disassembler/TableCompiler):
NFIT: For ACPI 6.1, updated to add some additional new fields and
constants.
FADT: Updated a warning message and set compliance to ACPI 6.1 (Version
6).
DMAR: Added new constants per the 10/2014 DMAR spec.
IORT: Added new subtable per the 10/2015 IORT spec.
HEST: For ACPI 6.1, added new constants and new subtable.
DBG2: Added new constants per the 12/2015 DBG2 spec.
FPDT: Fixed several incorrect fields, add the FPDT boot record structure.
ACPICA BZ 1249.
ERST/EINJ: Updated disassembler with new "Execute Timings" actions.

Updated header support for the DMAR table to match the current version of
the related spec.

Added extensions to the ASL Concatenate operator to allow any ACPI object
to be passed as an operand. Any object other than Integer/String/Buffer
simply returns a string containing the object type. This extends the
usefulness of the Printf macros. Previously, Concatenate would abort the
control method if a non-data object was encountered.

ACPICA source code: Deployed the C "const" keyword across the source code
where appropriate. ACPICA BZ 732. Joerg Sonnenberger (NetBSD).

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: 137.1K Code, 51.5K Data, 188.6K Total
    Debug Version:     201.0K Code, 82.0K Data, 283.0K Total
  Previous Release:
    Non-Debug Version: 136.2K Code, 51.5K Data, 187.7K Total
    Debug Version:     200.4K Code, 82.0K Data, 282.4K Total


2) iASL Compiler/Disassembler and Tools:

iASL/Disassembler: Improved the heuristic used to determine the number of
arguments for an externally defined control method (a method in another
table). Although this is an improvement, there is no deterministic way to
"guess" the number of method arguments. Only the ACPI 6.0 External opcode
will completely solve this problem as it is deployed (automatically) in
newer BIOS code.

iASL/Disassembler: Fixed an ordering issue for emitted External() ASL
statements that could cause errors when the disassembled file is
compiled. ACPICA BZ 1243. David Box.

iASL: Fixed a regression caused by the merger of the two versions of the
local strtoul64. Because of a dependency on a global variable, strtoul64
could return an error for integers greater than a 32-bit value. ACPICA BZ
1260.

iASL: Fixed a regression where a fault could occur for an ASL Return
statement if it invokes a control method that is not resolved. ACPICA BZ
1264.

AcpiXtract: Improved input file validation: detection of binary files and
non-acpidump text files.

----------------------------------------
12 February 2016. Summary of changes for version 20160212:

1) ACPICA kernel-resident subsystem:

Implemented full support for the ACPI 6.1 specification (released in
January). This version of the specification is available at:
http://www.uefi.org/specifications

Only a relatively small number of changes were required in ACPICA to
support ACPI 6.1, in these areas:
- New predefined names
- New _HID values
- A new subtable for HEST
- A few other header changes for new values

Ensure \_SB_._INI is executed before any _REG methods are executed. There
appears to be existing BIOS code that relies on this behavior. Lv Zheng.

Reverted a change made in version 20151218 which enabled method
invocations to be targets of various ASL operators (SuperName and Target
grammar elements). While the new behavior is supported by the ACPI
specification, other AML interpreters do not support this behavior and
never will. The ACPI specification will be updated for ACPI 6.2 to remove
this support. Therefore, the change was reverted to the original ACPICA
behavior.

ACPICA now supports the GCC 6 compiler.

Current Release: (Note: build changes increased sizes)
    Non-Debug Version: 136.2K Code, 51.5K Data, 187.7K Total
    Debug Version:     200.4K Code, 82.0K Data, 282.4K Total
Previous Release:
    Non-Debug Version: 102.7K Code, 28.4K Data, 131.1K Total
    Debug Version:     200.4K Code, 81.9K Data, 282.3K Total


2) iASL Compiler/Disassembler and Tools:

Completed full support for the ACPI 6.0 External() AML opcode. The
compiler emits an external AML opcode for each ASL External statement.
This opcode is used by the disassembler to assist with the disassembly of
external control methods by specifying the required number of arguments
for the method. AML interpreters do not use this opcode. To ensure that
interpreters do not even see the opcode, a block of one or more external
opcodes is surrounded by an "If(0)" construct. As this feature becomes
commonly deployed in BIOS code, the ability of disassemblers to correctly
disassemble AML code will be greatly improved. David Box.

iASL: Implemented support for an optional cross-reference output file.
The -lx option will create a the cross-reference file with the suffix
"xrf". Three different types of cross-reference are created in this file:
- List of object references made from within each control method
- Invocation (caller) list for each user-defined control method
- List of references to each non-method object in the namespace

iASL: Method invocations as ASL Target operands are now disallowed and
flagged as errors in preparation for ACPI 6.2 (see the description of the
problem above).
@
text
@a11 3
ifeq ($(HOST), _QNX)
HARDWARE_NAME := x86pc
else
a13 1
endif
@


1.1.1.2.4.1
log
@Sync with HEAD
@
text
@d5 18
d28 5
d75 3
d83 6
d93 2
@


1.1.1.2.2.1
log
@Sync with HEAD
@
text
@d5 18
d28 5
d75 3
d83 6
d93 2
@


1.1.1.3
log
@One more time in the right place...

----------------------------------------
19 January 2017. Summary of changes for version 20170119:

This release is available at https://acpica.org/downloads

1) General ACPICA software:

Entire source code base: Added the 2017 copyright to all source code
legal/licensing module headers and utility/tool signons. This includes
the standard Linux dual-license header. This affects virtually every file
in the ACPICA core subsystem, iASL compiler, all ACPICA utilities, and
the ACPICA test suite.


2) iASL Compiler/Disassembler and Tools:

iASL: Removed/fixed an inadvertent remark when a method argument
containing a reference is used as a target operand within the method (and
never used as a simple argument), as in the example below. Jeffrey Hugo.

    dsdt.asl   1507:    Store(0x1, Arg0)
    Remark   2146 -                ^ Method Argument is never used (Arg0)

All tools: Removed the bit width of the compiler that generated the tool
from the common signon for all user space tools. This proved to be
confusing and unnecessary. This includes similar removal of HARDWARE_NAME
from the generic makefiles (Thomas Petazzoni). Example below.

    Old:
    ASL+ Optimizing Compiler version 20170119-32
    ASL+ Optimizing Compiler version 20170119-64

    New:
    ASL+ Optimizing Compiler version 20170119

----------------------------------------
22 December 2016. Summary of changes for version 20161222:


1) ACPICA kernel-resident subsystem:

AML Debugger: Implemented a new mechanism to simplify and enhance
debugger integration into all environments, including kernel debuggers
and user-space utilities, as well as remote debug services. This
mechanism essentially consists of new OSL interfaces to support debugger
initialization/termination, as well as wait/notify interfaces to perform
the debugger handshake with the host. Lv Zheng.

    New OSL interfaces:
        AcpiOsInitializeDebugger (void)
        AcpiOsTerminateDebugger (void)
        AcpiOsWaitCommandReady (void)
        AcpiOsNotifyCommandComplete (void)

    New OS services layer:
        osgendbg.c -- Example implementation, and used for AcpiExec

Update for Generic Address Space (GAS) support: Although the AccessWidth
and/or BitOffset fields of the GAS are not often used, this change now
fully supports these fields. This affects the internal support for FADT
registers, registers in other ACPI data tables, and the AcpiRead and
AcpiWrite public interfaces. Lv Zheng.

Sleep support: In order to simplify integration of ACPI sleep for the
various host operating systems, a new OSL interface has been introduced.
AcpiOsEnterSleep allows the host to perform any required operations
before the final write to the sleep control register(s) is performed by
ACPICA. Lv Zheng.

    New OSL interface:
        AcpiOsEnterSleep(SleepState, RegisterAValue, RegisterBValue)

    Called from these internal interfaces:
        AcpiHwLegacySleep
        AcpiHwExtendedSleep

EFI support: Added a very small EFI/ACPICA example application. Provides
a simple demo for EFI integration, as well as assisting with resolution
of issues related to customer ACPICA/EFI integration. Lv Zheng. See:

    source/tools/efihello/efihello.c

Local C library: Implemented several new functions to enhance ACPICA
portability, for environments where these clib functions are not
available (such as EFI). Lv Zheng:
    putchar
    getchar
    strpbrk
    strtok
    memmove

Fixed a regression where occasionally a valid resource descriptor was
incorrectly detected as invalid at runtime, and a
AE_AML_NO_RESOURCE_END_TAG was returned.

Fixed a problem with the recently implemented support that enables
control method invocations as Target operands to many ASL operators.
Warnings of this form: "Needed type [Reference], found [Processor]" were
seen at runtime for some method invocations.

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: 141.5K Code, 58.5K Data, 200.0K Total
    Debug Version:     201.7K Code, 82.7K Data, 284.4K Total
  Previous Release:
    Non-Debug Version: 140.5K Code, 58.5K Data, 198.9K Total
    Debug Version:     201.3K Code, 82.7K Data, 284.0K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Enhanced output by adding the capability to detect and
disassemble ASL Switch/Case statements back to the original ASL source
code instead of if/else blocks. David Box.

AcpiHelp: Split a large file into separate files based upon
functionality/purpose. New files are:
    ahaml.c
    ahasl.c

----------------------------------------
17 November 2016. Summary of changes for version 20161117:


1) ACPICA kernel-resident subsystem:

Table Manager: Fixed a regression introduced in 20160729, "FADT support
cleanup". This was an attempt to remove all references in the source to
the FADT version 2, which never was a legal version number. It was
skipped because it was an early version of 64-bit support that was
eventually abandoned for the current 64-bit support.

Interpreter: Fixed a problem where runtime implicit conversion was
incorrectly disabled for the ASL operators below. This brings the
behavior into compliance with the ACPI specification:
    FromBCD
    ToBCD
    ToDecimalString
    ToHexString
    ToInteger
    ToBuffer

Table Manager: Added a new public interface, AcpiPutTable, used to
release and free an ACPI table returned by AcpiGetTable and related
interfaces. Lv Zheng.

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: 140.5K Code, 58.5K Data, 198.9K Total
    Debug Version:     201.3K Code, 82.7K Data, 284.0K Total
  Previous Release:
    Non-Debug Version: 140.4K Code, 58.1K Data, 198.5K Total
    Debug Version:     200.7K Code, 82.1K Data, 282.8K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Fixed a regression for disassembly of Resource Template.
Detection of templates in the AML stream missed some types of templates.

iASL: Fixed a problem where an Access Size error was returned for the PCC
address space when the AccessSize of the GAS register is greater than a
DWORD. Hoan Tran.

iASL: Implemented several grammar changes for the operators below. These
changes are slated for the next version of the ACPI specification:
    RefOf        - Disallow method invocation as an operand
    CondRefOf    - Disallow method invocation as an operand
    DerefOf      - Disallow operands that use the result from operators
that
                   do not return a reference (Changed TermArg to
SuperName).

iASL: Control method invocations are now allowed for Target operands, as
per the ACPI specification. Removed error for using a control method
invocation as a Target operand.

Disassembler: Improved detection of Resource Templates, Unicode, and
Strings within Buffer objects. These subtypes do not contain a specific
opcode to indicate the originating ASL code, and they must be detected by
other means within the disassembler.

iASL: Implemented an optimization improvement for 32-bit ACPI tables
(DSDT/SSDT). For the 32-bit case only, compute the optimum integer opcode
only after 64-bit to 32-bit truncation. A truncation warning message is
still emitted, however.

AcpiXtract: Implemented handling for both types of line terminators (LF
or CR/LF) so that it can accept AcpiDump output files from any system.
Peter Wu.

AcpiBin: Added two new options for comparing AML files:
    -a: compare and display ALL mismatches
    -o: start compare at this offset into the second file
@
text
@d5 18
d28 5
d75 3
d83 6
d93 2
@


1.1.1.4
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
@d10 1
a13 15
# List just shows the status of each tool
#
status:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		pwd; \
		if [ -d "obj" ] ; then \
			echo "    `ls -1 obj | wc -l` files, `stat -c%s obj/$$toolname` bytes"; \
		else \
			echo "    Clean"; \
		fi; \
		); \
	done;

#
a19 1
		pwd; \
d21 5
a25 4
			echo "    Removing `ls -1 obj | wc -l` files"; \
			rm -r obj; \
		else \
			echo "    Clean"; \
d56 1
a56 5
		if [ -d "obj" ] ; then \
			$(MAKE) PROG=$$toolname install; \
		else \
			echo "    Clean"; \
		fi; \
@


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


1.1.1.1.10.2
log
@Rebase to HEAD as of a few days ago.
@
text
@a0 93
#
# Common make for acpica tools and utilities
#

#
# Get the OS machine architecture. Anything with a "64" in the returned
# string will be treated as a 64-bit OS. Otherwise, the default is 32-bit.
#
ifeq ($(HOST), _FreeBSD)
HARDWARE_NAME := $(shell uname -p)
else
HARDWARE_NAME := $(shell uname -m)
endif

#
# Main rule will only generate versions that are appropriate for the running
# OS, either 64-bit or 32-bit.
#
all:	$(PROGS)
$(PROGS): FORCE
	@@cd $(BUILD_DIRECTORY_PATH)/$@@; \
	mkdir -p obj; \
	$(MAKE) || exit "$$?"; \
	if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
		echo "64-bit version of $@@:"; \
	else \
		echo "32-bit version of $@@:"; \
	fi; \
	ls -al ../bin/$@@; \
	echo "";

#
# Simple clean removes all .obj files, but leaves the executables
# in the local bin directory
#
clean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
	done;

#
# Very clean removes all executables and the local bin directory
#
veryclean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
		if [ -e "$(BUILD_DIRECTORY_PATH)/bin/$$toolname" ] ; then \
			rm $(BUILD_DIRECTORY_PATH)/bin/$$toolname; \
		fi; \
	done; \
	if [ -d "bin" ] ; then \
		rmdir bin; \
	fi;

#
# Install all tools, either 32-bit or 64-bit as appropriate for the host OS
#
install:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		pwd; \
		$(MAKE) PROG=$$toolname install; \
		if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
			echo "Installed 64-bit version of $$toolname"; \
		else \
			echo "Installed 32-bit version of $$toolname"; \
		fi; \
		echo ""; \
		); \
	done;

machine:	FORCE
	@@echo "Machine architecture: $(HARDWARE_NAME), $(XBITS)";
	@@echo "Findstring: $(findstring 64, $(HARDWARE_NAME))";

FORCE:

@


1.1.1.1.10.3
log
@update from HEAD
@
text
@d5 14
d24 6
a32 15
# List just shows the status of each tool
#
status:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		pwd; \
		if [ -d "obj" ] ; then \
			echo "    `ls -1 obj | wc -l` files, `stat -c%s obj/$$toolname` bytes"; \
		else \
			echo "    Clean"; \
		fi; \
		); \
	done;

#
a38 1
		pwd; \
d40 5
a44 4
			echo "    Removing `ls -1 obj | wc -l` files"; \
			rm -r obj; \
		else \
			echo "    Clean"; \
d71 3
d78 3
a80 2
		if [ -d "obj" ] ; then \
			$(MAKE) PROG=$$toolname install; \
d82 1
a82 1
			echo "    Clean"; \
d84 1
d89 2
@


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


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 93
#
# Common make for acpica tools and utilities
#

#
# Get the OS machine architecture. Anything with a "64" in the returned
# string will be treated as a 64-bit OS. Otherwise, the default is 32-bit.
#
ifeq ($(HOST), _FreeBSD)
HARDWARE_NAME := $(shell uname -p)
else
HARDWARE_NAME := $(shell uname -m)
endif

#
# Main rule will only generate versions that are appropriate for the running
# OS, either 64-bit or 32-bit.
#
all:	$(PROGS)
$(PROGS): FORCE
	@@cd $(BUILD_DIRECTORY_PATH)/$@@; \
	mkdir -p obj; \
	$(MAKE) || exit "$$?"; \
	if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
		echo "64-bit version of $@@:"; \
	else \
		echo "32-bit version of $@@:"; \
	fi; \
	ls -al ../bin/$@@; \
	echo "";

#
# Simple clean removes all .obj files, but leaves the executables
# in the local bin directory
#
clean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
	done;

#
# Very clean removes all executables and the local bin directory
#
veryclean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
		if [ -e "$(BUILD_DIRECTORY_PATH)/bin/$$toolname" ] ; then \
			rm $(BUILD_DIRECTORY_PATH)/bin/$$toolname; \
		fi; \
	done; \
	if [ -d "bin" ] ; then \
		rmdir bin; \
	fi;

#
# Install all tools, either 32-bit or 64-bit as appropriate for the host OS
#
install:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		pwd; \
		$(MAKE) PROG=$$toolname install; \
		if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
			echo "Installed 64-bit version of $$toolname"; \
		else \
			echo "Installed 32-bit version of $$toolname"; \
		fi; \
		echo ""; \
		); \
	done;

machine:	FORCE
	@@echo "Machine architecture: $(HARDWARE_NAME), $(XBITS)";
	@@echo "Findstring: $(findstring 64, $(HARDWARE_NAME))";

FORCE:

@


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


1.1.1.1.4.2
log
@sync with head
@
text
@a0 93
#
# Common make for acpica tools and utilities
#

#
# Get the OS machine architecture. Anything with a "64" in the returned
# string will be treated as a 64-bit OS. Otherwise, the default is 32-bit.
#
ifeq ($(HOST), _FreeBSD)
HARDWARE_NAME := $(shell uname -p)
else
HARDWARE_NAME := $(shell uname -m)
endif

#
# Main rule will only generate versions that are appropriate for the running
# OS, either 64-bit or 32-bit.
#
all:	$(PROGS)
$(PROGS): FORCE
	@@cd $(BUILD_DIRECTORY_PATH)/$@@; \
	mkdir -p obj; \
	$(MAKE) || exit "$$?"; \
	if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
		echo "64-bit version of $@@:"; \
	else \
		echo "32-bit version of $@@:"; \
	fi; \
	ls -al ../bin/$@@; \
	echo "";

#
# Simple clean removes all .obj files, but leaves the executables
# in the local bin directory
#
clean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
	done;

#
# Very clean removes all executables and the local bin directory
#
veryclean:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		if [ -d "obj" ] ; then \
			echo "Removing $$toolname:"; \
			pwd; \
			$(MAKE) clean; \
			rmdir obj; \
			echo ""; \
		fi; \
		); \
		if [ -e "$(BUILD_DIRECTORY_PATH)/bin/$$toolname" ] ; then \
			rm $(BUILD_DIRECTORY_PATH)/bin/$$toolname; \
		fi; \
	done; \
	if [ -d "bin" ] ; then \
		rmdir bin; \
	fi;

#
# Install all tools, either 32-bit or 64-bit as appropriate for the host OS
#
install:	FORCE
	@@for toolname in $(PROGS); do \
		(cd $(BUILD_DIRECTORY_PATH)/$$toolname; \
		pwd; \
		$(MAKE) PROG=$$toolname install; \
		if [ $(findstring 64,$(HARDWARE_NAME)) ]; then \
			echo "Installed 64-bit version of $$toolname"; \
		else \
			echo "Installed 32-bit version of $$toolname"; \
		fi; \
		echo ""; \
		); \
	done;

machine:	FORCE
	@@echo "Machine architecture: $(HARDWARE_NAME), $(XBITS)";
	@@echo "Findstring: $(findstring 64, $(HARDWARE_NAME))";

FORCE:

@


