This is a very preliminary release of an ACPI server for QNX.  It is not
even 1/2 done, but it does allow you to read the status of various ACPI
monitored resources (batteries, cpu, ac adapter, fan, etc..).  I will
continue to release updates as I have time.

So in case this is not obvious, use this at your own risk.  Although it 
"should" not be able to hurt your computer, it can certainly cause QNX
to crash, and other nice features. 

In order to use this server, you need to create your own boot image - in 
particular you want this to run before diskboot does.  The reason for this
is it puts the bios in ACPI mode, and on some systems, the device enumeration
changes, so if you run it, things stop working -- however if the bios is in 
ACPI mode before the device enumeration, stopping and restarting it are 
without problems.

Generally I put a verison in my boot file, then once it is running, I slay
it and restart it as required with options if I need them.

There is currently only two options.  You can supply your own version of your
DSDT (read through acpi.sourceforge.net to learn about DSDTs).  If you need
to add your own version, I have supplied the compiler (iasl).  Once the table
is compiled to an aml file, you can supply it with a -t option.  If you can run
the executable, you can copy your current dsdt by:
# cat /proc/acpi/dsdt > mydsdt.aml
# iasl -d mydsdt.aml
 

The other option is to set the debug level.  I have cut and pasted part of the
header file which explains the bit fields you can set.
/*
 * Raw debug output levels, do not use these in the DEBUG_PRINT macros
 */
#define ACPI_LV_ERROR               0x00000001
#define ACPI_LV_WARN                0x00000002
#define ACPI_LV_INIT                0x00000004
#define ACPI_LV_DEBUG_OBJECT        0x00000008
#define ACPI_LV_INFO                0x00000010
#define ACPI_LV_ALL_EXCEPTIONS      0x0000001F

/* Trace verbosity level 1 [Standard Trace Level] */

#define ACPI_LV_INIT_NAMES          0x00000020
#define ACPI_LV_PARSE               0x00000040
#define ACPI_LV_LOAD                0x00000080
#define ACPI_LV_DISPATCH            0x00000100
#define ACPI_LV_EXEC                0x00000200
#define ACPI_LV_NAMES               0x00000400
#define ACPI_LV_OPREGION            0x00000800
#define ACPI_LV_BFIELD              0x00001000
#define ACPI_LV_TABLES              0x00002000
#define ACPI_LV_VALUES              0x00004000
#define ACPI_LV_OBJECTS             0x00008000
#define ACPI_LV_RESOURCES           0x00010000
#define ACPI_LV_USER_REQUESTS       0x00020000
#define ACPI_LV_PACKAGE             0x00040000
#define ACPI_LV_VERBOSITY1          0x0007FF40 | ACPI_LV_ALL_EXCEPTIONS

/* Trace verbosity level 2 [Function tracing and memory allocation] */

#define ACPI_LV_ALLOCATIONS         0x00100000
#define ACPI_LV_FUNCTIONS           0x00200000
#define ACPI_LV_OPTIMIZATIONS       0x00400000
#define ACPI_LV_VERBOSITY2          0x00700000 | ACPI_LV_VERBOSITY1
#define ACPI_LV_ALL                 ACPI_LV_VERBOSITY2

/* Trace verbosity level 3 [Threading, I/O, and Interrupts] */

#define ACPI_LV_MUTEX               0x01000000
#define ACPI_LV_THREADS             0x02000000
#define ACPI_LV_IO                  0x04000000
#define ACPI_LV_INTERRUPTS          0x08000000
#define ACPI_LV_VERBOSITY3          0x0F000000 | ACPI_LV_VERBOSITY2

/* Exceptionally verbose output -- also used in the global "DebugLevel"  */

#define ACPI_LV_AML_DISASSEMBLE     0x10000000
#define ACPI_LV_VERBOSE_INFO        0x20000000
#define ACPI_LV_FULL_TABLES         0x40000000
#define ACPI_LV_EVENTS              0x80000000

#define ACPI_LV_VERBOSE             0xF0000000

You supply this with a -d parameter.  As an example, when testing, I start
acpi as follows:

# acpi -t DSDT.aml -d 0xcffffff

