head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.7
	acpica-20260408:1.1.1.7
	netbsd-11-0-RC3:1.1.1.7
	netbsd-11-0-RC2:1.1.1.7
	netbsd-11-0-RC1:1.1.1.7
	acpica-20251212:1.1.1.7
	acpica-20250807:1.1.1.7
	perseant-exfatfs-base-20250801:1.1.1.7
	netbsd-11:1.1.1.7.0.54
	netbsd-11-base:1.1.1.7
	acpica-20241212:1.1.1.7
	netbsd-10-1-RELEASE:1.1.1.7
	acpica-20240827:1.1.1.7
	perseant-exfatfs-base-20240630:1.1.1.7
	perseant-exfatfs:1.1.1.7.0.52
	perseant-exfatfs-base:1.1.1.7
	netbsd-8-3-RELEASE:1.1.1.7
	netbsd-9-4-RELEASE:1.1.1.7
	netbsd-10-0-RELEASE:1.1.1.7
	netbsd-10-0-RC6:1.1.1.7
	netbsd-10-0-RC5:1.1.1.7
	netbsd-10-0-RC4:1.1.1.7
	netbsd-10-0-RC3:1.1.1.7
	netbsd-10-0-RC2:1.1.1.7
	thorpej-ifq:1.1.1.7.0.50
	thorpej-ifq-base:1.1.1.7
	thorpej-altq-separation:1.1.1.7.0.48
	thorpej-altq-separation-base:1.1.1.7
	netbsd-10-0-RC1:1.1.1.7
	acpica-20230628:1.1.1.7
	netbsd-10:1.1.1.7.0.46
	netbsd-10-base:1.1.1.7
	acpica-20221020:1.1.1.7
	bouyer-sunxi-drm:1.1.1.7.0.44
	bouyer-sunxi-drm-base:1.1.1.7
	acpica-20220331:1.1.1.7
	netbsd-9-3-RELEASE:1.1.1.7
	acpica-20211217:1.1.1.7
	acpica-20210930:1.1.1.7
	thorpej-i2c-spi-conf2:1.1.1.7.0.42
	thorpej-i2c-spi-conf2-base:1.1.1.7
	thorpej-futex2:1.1.1.7.0.40
	thorpej-futex2-base:1.1.1.7
	thorpej-cfargs2:1.1.1.7.0.38
	thorpej-cfargs2-base:1.1.1.7
	acpica-20210604:1.1.1.7
	cjep_sun2x-base1:1.1.1.7
	cjep_sun2x:1.1.1.7.0.36
	cjep_sun2x-base:1.1.1.7
	cjep_staticlib_x-base1:1.1.1.7
	netbsd-9-2-RELEASE:1.1.1.7
	cjep_staticlib_x:1.1.1.7.0.34
	cjep_staticlib_x-base:1.1.1.7
	thorpej-i2c-spi-conf:1.1.1.7.0.32
	thorpej-i2c-spi-conf-base:1.1.1.7
	acpica-20210331:1.1.1.7
	thorpej-cfargs:1.1.1.7.0.30
	thorpej-cfargs-base:1.1.1.7
	acpica-20201113:1.1.1.7
	thorpej-futex:1.1.1.7.0.28
	thorpej-futex-base:1.1.1.7
	netbsd-9-1-RELEASE:1.1.1.7
	acpica-20200717:1.1.1.7
	acpica-20200430:1.1.1.7
	bouyer-xenpvh-base2:1.1.1.7
	phil-wifi-20200421:1.1.1.7
	bouyer-xenpvh-base1:1.1.1.7
	phil-wifi-20200411:1.1.1.7
	bouyer-xenpvh:1.1.1.7.0.26
	bouyer-xenpvh-base:1.1.1.7
	is-mlppp:1.1.1.7.0.24
	is-mlppp-base:1.1.1.7
	phil-wifi-20200406:1.1.1.7
	netbsd-8-2-RELEASE:1.1.1.7
	acpica-20200326:1.1.1.7
	ad-namecache-base3:1.1.1.7
	netbsd-9-0-RELEASE:1.1.1.7
	netbsd-9-0-RC2:1.1.1.7
	ad-namecache-base2:1.1.1.7
	ad-namecache-base1:1.1.1.7
	ad-namecache:1.1.1.7.0.22
	ad-namecache-base:1.1.1.7
	acpica-20191213:1.1.1.7
	netbsd-9-0-RC1:1.1.1.7
	phil-wifi-20191119:1.1.1.7
	acpica-20190816:1.1.1.7
	netbsd-9:1.1.1.7.0.20
	netbsd-9-base:1.1.1.7
	phil-wifi-20190609:1.1.1.7
	netbsd-8-1-RELEASE:1.1.1.7
	netbsd-8-1-RC1:1.1.1.7
	acpica-20190405:1.1.1.7
	isaki-audio2:1.1.1.7.0.18
	isaki-audio2-base:1.1.1.7
	pgoyette-compat-merge-20190127:1.1.1.7
	pgoyette-compat-20190127:1.1.1.7
	pgoyette-compat-20190118:1.1.1.7
	acpica-20181213:1.1.1.7
	pgoyette-compat-1226:1.1.1.7
	pgoyette-compat-1126:1.1.1.7
	pgoyette-compat-1020:1.1.1.7
	pgoyette-compat-0930:1.1.1.7
	pgoyette-compat-0906:1.1.1.7
	netbsd-7-2-RELEASE:1.1.1.3
	acpica-20180810:1.1.1.7
	pgoyette-compat-0728:1.1.1.7
	netbsd-8-0-RELEASE:1.1.1.7
	phil-wifi:1.1.1.7.0.16
	phil-wifi-base:1.1.1.7
	pgoyette-compat-0625:1.1.1.7
	netbsd-8-0-RC2:1.1.1.7
	pgoyette-compat-0521:1.1.1.7
	acpica-20180427:1.1.1.7
	pgoyette-compat-0502:1.1.1.7
	pgoyette-compat-0422:1.1.1.7
	netbsd-8-0-RC1:1.1.1.7
	pgoyette-compat-0415:1.1.1.7
	acpica-20180313:1.1.1.7
	pgoyette-compat-0407:1.1.1.7
	pgoyette-compat-0330:1.1.1.7
	pgoyette-compat-0322:1.1.1.7
	pgoyette-compat-0315:1.1.1.7
	netbsd-7-1-2-RELEASE:1.1.1.3
	pgoyette-compat:1.1.1.7.0.14
	pgoyette-compat-base:1.1.1.7
	netbsd-7-1-1-RELEASE:1.1.1.3
	tls-maxphys-base-20171202:1.1.1.7
	acpica-20171110:1.1.1.7
	matt-nb8-mediatek:1.1.1.7.0.12
	matt-nb8-mediatek-base:1.1.1.7
	acpica-20170831:1.1.1.7
	nick-nhusb-base-20170825:1.1.1.7
	perseant-stdc-iso10646:1.1.1.7.0.10
	perseant-stdc-iso10646-base:1.1.1.7
	netbsd-8:1.1.1.7.0.8
	netbsd-8-base:1.1.1.7
	prg-localcount2-base3:1.1.1.7
	prg-localcount2-base2:1.1.1.7
	prg-localcount2-base1:1.1.1.7
	acpica-20170303:1.1.1.7
	prg-localcount2:1.1.1.7.0.6
	prg-localcount2-base:1.1.1.7
	pgoyette-localcount-20170426:1.1.1.7
	bouyer-socketcan-base1:1.1.1.7
	jdolecek-ncq:1.1.1.7.0.4
	jdolecek-ncq-base:1.1.1.7
	pgoyette-localcount-20170320:1.1.1.7
	netbsd-7-1:1.1.1.3.0.10
	netbsd-7-1-RELEASE:1.1.1.3
	netbsd-7-1-RC2:1.1.1.3
	nick-nhusb-base-20170204:1.1.1.7
	acpica-20170119:1.1.1.7
	netbsd-7-nhusb-base-20170116:1.1.1.3
	bouyer-socketcan:1.1.1.7.0.2
	bouyer-socketcan-base:1.1.1.7
	pgoyette-localcount-20170107:1.1.1.7
	netbsd-7-1-RC1:1.1.1.3
	nick-nhusb-base-20161204:1.1.1.7
	acpica-20160930:1.1.1.7
	pgoyette-localcount-20161104:1.1.1.6
	netbsd-7-0-2-RELEASE:1.1.1.3
	nick-nhusb-base-20161004:1.1.1.6
	localcount-20160914:1.1.1.6
	netbsd-7-nhusb:1.1.1.3.0.8
	netbsd-7-nhusb-base:1.1.1.3
	pgoyette-localcount-20160806:1.1.1.6
	pgoyette-localcount-20160726:1.1.1.6
	acpica-20160527:1.1.1.6
	pgoyette-localcount:1.1.1.6.0.2
	pgoyette-localcount-base:1.1.1.6
	nick-nhusb-base-20160907:1.1.1.6
	nick-nhusb-base-20160529:1.1.1.6
	netbsd-7-0-1-RELEASE:1.1.1.3
	acpica-20160422:1.1.1.6
	nick-nhusb-base-20160422:1.1.1.5
	nick-nhusb-base-20160319:1.1.1.5
	acpica-20160108:1.1.1.5
	nick-nhusb-base-20151226:1.1.1.5
	netbsd-7-0:1.1.1.3.0.6
	netbsd-7-0-RELEASE:1.1.1.3
	nick-nhusb-base-20150921:1.1.1.5
	acpica-20150717:1.1.1.5
	netbsd-7-0-RC3:1.1.1.3
	netbsd-7-0-RC2:1.1.1.3
	netbsd-7-0-RC1:1.1.1.3
	nick-nhusb-base-20150606:1.1.1.4
	acpica-20150410:1.1.1.4
	nick-nhusb-base-20150406:1.1.1.4
	nick-nhusb:1.1.1.4.0.2
	nick-nhusb-base:1.1.1.4
	acpica-20140926:1.1.1.4
	netbsd-6-0-6-RELEASE:1.1.1.2
	netbsd-6-1-5-RELEASE:1.1.1.2
	netbsd-7:1.1.1.3.0.4
	netbsd-7-base:1.1.1.3
	yamt-pagecache-base9:1.1.1.3
	yamt-pagecache-tag8:1.1.1.2
	netbsd-6-1-4-RELEASE:1.1.1.2
	netbsd-6-0-5-RELEASE:1.1.1.2
	tls-earlyentropy:1.1.1.3.0.2
	tls-earlyentropy-base:1.1.1.3
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.3
	riastradh-drm2-base3:1.1.1.3
	netbsd-6-1-3-RELEASE:1.1.1.2
	netbsd-6-0-4-RELEASE:1.1.1.2
	acpica-20131218:1.1.1.3
	netbsd-6-1-2-RELEASE:1.1.1.2
	netbsd-6-0-3-RELEASE:1.1.1.2
	rmind-smpnet-nbase:1.1.1.3
	netbsd-6-1-1-RELEASE:1.1.1.2
	riastradh-drm2-base2:1.1.1.2
	riastradh-drm2-base1:1.1.1.2
	riastradh-drm2:1.1.1.2.0.24
	riastradh-drm2-base:1.1.1.2
	rmind-smpnet:1.1.1.2.0.16
	rmind-smpnet-base:1.1.1.3
	netbsd-6-1:1.1.1.2.0.22
	netbsd-6-0-2-RELEASE:1.1.1.2
	netbsd-6-1-RELEASE:1.1.1.2
	khorben-n900:1.1.1.2.0.20
	netbsd-6-1-RC4:1.1.1.2
	netbsd-6-1-RC3:1.1.1.2
	agc-symver:1.1.1.2.0.18
	agc-symver-base:1.1.1.2
	netbsd-6-1-RC2:1.1.1.2
	netbsd-6-1-RC1:1.1.1.2
	yamt-pagecache-base8:1.1.1.2
	netbsd-6-0-1-RELEASE:1.1.1.2
	yamt-pagecache-base7:1.1.1.2
	matt-nb6-plus-nbase:1.1.1.2
	yamt-pagecache-base6:1.1.1.2
	netbsd-6-0:1.1.1.2.0.14
	netbsd-6-0-RELEASE:1.1.1.2
	netbsd-6-0-RC2:1.1.1.2
	tls-maxphys:1.1.1.2.0.12
	tls-maxphys-base:1.1.1.3
	matt-nb6-plus:1.1.1.2.0.10
	matt-nb6-plus-base:1.1.1.2
	netbsd-6-0-RC1:1.1.1.2
	jmcneill-usbmp-base10:1.1.1.2
	yamt-pagecache-base5:1.1.1.2
	jmcneill-usbmp-base9:1.1.1.2
	yamt-pagecache-base4:1.1.1.2
	jmcneill-usbmp-base8:1.1.1.2
	jmcneill-usbmp-base7:1.1.1.2
	jmcneill-usbmp-base6:1.1.1.2
	jmcneill-usbmp-base5:1.1.1.2
	jmcneill-usbmp-base4:1.1.1.2
	jmcneill-usbmp-base3:1.1.1.2
	jmcneill-usbmp-pre-base2:1.1.1.2
	jmcneill-usbmp-base2:1.1.1.2
	netbsd-6:1.1.1.2.0.8
	netbsd-6-base:1.1.1.2
	jmcneill-usbmp:1.1.1.2.0.6
	jmcneill-usbmp-base:1.1.1.2
	jmcneill-audiomp3:1.1.1.2.0.4
	jmcneill-audiomp3-base:1.1.1.2
	yamt-pagecache-base3:1.1.1.2
	yamt-pagecache-base2:1.1.1.2
	yamt-pagecache:1.1.1.2.0.2
	yamt-pagecache-base:1.1.1.2
	acpica-20110623:1.1.1.2
	rmind-uvmplock-nbase:1.1.1.1
	jruoho-x86intr:1.1.1.1.0.8
	cherry-xenmp:1.1.1.1.0.6
	cherry-xenmp-base:1.1.1.1
	rmind-uvmplock-base:1.1.1.1
	rmind-uvmplock:1.1.1.1.0.4
	bouyer-quota2-base:1.1.1.1
	bouyer-quota2:1.1.1.1.0.2
	bouyer-quota2-nbase:1.1.1.1
	acpica-20110211:1.1.1.1
	intel:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2011.02.17.10.01.17;	author jruoho;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2011.02.17.10.01.17;	author jruoho;	state Exp;
branches
	1.1.1.1.2.1
	1.1.1.1.4.1
	1.1.1.1.8.1;
next	1.1.1.2;

1.1.1.2
date	2011.06.28.09.02.04;	author jruoho;	state Exp;
branches
	1.1.1.2.2.1
	1.1.1.2.12.1
	1.1.1.2.16.1;
next	1.1.1.3;

1.1.1.3
date	2013.12.27.18.45.57;	author christos;	state Exp;
branches;
next	1.1.1.4;
commitid	V0GPYwkMFFnhONix;

1.1.1.4
date	2014.10.25.20.57.55;	author christos;	state Exp;
branches
	1.1.1.4.2.1;
next	1.1.1.5;
commitid	qP5aPM6NbKDtPCVx;

1.1.1.5
date	2015.08.18.09.53.33;	author christos;	state Exp;
branches;
next	1.1.1.6;
commitid	ReVzBajnOLQFBJxy;

1.1.1.6
date	2016.05.04.18.15.54;	author christos;	state Exp;
branches
	1.1.1.6.2.1;
next	1.1.1.7;
commitid	PbTOz8vOTknW1c5z;

1.1.1.7
date	2016.11.11.19.14.17;	author christos;	state Exp;
branches;
next	;
commitid	9OM3cX8uEKwTcKtz;

1.1.1.1.2.1
date	2011.02.17.10.01.17;	author bouyer;	state dead;
branches;
next	1.1.1.1.2.2;

1.1.1.1.2.2
date	2011.02.17.12.00.25;	author bouyer;	state Exp;
branches;
next	;

1.1.1.1.4.1
date	2011.02.17.10.01.17;	author rmind;	state dead;
branches;
next	1.1.1.1.4.2;

1.1.1.1.4.2
date	2011.03.05.20.54.32;	author rmind;	state Exp;
branches;
next	;

1.1.1.1.8.1
date	2011.02.17.10.01.17;	author jruoho;	state dead;
branches;
next	1.1.1.1.8.2;

1.1.1.1.8.2
date	2011.06.06.09.08.58;	author jruoho;	state Exp;
branches;
next	;

1.1.1.2.2.1
date	2014.05.22.11.40.40;	author yamt;	state Exp;
branches;
next	;
commitid	VUUXuyNWnt3AKwBx;

1.1.1.2.12.1
date	2014.08.20.00.03.54;	author tls;	state Exp;
branches;
next	1.1.1.2.12.2;
commitid	jTnpym9Qu0o4R1Nx;

1.1.1.2.12.2
date	2017.12.03.11.37.41;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

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

1.1.1.4.2.1
date	2015.09.22.12.06.03;	author skrll;	state Exp;
branches;
next	1.1.1.4.2.2;
commitid	CpNWKp3ozVNTafCy;

1.1.1.4.2.2
date	2016.05.29.08.44.33;	author skrll;	state Exp;
branches;
next	1.1.1.4.2.3;
commitid	8mlnPW6uSaJU1m8z;

1.1.1.4.2.3
date	2016.12.05.10.55.22;	author skrll;	state Exp;
branches;
next	;
commitid	4H3tiQVJXN6oEMwz;

1.1.1.6.2.1
date	2017.01.07.08.56.45;	author pgoyette;	state Exp;
branches;
next	;
commitid	uEL0C1YuiJrlV0Bz;


desc
@@


1.1
log
@Initial revision
@
text
@#
# acpisrc utility
#
include ../Makefile.config

PROG = acpisrc


#
# Flags specific to acpisrc
#
CFLAGS+= -DACPI_APPLICATION -I$(ACPICA_TOOLS)/acpisrc

OBJS = \
	ascase.o \
	asconvrt.o \
	asfile.o \
	asmain.o \
	asremove.o \
	astable.o \
	asutils.o \
	getopt.o \
	osunixdir.o 


#
# Root rule
#
$(PROG) : $(OBJS)
	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
	$(COPYPROG)


#
# acpisrc source
#
ascase.o :          $(ACPICA_TOOLS)/acpisrc/ascase.c
	$(COMPILE)

asconvrt.o :        $(ACPICA_TOOLS)/acpisrc/asconvrt.c
	$(COMPILE)

asfile.o :          $(ACPICA_TOOLS)/acpisrc/asfile.c
	$(COMPILE)

asmain.o :          $(ACPICA_TOOLS)/acpisrc/asmain.c
	$(COMPILE)

asremove.o :        $(ACPICA_TOOLS)/acpisrc/asremove.c
	$(COMPILE)

astable.o :         $(ACPICA_TOOLS)/acpisrc/astable.c
	$(COMPILE)

asutils.o :         $(ACPICA_TOOLS)/acpisrc/asutils.c
	$(COMPILE)


#
# ACPICA core source - common
#
getopt.o :          $(ACPICA_COMMON)/getopt.c
	$(COMPILE)


#
# Unix OS services layer (OSL)
#
osunixdir.o :       $(ACPICA_OSL)/osunixdir.c
	$(COMPILE)


clean : 
	rm -f $(PROG) $(PROG).exe $(OBJS)

install : 
	$(INSTALLPROG)
@


1.1.1.1
log
@Import 20110211.
@
text
@@


1.1.1.2
log
@Import ACPICA 20110623.

Selected changes since 20110211 include, among other things, fixes to _PRW
parsing, fix to a regression with the Load() operator, improvements in NULL
package element removal, support for "spurious" global lock interrupts,
execution of orphaned _REG methods under acpiec(4), and smaller iasl(8)
improvements.
@
text
@d2 1
a2 1
# acpisrc - ACPICA source code conversion utility
d4 1
a5 9
#
# Note: This makefile is intended to be used from within the native
# ACPICA directory structure, from under generate/unix. It specifically
# places all object files in a generate/unix subdirectory, not within
# the various ACPICA source directories. This prevents collisions
# between different compilations of the same source file with different
# compile options, and prevents pollution of the source code.
#
include ../Makefile.config
d8 1
d12 1
a12 3
CFLAGS+= \
    -DACPI_SRC_APP \
    -I$(ACPICA_TOOLS)/acpisrc
d23 2
a24 1
	osunixdir.o
d33 1
d58 1
d65 1
d73 1
a73 1
clean :
d76 1
a76 1
install :
@


1.1.1.2.12.1
log
@Rebase to HEAD as of a few days ago.
@
text
@d14 1
a14 2
FINAL_PROG = ../$(BINDIR)/acpisrc
PROG = $(OBJDIR)/acpisrc
d17 1
a17 1
# Search path for source files and individual source files
d19 3
a21 4
vpath %.c \
    $(ACPISRC)\
    $(ACPICA_COMMON)\
    $(ACPICA_OSL)
d23 10
a32 2
HEADERS = \
    $(wildcard $(ACPISRC)/*.h)
d34 30
a63 10
OBJECTS = \
    $(OBJDIR)/ascase.o\
    $(OBJDIR)/asconvrt.o\
    $(OBJDIR)/asfile.o\
    $(OBJDIR)/asmain.o\
    $(OBJDIR)/asremove.o\
    $(OBJDIR)/astable.o\
    $(OBJDIR)/asutils.o\
    $(OBJDIR)/osunixdir.o\
    $(OBJDIR)/getopt.o
d66 1
a66 1
# Compile flags specific to acpisrc
d68 2
a69 3
CFLAGS += \
    -DACPI_SRC_APP\
    -I$(ACPISRC)
d72 1
a72 1
# Common Rules
d74 9
a82 1
include ../Makefile.rules
@


1.1.1.2.12.2
log
@update from HEAD
@
text
@a21 1
    $(ACPICA_UTILITIES)\
a35 2
    $(OBJDIR)/cmfsize.o\
    $(OBJDIR)/getopt.o \
d37 1
a37 10
    $(OBJDIR)/osunixxf.o\
    $(OBJDIR)/utascii.o\
    $(OBJDIR)/utdebug.o\
    $(OBJDIR)/utexcep.o\
    $(OBJDIR)/utglobal.o\
	$(OBJDIR)/uthex.o\
    $(OBJDIR)/utmath.o\
    $(OBJDIR)/utnonansi.o\
    $(OBJDIR)/utstring.o\
    $(OBJDIR)/utxferror.o
@


1.1.1.2.2.1
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
@d14 1
a14 2
FINAL_PROG = ../$(BINDIR)/acpisrc
PROG = $(OBJDIR)/acpisrc
d17 1
a17 1
# Search path for source files and individual source files
d19 3
a21 4
vpath %.c \
    $(ACPISRC)\
    $(ACPICA_COMMON)\
    $(ACPICA_OSL)
d23 10
a32 2
HEADERS = \
    $(wildcard $(ACPISRC)/*.h)
d34 30
a63 10
OBJECTS = \
    $(OBJDIR)/ascase.o\
    $(OBJDIR)/asconvrt.o\
    $(OBJDIR)/asfile.o\
    $(OBJDIR)/asmain.o\
    $(OBJDIR)/asremove.o\
    $(OBJDIR)/astable.o\
    $(OBJDIR)/asutils.o\
    $(OBJDIR)/osunixdir.o\
    $(OBJDIR)/getopt.o
d66 1
a66 1
# Compile flags specific to acpisrc
d68 2
a69 3
CFLAGS += \
    -DACPI_SRC_APP\
    -I$(ACPISRC)
d72 1
a72 1
# Common Rules
d74 9
a82 1
include ../Makefile.rules
@


1.1.1.2.16.1
log
@sync with head
@
text
@d14 1
a14 2
FINAL_PROG = ../$(BINDIR)/acpisrc
PROG = $(OBJDIR)/acpisrc
d17 1
a17 1
# Search path for source files and individual source files
d19 3
a21 4
vpath %.c \
    $(ACPISRC)\
    $(ACPICA_COMMON)\
    $(ACPICA_OSL)
d23 10
a32 2
HEADERS = \
    $(wildcard $(ACPISRC)/*.h)
d34 30
a63 10
OBJECTS = \
    $(OBJDIR)/ascase.o\
    $(OBJDIR)/asconvrt.o\
    $(OBJDIR)/asfile.o\
    $(OBJDIR)/asmain.o\
    $(OBJDIR)/asremove.o\
    $(OBJDIR)/astable.o\
    $(OBJDIR)/asutils.o\
    $(OBJDIR)/osunixdir.o\
    $(OBJDIR)/getopt.o
d66 1
a66 1
# Compile flags specific to acpisrc
d68 2
a69 3
CFLAGS += \
    -DACPI_SRC_APP\
    -I$(ACPISRC)
d72 1
a72 1
# Common Rules
d74 9
a82 1
include ../Makefile.rules
@


1.1.1.3
log
@import new acpica
@
text
@d14 1
a14 2
FINAL_PROG = ../$(BINDIR)/acpisrc
PROG = $(OBJDIR)/acpisrc
d17 1
a17 1
# Search path for source files and individual source files
d19 3
a21 4
vpath %.c \
    $(ACPISRC)\
    $(ACPICA_COMMON)\
    $(ACPICA_OSL)
d23 10
a32 2
HEADERS = \
    $(wildcard $(ACPISRC)/*.h)
d34 30
a63 10
OBJECTS = \
    $(OBJDIR)/ascase.o\
    $(OBJDIR)/asconvrt.o\
    $(OBJDIR)/asfile.o\
    $(OBJDIR)/asmain.o\
    $(OBJDIR)/asremove.o\
    $(OBJDIR)/astable.o\
    $(OBJDIR)/asutils.o\
    $(OBJDIR)/osunixdir.o\
    $(OBJDIR)/getopt.o
d66 1
a66 1
# Compile flags specific to acpisrc
d68 2
a69 3
CFLAGS += \
    -DACPI_SRC_APP\
    -I$(ACPISRC)
d72 1
a72 1
# Common Rules
d74 9
a82 1
include ../Makefile.rules
@


1.1.1.4
log
@----------------------------------------
26 September 2014. Summary of changes for version 20140926:

1) ACPICA kernel-resident subsystem:

Updated the GPIO operation region handler interface (GeneralPurposeIo).
In order to support GPIO Connection objects with multiple pins, along
with the related Field objects, the following changes to the interface
have been made: The Address is now defined to be the offset in bits of
the field unit from the previous invocation of a Connection. It can be
viewed as a "Pin Number Index" into the connection resource descriptor.
The BitWidth is the exact bit width of the field. It is usually one bit,
but not always. See the ACPICA reference guide (section 8.8.6.2.1) for
additional information and examples.

GPE support: During ACPICA/GPE initialization, ensure that all GPEs with
corresponding _Lxx/_Exx methods are disabled (they may have been enabled
by the firmware), so that they cannot fire until they are enabled via
AcpiUpdateAllGpes. Rafael J. Wysocki.

Added a new return flag for the Event/GPE status interfaces --
AcpiGetEventStatus and AcpiGetGpeStatus. The new
ACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or
GPE currently has a handler associated with it, and can thus actually
affect the system. 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:  99.1K Code, 27.3K Data, 126.4K Total
    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total
  Previous Release:
    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total
    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total

2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a memory allocation/free regression introduced in 20140828
that could cause the compiler to crash. This was introduced inadvertently
during the effort to eliminate compiler memory leaks. ACPICA BZ 1111,
1113.

iASL: Removed two error messages that have been found to create false
positives, until they can be fixed and fully validated (ACPICA BZ 1112):
1) Illegal forward reference within a method
2) Illegal reference across two methods

iASL: Implemented a new option (-lm) to create a hardware mapping file
that summarizes all GPIO, I2C, SPI, and UART connections. This option
works for both the compiler and disassembler. See the iASL compiler user
guide for additional information and examples (section 6.4.6).

AcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to
version 2. This corrects the AE_BAD_HEADER exception seen on systems with
a version 1 RSDP. Lv Zheng ACPICA BZ 1097.

AcpiExec: For Unix versions, don't attempt to put STDIN into raw mode
unless STDIN is actually a terminal. Assists with batch-mode processing.
ACPICA BZ 1114.

Disassembler/AcpiHelp: Added another large group of recognized _HID
values.


----------------------------------------
28 August 2014. Summary of changes for version 20140828:

1) ACPICA kernel-resident subsystem:

Fixed a problem related to the internal use of the Timer() operator where
a 64-bit divide could cause an attempted link to a double-precision math
library. This divide is not actually necessary, so the code was
restructured to eliminate it. Lv Zheng.

ACPI 5.1: Added support for the runtime validation of the _DSD package
(similar to the iASL support).

ACPI 5.1/Headers: Added support for the GICC affinity subtable to the
SRAT table. Hanjun Guo <hanjun.guo@@linaro.org>.

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:  98.8K Code, 27.3K Data, 126.1K Total
    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total
  Previous Release:
    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1
    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total

2) iASL Compiler/Disassembler and Tools:

AcpiExec: Fixed a problem on unix systems where the original terminal
state was not always properly restored upon exit. Seen when using the -v
option. ACPICA BZ 1104.

iASL: Fixed a problem with the validation of the ranges/length within the
Memory24 resource descriptor. There was a boundary condition when the
range was equal to the (length -1) caused by the fact that these values
are defined in 256-byte blocks, not bytes. ACPICA BZ 1098

Disassembler: Fixed a problem with the GpioInt descriptor interrupt
polarity
flags. The flags are actually 2 bits, not 1, and the "ActiveBoth" keyword
is
now supported properly.

ACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported
in the disassembler, data table compiler, and table template generator.

iASL: Added a requirement for Device() objects that one of either a _HID
or _ADR must exist within the scope of a Device, as per the ACPI
specification. Remove a similar requirement that was incorrectly in place
for the _DSD object.

iASL: Added error detection for illegal named references within control
methods that would cause runtime failures. Now trapped as errors are: 1)
References to objects within a non-parent control method. 2) Forward
references (within a method) -- for control methods, AML interpreters use
a one-pass parse of control methods. ACPICA BZ 1008.

iASL: Added error checking for dependencies related to the _PSx power
methods. ACPICA BZ 1029.
1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,
_PS3.
2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same
scope.

iASL and table compiler: Cleanup miscellaneous memory leaks by fully
deploying the existing object and string caches and adding new caches for
the table compiler.

iASL: Split the huge parser source file into multiple subfiles to improve
manageability. Generation now requires the M4 macro preprocessor, which
is part of the Bison distribution on both unix and windows platforms.

AcpiSrc: Fixed and removed all extraneous warnings generated during
entire ACPICA source code scan and/or conversion.


----------------------------------------

24 July 2014. Summary of changes for version 20140724:

The ACPI 5.1 specification has been released and is available at:
http://uefi.org/specs/access


0) ACPI 5.1 support in ACPICA:

ACPI 5.1 is fully supported in ACPICA as of this release.

New predefined names. Support includes iASL and runtime ACPICA
validation.
    _CCA (Cache Coherency Attribute).
    _DSD (Device-Specific Data). David Box.

Modifications to existing ACPI tables. Support includes headers, iASL
Data Table compiler, disassembler, and the template generator.
    FADT - New fields and flags. Graeme Gregory.
    GTDT - One new subtable and new fields. Tomasz Nowicki.
    MADT - Two new subtables. Tomasz Nowicki.
    PCCT - One new subtable.

Miscellaneous.
    New notification type for System Resource Affinity change events.


1) ACPICA kernel-resident subsystem:

Fixed a regression introduced in 20140627 where a fault can happen during
the deletion of Alias AML namespace objects. The problem affected both
the core ACPICA and the ACPICA tools including iASL and AcpiExec.

Implemented a new GPE public interface, AcpiMarkGpeForWake. Provides a
simple mechanism to enable wake GPEs that have no associated handler or
control method. Rafael Wysocki.

Updated the AcpiEnableGpe interface to disallow the enable if there is no
handler or control method associated with the particular GPE. This will
help avoid meaningless GPEs and even GPE floods. Rafael Wysocki.

Updated GPE handling and dispatch by disabling the GPE before clearing
the status bit for edge-triggered GPEs. Lv Zheng.

Added Timer() support to the AML Debug object. The current timer value is
now displayed with each invocation of (Store to) the debug object to
enable simple generation of execution times for AML code (method
execution for example.) ACPICA BZ 1093.

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:  98.7K Code, 27.3K Data, 126.0K Total
    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total
  Previous Release:
    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total
    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total


2) iASL Compiler/Disassembler and Tools:

Fixed an issue with the recently added local printf implementation,
concerning width/precision specifiers that could cause incorrect output.
Lv Zheng. ACPICA BZ 1094.

Disassembler: Added support to detect buffers that contain UUIDs and
disassemble them to an invocation of the ToUUID operator. Also emit
commented descriptions of known ACPI-related UUIDs.

AcpiHelp: Added support to display known ACPI-related UUIDs. New option,
-u. Adds three new files.

iASL: Update table compiler and disassembler for DMAR table changes that
were introduced in September 2013. With assistance by David Woodhouse.

----------------------------------------
27 June 2014. Summary of changes for version 20140627:

1) ACPICA kernel-resident subsystem:

Formatted Output: Implemented local versions of standard formatted output
utilities such as printf, etc. Over time, it has been discovered that
there are in fact many portability issues with printf, and the addition
of this feature will fix/prevent these issues once and for all. Some
known issues are summarized below:

1) Output of 64-bit values is not portable. For example, UINT64 is %ull
for the Linux kernel and is %uI64 for some MSVC versions.
2) Invoking printf consistently in a manner that is portable across both
32-bit and 64-bit platforms is difficult at best in many situations.
3) The output format for pointers varies from system to system (leading
zeros especially), and leads to inconsistent output from ACPICA across
platforms.
4) Certain platform-specific printf formats may conflict with ACPICA use.
5) If there is no local C library available, ACPICA now has local support
for printf.

-- To address these printf issues in a complete manner, ACPICA now
directly implements a small subset of printf format specifiers, only
those that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.

Implemented support for ACPICA generation within the EFI environment.
Initially, the AcpiDump utility is supported in the UEFI shell
environment. Lv Zheng.

Added a new external interface, AcpiLogError, to improve ACPICA
portability. This allows the host to redirect error messages from the
ACPICA utilities. Lv Zheng.

Added and deployed new OSL file I/O interfaces to improve ACPICA
portability:
  AcpiOsOpenFile
  AcpiOsCloseFile
  AcpiOsReadFile
  AcpiOsWriteFile
  AcpiOsGetFileOffset
  AcpiOsSetFileOffset
There are C library implementations of these functions in the new file
service_layers/oslibcfs.c -- however, the functions can be implemented by
the local host in any way necessary. Lv Zheng.

Implemented a mechanism to disable/enable ACPI table checksum validation
at runtime. This can be useful when loading tables very early during OS
initialization when it may not be possible to map the entire table in
order to compute the checksum. Lv Zheng.

Fixed a buffer allocation issue for the Generic Serial Bus support.
Originally, a fixed buffer length was used. This change allows for
variable-length buffers based upon the protocol indicated by the field
access attributes. Reported by Lan Tianyu. Lv Zheng.

Fixed a problem where an object detached from a namespace node was not
properly terminated/cleared and could cause a circular list problem if
reattached. ACPICA BZ 1063. David Box.

Fixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.

Fixed a possible memory leak in an error return path within the function
AcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.

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:  98.7K Code, 27.2K Data, 125.9K Total
    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total
  Previous Release:
    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total
    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Add dump of ASCII equivalent text within a comment at the
end of each line of the output for the Buffer() ASL operator.

AcpiDump: Miscellaneous changes:
  Fixed repetitive table dump in -n mode.
  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if
the ACPI 2.0 GUID fails.

iASL: Fixed a problem where the compiler could fault if incorrectly given
an acpidump output file as input. ACPICA BZ 1088. David Box.

AcpiExec/AcpiNames: Fixed a problem where these utilities could fault if
they are invoked without any arguments.

Debugger: Fixed a possible memory leak in an error return path. ACPICA BZ
1086. Colin Ian King.

Disassembler: Cleaned up a block of code that extracts a parent Op
object. Added a comment that explains that the parent is guaranteed to be
valid in this case. ACPICA BZ 1069.

----------------------------------------
24 April 2014. Summary of changes for version 20140424:

1) ACPICA kernel-resident subsystem:

Implemented support to skip/ignore NULL address entries in the RSDT/XSDT.
Some of these tables are known to contain a trailing NULL entry. Lv
Zheng.

Removed an extraneous error message for the case where there are a large
number of system GPEs (> 124). This was the "32-bit FADT register is too
long to convert to GAS struct" message, which is irrelevant for GPEs
since the GPEx_BLK_LEN fields of the FADT are always used instead of the
(limited capacity) GAS bit length. Also, several changes to ensure proper
support for GPE numbers > 255, where some "GPE number" fields were 8-bits
internally.

Implemented and deployed additional configuration support for the public
ACPICA external interfaces. Entire classes of interfaces can now be
easily modified or configured out, replaced by stubbed inline functions
by default. Lv Zheng.

Moved all public ACPICA runtime configuration globals to the public
ACPICA external interface file for convenience. Also, removed some
obsolete/unused globals. See the file acpixf.h. Lv Zheng.

Documentation: Added a new section to the ACPICA reference describing the
maximum number of GPEs that can be supported by the FADT-defined GPEs in
block zero and one. About 1200 total. See section 4.4.1 of the ACPICA
reference.

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.8K Code, 27.2K Data, 124.0K Total
    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total
  Previous Release:
    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total
    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total


2) iASL Compiler/Disassembler and Tools:

iASL and disassembler: Add full support for the LPIT table (Low Power
Idle Table). Includes support in the disassembler, data table compiler,
and template generator.

AcpiDump utility:
1) Add option to force the use of the RSDT (over the XSDT).
2) Improve validation of the RSDP signature (use 8 chars instead of 4).

iASL: Add check for predefined packages that are too large.  For
predefined names that contain subpackages, check if each subpackage is
too large. (Check for too small already exists.)

Debugger: Updated the GPE command (which simulates a GPE by executing the
GPE code paths in ACPICA). The GPE device is now optional, and defaults
to the GPE 0/1 FADT-defined blocks.

Unix application OSL: Update line-editing support. Add additional error
checking and take care not to reset terminal attributes on exit if they
were never set. This should help guarantee that the terminal is always
left in the previous state on program exit.

----------------------------------------
25 March 2014. Summary of changes for version 20140325:

1) ACPICA kernel-resident subsystem:

Updated the auto-serialize feature for control methods. This feature
automatically serializes all methods that create named objects in order
to prevent runtime errors. The update adds support to ignore the
currently executing AML SyncLevel when invoking such a method, in order
to prevent disruption of any existing SyncLevel priorities that may exist
in the AML code. Although the use of SyncLevels is relatively rare, this
change fixes a regression where an AE_AML_MUTEX_ORDER exception can
appear on some machines starting with the 20140214 release.

Added a new external interface to allow the host to install ACPI tables
very early, before the namespace is even created. AcpiInstallTable gives
the host additional flexibility for ACPI table management. Tables can be
installed directly by the host as if they had originally appeared in the
XSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables
(anything except the DSDT and FACS). Adds a new file, tbdata.c, along
with additional internal restructuring and cleanup. See the ACPICA
Reference for interface details. Lv Zheng.

Added validation of the checksum for all incoming dynamically loaded
tables (via external interfaces or via AML Load/LoadTable operators). Lv
Zheng.

Updated the use of the AcpiOsWaitEventsComplete interface during Notify
and GPE handler removal. Restructured calls to eliminate possible race
conditions. Lv Zheng.

Added a warning for the use/execution of the ASL/AML Unload (table)
operator. This will help detect and identify machines that use this
operator if and when it is ever used. This operator has never been seen
in the field and the usage model and possible side-effects of the drastic
runtime action of a full table removal are unknown.

Reverted the use of #pragma push/pop which was introduced in the 20140214
release. It appears that push and pop are not implemented by enough
compilers to make the use of this feature feasible for ACPICA at this
time. However, these operators may be deployed in a future ACPICA
release.

Added the missing EXPORT_SYMBOL macros for the install and remove SCI
handler interfaces.

Source code generation:
1) Disabled the use of the "strchr" macro for the gcc-specific
generation. For some versions of gcc, this macro can periodically expose
a compiler bug which in turn causes compile-time error(s).
2) Added support for PPC64 compilation. Colin Ian King.

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:  97.0K Code, 27.2K Data, 124.2K Total
    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total
  Previous Release:
    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total
    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Added several new features to improve the readability of
the resulting ASL code. Extra information is emitted within comment
fields in the ASL code:
1) Known _HID/_CID values are decoded to descriptive text.
2) Standard values for the Notify() operator are decoded to descriptive
text.
3) Target operands are expanded to full pathnames (in a comment) when
possible.

Disassembler: Miscellaneous updates for extern() handling:
1) Abort compiler if file specified by -fe option does not exist.
2) Silence unnecessary warnings about argument count mismatches.
3) Update warning messages concerning unresolved method externals.
4) Emit "UnknownObj" keyword for externals whose type cannot be
determined.

AcpiHelp utility:
1) Added the -a option to display both the ASL syntax and the AML
encoding for an input ASL operator. This effectively displays all known
information about an ASL operator with one AcpiHelp invocation.
2) Added substring match support (similar to a wildcard) for the -i
(_HID/PNP IDs) option.

iASL/Disassembler: Since this tool does not yet support execution on big-
endian machines, added detection of endianness and an error message if
execution is attempted on big-endian. Support for big-endian within iASL
is a feature that is on the ACPICA to-be-done list.

AcpiBin utility:
1) Remove option to extract binary files from an acpidump; this function
is made obsolete by the AcpiXtract utility.
2) General cleanup of open files and allocated buffers.

----------------------------------------
14 February 2014. Summary of changes for version 20140214:

1) ACPICA kernel-resident subsystem:

Implemented a new mechanism to proactively prevent problems with ill-
behaved reentrant control methods that create named ACPI objects. This
behavior is illegal as per the ACPI specification, but is nonetheless
frequently seen in the field. Previously, this could lead to an
AE_ALREADY_EXISTS exception if the method was actually entered by more
than one thread. This new mechanism detects such methods at table load
time and marks them "serialized" to prevent reentrancy. A new global
option, AcpiGbl_AutoSerializeMethods, has been added to disable this
feature if desired. This mechanism and global option obsoletes and
supersedes the previous AcpiGbl_SerializeAllMethods option.

Added the "Windows 2013" string to the _OSI support. ACPICA will now
respond TRUE to _OSI queries with this string. It is the stated policy of
ACPICA to add new strings to the _OSI support as soon as possible after
they are defined. See the full ACPICA _OSI policy which has been added to
the utilities/utosi.c file.

Hardened/updated the _PRT return value auto-repair code:
1) Do not abort the repair on a single subpackage failure, continue to
check all subpackages.
2) Add check for the minimum subpackage length (4).
3) Properly handle extraneous NULL package elements.

Added support to avoid the possibility of infinite loops when traversing
object linked lists. Never allow an infinite loop, even in the face of
corrupted object lists.

ACPICA headers: Deployed the use of #pragma pack(push) and #pragma
pack(pop) directives to ensure that the ACPICA headers are independent of
compiler settings or other host headers.

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.5K Code, 27.2K Data, 123.7K Total
    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total
  Previous Release:
    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total
    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total


2) iASL Compiler/Disassembler and Tools:

iASL/Table-compiler: Fixed a problem with support for the SPMI table. The
first reserved field was incorrectly forced to have a value of zero. This
change correctly forces the field to have a value of one. ACPICA BZ 1081.

Debugger: Added missing support for the "Extra" and "Data" subobjects
when displaying object data.

Debugger: Added support to display entire object linked lists when
displaying object data.

iASL: Removed the obsolete -g option to obtain ACPI tables from the
Windows registry. This feature has been superseded by the acpidump
utility.

----------------------------------------
14 January 2014. Summary of changes for version 20140114:

1) ACPICA kernel-resident subsystem:

Updated all ACPICA copyrights and signons to 2014. Added the 2014
copyright to all module headers and signons, including the standard Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, all ACPICA utilities, and the test suites.

Improved parameter validation for AcpiInstallGpeBlock. Added the
following checks:
1) The incoming device handle refers to type ACPI_TYPE_DEVICE.
2) There is not already a GPE block attached to the device.
Likewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a
device.

Correctly support "references" in the ACPI_OBJECT. This change fixes the
support to allow references (namespace nodes) to be passed as arguments
to control methods via the evaluate object interface. This is probably
most useful for testing purposes, however.

Improved support for 32/64 bit physical addresses in printf()-like
output. This change improves the support for physical addresses in printf
debug statements and other output on both 32-bit and 64-bit hosts. It
consistently outputs the appropriate number of bytes for each host. The
%p specifier is unsatisfactory since it does not emit uniform output on
all hosts/clib implementations (on some, leading zeros are not supported,
leading to difficult-to-read output).

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.2K Code, 27.0K Data, 123.2K Total
    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total
  Previous Release:
    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total
    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Fix a possible fault when using the Connection() operator. Fixes a
problem if the parent Field definition for the Connection operator refers
to an operation region that does not exist. ACPICA BZ 1064.

AcpiExec: Load of local test tables is now optional. The utility has the
capability to load some various tables to test features of ACPICA.
However, there are enough of them that the output of the utility became
confusing. With this change, only the required local tables are displayed
(RSDP, XSDT, etc.) along with the actual tables loaded via the command
line specification. This makes the default output simler and easier to
understand. The -el command line option restores the original behavior
for testing purposes.

AcpiExec: Added support for overlapping operation regions. This change
expands the simulation of operation regions by supporting regions that
overlap within the given address space. Supports SystemMemory and
SystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.

AcpiExec: Added region handler support for PCI_Config and EC spaces. This
allows AcpiExec to simulate these address spaces, similar to the current
support for SystemMemory and SystemIO.

Debugger: Added new command to read/write/compare all namespace objects.
The command "test objects" will exercise the entire namespace by writing
new values to each data object, and ensuring that the write was
successful. The original value is then restored and verified.

Debugger: Added the "test predefined" command. This change makes this
test public and puts it under the new "test" command. The test executes
each and every predefined name within the current namespace.
@
text
@a21 1
    $(ACPICA_UTILITIES)\
a35 3
    $(OBJDIR)/cmfsize.o\
    $(OBJDIR)/getopt.o \
    $(OBJDIR)/oslibcfs.o\
d37 1
a37 7
    $(OBJDIR)/osunixxf.o\
    $(OBJDIR)/utdebug.o\
    $(OBJDIR)/utexcep.o\
    $(OBJDIR)/utglobal.o\
    $(OBJDIR)/utmath.o\
    $(OBJDIR)/utprint.o\
    $(OBJDIR)/utxferror.o
@


1.1.1.4.2.1
log
@Sync with HEAD
@
text
@a45 1
	$(OBJDIR)/utnonansi.o\
a46 1
    $(OBJDIR)/utstring.o\
@


1.1.1.4.2.2
log
@Sync with HEAD
@
text
@a41 1
	$(OBJDIR)/utascii.o\
@


1.1.1.4.2.3
log
@Sync with HEAD
@
text
@d39 1
d42 1
a42 1
    $(OBJDIR)/utascii.o\
a45 1
	$(OBJDIR)/uthex.o\
d47 2
a48 1
    $(OBJDIR)/utnonansi.o\
@


1.1.1.5
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
@a45 1
	$(OBJDIR)/utnonansi.o\
a46 1
    $(OBJDIR)/utstring.o\
@


1.1.1.6
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
@a41 1
	$(OBJDIR)/utascii.o\
@


1.1.1.6.2.1
log
@Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)
@
text
@d39 1
d42 1
a42 1
    $(OBJDIR)/utascii.o\
a45 1
	$(OBJDIR)/uthex.o\
d47 2
a48 1
    $(OBJDIR)/utnonansi.o\
@


1.1.1.7
log
@Import acpica-20160930:

----------------------------------------
30 September 2016. Summary of changes for version 20160930:


1) ACPICA kernel-resident subsystem:

Fixed a regression in the internal AcpiTbFindTable function where a non
AE_OK exception could inadvertently be returned even if the function did
not fail. This problem affects the following operators:
    DataTableRegion
    LoadTable

Fixed a regression in the LoadTable operator where a load to any
namespace location other than the root no longer worked properly.

Increased the maximum loop count value that will result in the
AE_AML_INFINITE_LOOP exception. This is a mechanism that is intended to
prevent infinite loops within the AML interpreter and thus the host OS
kernel. The value is increased from 0xFFFF to 0xFFFFF loops (65,535 to
1,048,575).

Moved the AcpiGbl_MaxLoopIterations configuration variable to the public
acpixf.h file. This allows hosts to easily configure the maximum loop
count at runtime.

Removed an illegal character in the strtoul64.c file. This character
caused errors with some C compilers.

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.4K Code, 58.1K Data, 198.5K Total
    Debug Version:     200.7K Code, 82.1K Data, 282.8K Total
  Previous Release:
    Non-Debug Version: 140.0K Code, 58.1K Data, 198.1K Total
    Debug Version:     200.3K Code, 82.1K Data, 282.4K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Fixed a problem with the conversion of Else{If{ blocks into
the simpler ASL ElseIf keyword. During the conversion, a trailing If
block could be lost and missing from the disassembled output.

iASL: Fixed a missing parser rule for the ObjectType operator. For ASL+,
the missing rule caused a parse error when using the Index operator as an
operand to ObjectType. This construct now compiles properly. Example:
    ObjectType(PKG1[4]).

iASL: Correctly handle unresolved symbols in the hardware map file (-lm
option). Previously, unresolved symbols could cause a protection fault.
Such symbols are now marked as unresolved in the map file.

iASL: Implemented support to allow control method invocations as an
operand to the ASL DeRefOf operator. Example:
    DeRefOf(MTH1(Local0))

Disassembler: Improved support for the ToPLD ASL macro. Detection of a
possible _PLD buffer now includes examination of both the normal buffer
length (16 or 20) as well as the surrounding AML package length.

Disassembler: Fixed a problem with the decoding of complex expressions
within the Divide operator for ASL+. For the case where both the quotient
and remainder targets are specified, the entire statement cannot be
disassembled. Previously, the output incorrectly contained a mix of ASL-
and ASL+ operators. This mixed statement causes a syntax error when
compiled. Example:
    Divide (Add (INT1, 6), 128, RSLT, QUOT)  // was incorrectly
disassembled to:
    Divide (INT1 + 6, 128, RSLT, QUOT)

iASL/Tools: Added support to process AML and non-AML ACPI tables
consistently. For the disassembler and AcpiExec, allow all types of ACPI
tables (AML and data tables). For the iASL -e option, allow only AML
tables (DSDT/SSDT).

----------------------------------------
31 August 2016. Summary of changes for version 20160831:


1) ACPICA kernel-resident subsystem:

Improve support for the so-called "module-level code", which is defined
to be math, logical and control AML opcodes that appear outside of any
control method. This change improves the support by adding more opcodes
that can be executed in the manner. Some other issues have been solved,
and the ASL grammar changes to support such code under all scope
operators (Device, etc.) are complete. Lv Zheng.

UEFI support: these OSL functions have been implemented. This is an
additional step toward supporting the AcpiExec utility natively (with
full hardware access) under UEFI. Marcelo Ferreira.
    AcpiOsReadPciConfiguration
    AcpiOsWritePciConfiguration

Fixed a possible mutex error during control method auto-serialization. Lv
Zheng.

Updated support for the Generic Address Structure by fully implementing
all GAS fields when a 32-bit address is expanded to a 64-bit GAS. Lv
Zheng.

Updated the return value for the internal _OSI method. Instead of
0xFFFFFFFF, the "Ones" value is now returned, which is 0xFFFFFFFFFFFFFFFF
for 64-bit ACPI tables. This fixes an incompatibility with other ACPI
implementations, and will be reflected and clarified in the next version
of the ACPI specification.

Implemented two new table events that can be passed to an ACPICA table
handler. These events are used to indicate a table installation or
uninstallation. These events are used in addition to existed table load
and unload events. Lv Zheng.

Implemented a cleanup for all internal string-to-integer conversions.
Consolidate multiple versions of this functionality and limit possible
bases to either 10 or 16 to simplify the code. Adds a new file,
utstrtoul64.

Cleanup the inclusion order of the various compiler-specific headers.
This simplifies build configuration management. The compiler-specific
headers are now split out from the host-specific headers. 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.1K Code, 58.1K Data, 198.1K Total
    Debug Version:     200.3K Code, 82.1K Data, 282.4K Total


2) iASL Compiler/Disassembler and Tools:

iASL/AcpiExec: Added a command line option to display the build date/time
of the tool (-vd). This can be useful to verify that the correct version
of the tools are being used.

AML Debugger: Implemented a new subcommand ("execute predef") to execute
all predefined control methods and names within the current namespace.
This can be useful for debugging problems with ACPI tables and the ACPI
namespace.

----------------------------------------
29 July 2016. Summary of changes for version 20160729:


1) ACPICA kernel-resident subsystem:

Implemented basic UEFI support for the various ACPICA tools. This
includes:
1) An OSL to implement the various AcpiOs* interfaces on UEFI.
2) Support to obtain the ACPI tables on UEFI.
3) Local implementation of required C library functions not available on
UEFI.
4) A front-end (main) function for the tools for UEFI-related
initialization.

The initial deployment of this support is the AcpiDump utility executing
as an UEFI application via EDK2 (EDKII, "UEFI Firmware Development Kit").
Current environments supported are Linux/Unix. MSVC generation is not
supported at this time. See the generate/efi/README file for build
instructions. Lv Zheng.

Future plans include porting the AcpiExec utility to execute natively on
the platform with I/O and memory access. This will allow viewing/dump of
the platform namespace and native execution of ACPI control methods that
access the actual hardware. To fully implement this support, the OSL
functions below must be implemented with UEFI interfaces. Any community
help in the implementation of these functions would be appreciated:
    AcpiOsReadPort
    AcpiOsWritePort
    AcpiOsReadMemory
    AcpiOsWriteMemory
    AcpiOsReadPciConfiguration
    AcpiOsWritePciConfiguration

Restructured and standardized the C library configuration for ACPICA,
resulting in the various configuration options below. This includes a
global restructuring of the compiler-dependent and platform-dependent
include files. These changes may affect the existing platform-dependent
configuration files on some hosts. Lv Zheng.

The current C library configuration options appear below. For any issues,
it may be helpful to examine the existing compiler-dependent and
platform-dependent files as examples. Lv Zheng.

1) Linux kernel:
    ACPI_USE_STANDARD_HEADERS=n in order not to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order not to use ACPICA mini C library.
2) Unix/Windows/BSD applications:
    ACPI_USE_STANDARD_HEADERS=y in order to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order not to use ACPICA mini C library.
3) UEFI applications:
    ACPI_USE_STANDARD_HEADERS=n in order not to use system-provided C
library.
    ACPI_USE_SYSTEM_CLIBRARY=n in order to use ACPICA mini C library.
4) UEFI applications (EDK2/StdLib):
    ACPI_USE_STANDARD_HEADERS=y in order to use EDK2 StdLib C library.
    ACPI_USE_SYSTEM_CLIBRARY=y in order to use EDK2 StdLib C library.


AML interpreter: "module-level code" support. Allows for execution of so-
called "executable" AML code (math/logical operations, etc.) outside of
control methods not just at the module level (top level) but also within
any scope declared outside of a control method - Scope{}, Device{},
Processor{}, PowerResource{}, and ThermalZone{}. Lv Zheng.

Simplified the configuration of the "maximum AML loops" global option by
adding a global public variable, "AcpiGbl_MaxLoopIterations" which can be
modified at runtime.


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: 139.1K Code, 22.9K Data, 162.0K Total
    Debug Version:     199.0K Code, 81.8K Data, 280.8K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Add full support for the RASF ACPI table (RAS Features Table).
Includes disassembler, data table compiler, and header support.

iASL Expand "module-level code" support. Allows for
compilation/disassembly of so-called "executable" AML code (math/logical
operations, etc.) outside of control methods not just at the module level
(top level) but also within any scope declared outside of a control
method - Scope{}, Device{}, Processor{}, PowerResource{}, and
ThermalZone{}.

AcpiDump: Added support for dumping all SSDTs on newer versions of
Windows. These tables are now easily available -- SSDTs are not available
through the registry on older versions.
@
text
@d39 1
d42 1
a42 1
    $(OBJDIR)/utascii.o\
a45 1
	$(OBJDIR)/uthex.o\
d47 2
a48 1
    $(OBJDIR)/utnonansi.o\
@


1.1.1.1.8.1
log
@file Makefile was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +0000
@
text
@d1 77
@


1.1.1.1.8.2
log
@Sync with HEAD.
@
text
@a0 77
#
# acpisrc utility
#
include ../Makefile.config

PROG = acpisrc


#
# Flags specific to acpisrc
#
CFLAGS+= -DACPI_APPLICATION -I$(ACPICA_TOOLS)/acpisrc

OBJS = \
	ascase.o \
	asconvrt.o \
	asfile.o \
	asmain.o \
	asremove.o \
	astable.o \
	asutils.o \
	getopt.o \
	osunixdir.o 


#
# Root rule
#
$(PROG) : $(OBJS)
	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
	$(COPYPROG)


#
# acpisrc source
#
ascase.o :          $(ACPICA_TOOLS)/acpisrc/ascase.c
	$(COMPILE)

asconvrt.o :        $(ACPICA_TOOLS)/acpisrc/asconvrt.c
	$(COMPILE)

asfile.o :          $(ACPICA_TOOLS)/acpisrc/asfile.c
	$(COMPILE)

asmain.o :          $(ACPICA_TOOLS)/acpisrc/asmain.c
	$(COMPILE)

asremove.o :        $(ACPICA_TOOLS)/acpisrc/asremove.c
	$(COMPILE)

astable.o :         $(ACPICA_TOOLS)/acpisrc/astable.c
	$(COMPILE)

asutils.o :         $(ACPICA_TOOLS)/acpisrc/asutils.c
	$(COMPILE)


#
# ACPICA core source - common
#
getopt.o :          $(ACPICA_COMMON)/getopt.c
	$(COMPILE)


#
# Unix OS services layer (OSL)
#
osunixdir.o :       $(ACPICA_OSL)/osunixdir.c
	$(COMPILE)


clean : 
	rm -f $(PROG) $(PROG).exe $(OBJS)

install : 
	$(INSTALLPROG)
@


1.1.1.1.4.1
log
@file Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:32 +0000
@
text
@d1 77
@


1.1.1.1.4.2
log
@sync with head
@
text
@a0 77
#
# acpisrc utility
#
include ../Makefile.config

PROG = acpisrc


#
# Flags specific to acpisrc
#
CFLAGS+= -DACPI_APPLICATION -I$(ACPICA_TOOLS)/acpisrc

OBJS = \
	ascase.o \
	asconvrt.o \
	asfile.o \
	asmain.o \
	asremove.o \
	astable.o \
	asutils.o \
	getopt.o \
	osunixdir.o 


#
# Root rule
#
$(PROG) : $(OBJS)
	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
	$(COPYPROG)


#
# acpisrc source
#
ascase.o :          $(ACPICA_TOOLS)/acpisrc/ascase.c
	$(COMPILE)

asconvrt.o :        $(ACPICA_TOOLS)/acpisrc/asconvrt.c
	$(COMPILE)

asfile.o :          $(ACPICA_TOOLS)/acpisrc/asfile.c
	$(COMPILE)

asmain.o :          $(ACPICA_TOOLS)/acpisrc/asmain.c
	$(COMPILE)

asremove.o :        $(ACPICA_TOOLS)/acpisrc/asremove.c
	$(COMPILE)

astable.o :         $(ACPICA_TOOLS)/acpisrc/astable.c
	$(COMPILE)

asutils.o :         $(ACPICA_TOOLS)/acpisrc/asutils.c
	$(COMPILE)


#
# ACPICA core source - common
#
getopt.o :          $(ACPICA_COMMON)/getopt.c
	$(COMPILE)


#
# Unix OS services layer (OSL)
#
osunixdir.o :       $(ACPICA_OSL)/osunixdir.c
	$(COMPILE)


clean : 
	rm -f $(PROG) $(PROG).exe $(OBJS)

install : 
	$(INSTALLPROG)
@


1.1.1.1.2.1
log
@file Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:25 +0000
@
text
@d1 77
@


1.1.1.1.2.2
log
@Sync with HEAD
@
text
@a0 77
#
# acpisrc utility
#
include ../Makefile.config

PROG = acpisrc


#
# Flags specific to acpisrc
#
CFLAGS+= -DACPI_APPLICATION -I$(ACPICA_TOOLS)/acpisrc

OBJS = \
	ascase.o \
	asconvrt.o \
	asfile.o \
	asmain.o \
	asremove.o \
	astable.o \
	asutils.o \
	getopt.o \
	osunixdir.o 


#
# Root rule
#
$(PROG) : $(OBJS)
	$(CC) $(LDFLAGS) $(OBJS) -o $(PROG)
	$(COPYPROG)


#
# acpisrc source
#
ascase.o :          $(ACPICA_TOOLS)/acpisrc/ascase.c
	$(COMPILE)

asconvrt.o :        $(ACPICA_TOOLS)/acpisrc/asconvrt.c
	$(COMPILE)

asfile.o :          $(ACPICA_TOOLS)/acpisrc/asfile.c
	$(COMPILE)

asmain.o :          $(ACPICA_TOOLS)/acpisrc/asmain.c
	$(COMPILE)

asremove.o :        $(ACPICA_TOOLS)/acpisrc/asremove.c
	$(COMPILE)

astable.o :         $(ACPICA_TOOLS)/acpisrc/astable.c
	$(COMPILE)

asutils.o :         $(ACPICA_TOOLS)/acpisrc/asutils.c
	$(COMPILE)


#
# ACPICA core source - common
#
getopt.o :          $(ACPICA_COMMON)/getopt.c
	$(COMPILE)


#
# Unix OS services layer (OSL)
#
osunixdir.o :       $(ACPICA_OSL)/osunixdir.c
	$(COMPILE)


clean : 
	rm -f $(PROG) $(PROG).exe $(OBJS)

install : 
	$(INSTALLPROG)
@


