Driver ACPI v. 3.23.17 (1/1/2023, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
ACPI Driver Software Package
This package contains the following files, known as the ACPI Driver
Software, from the ACPI Driver Project. You must always use matched
versions of all the files in this package. You cannot mix some files
from previous versions.
ACPI.PSD - The Platform Specific Driver
ACPI32.DLL - The Application interface to ACPI.PSD
AcpiDaemon.exe - A helper application. Handles throttling, logging.
APM.ADD - A interface for emulating legacy APM calls with ACPI
AcpiStat.exe - Outputs some statistics from ACPI.PSD
ACPID.CFG.SAMPLE - Sample AcpiDaemon configuration file
IASL.EXE - ASL compiler
AcpiDump.exe - Dumps ACPI tables
For your convenience, this Warpin package also includes updates in
separate packages that are not part of the ACPI Driver project and are
not related to ACPI or the driver. The updated files, each in their
own package, are:
* DOSCALL1.DLL
* TCPIP32.DLL
* IBMKBD.SYS
* PSCOM.SYS
* RESOURCE.SYS
* SOCKETSK.SYS
Note that APM.ADD is the APM compatibility support using ACPI included in
this package. If you have the old APM.SYS installed, you must remove it
from your config.sys. The Warpin package checks this for you.
ACPID.CFG is formatted differently than older versions. Check the
ACPID.CFG.SAMPLE file for the new format. You should use the newest
acpid.cfg.sample as your acpid.cfg and modify it to enable your chosen
parameters. The daemon will default to reasonable settings if acpid.cfg
is not present.
This software will run with full functionality on the following kernels:
Arca Noae 14.202 SMP Retail
Arca Noae 14.201 SMP Retail
Arca Noae 14.104b SMP Debug
Arca Noae 14.104c SMP Debug
This software will run on the following kernels but some advanced
features such as support for 64 interrupts will not work:
Arca Noae 14.200 SMP Retail
Arca Noae 14.104a SMP Debug
Arca Noae 14.200 W4 Retail
IBM 14.104a SMP Retail
IBM 14.105 SMP Retail
IBM 14.106 SMP Retail
IBM 14.104a W4 Retail
IBM 14.105 W4 Retail
IBM 14.106 W4 Retail
You must also be using either the IBM or Arca Noae loader. Other kernels
or loaders might work but are not supported. Some functions may not work
with the debug kernel. Some functions will not work with the W4 kernel.
Copyright and License
=====================
Copyright (c) 2011-2023 David Azarewicz <david@88watts.net>
All rights reserved.
Copyright (c) 1999 - 2020, Intel Corp.
All rights reserved.
Copyright (c) 2005-2009 eCo Software
Copyright (c) 2005-2007 netlabs.org
(c) Copyright IBM Corporation 1990,2000.
All rights reserved.
The ACPI Driver Software is a derivative work of the Intel ACPICA and
the IBM DDK. Binary programs and documentation for the ACPI Driver
Software are licensed to and distributed by Arca Noae, LLC.
Important! By downloading or using this software, you acknowledge that
you have read and consent to the license agreement contained in the
separate License.txt file, that you understand it, and that you agree
to be bound by its terms.
Installation
============
To install this package, simply run the installation executable. Leave all
the defaults as-is.
When installing this package always answer to overwrite existing files and
always answer to unlock any files in use.
This installer package is not supported on systems using anything other
than CMD.EXE as the default OS/2 shell.
Do not use the old Acpi Wizard (AcpiWzrd.exe) to install or configure
this software.
It is recommended that you backup your boot partition before installing
this software. You should not attempt to uninstall this software by
using Warpin since that will not revert your system back to the way it
was and can make your system unbootable. You can stop using this
software by simply commenting out the relevant lines in your config.sys.
In addition to installing the requested software, the Warpin Installer
for this package will make the following changes to your system:
1. Remove POWERMAN.EXE from your CONFIG.SYS, if it exists.
2. Remove APM.SYS from your CONFIG.SYS, if it exists.
3. Remove VAPM.SYS from your CONFIG.SYS, if it exists.
4. Remove OS2APIC.PSD from your CONFIG.SYS, if it exists.
5. Remove any duplicate copies of ACPI.PSD from \ and \OS2 on your
boot disk.
6. Remove any duplicate copies of APM.ADD from \ and \OS2 on your
boot disk.
Note that the Warpin installer only removes certain entries from your
CONFIG.SYS. It does not actually uninstall these programs. These
programs and their data will still be present on your disk.
Getting Support and Reporting Problems
======================================
If you have any problems or concerns regarding any of the ACPI driver
software, please read the ACPI driver support wiki pages at:
https://www.arcanoae.com/wiki/acpi/
If your problems or questions cannot be resolved from the information
in the wiki pages, then you can open a support ticket by starting here:
https://www.arcanoae.com/wiki/reporting-problems-best-practices/
Also read the included documentation (psd_en.inf) for additional information
and troubleshooting information.
Change Log
==========
3.23.17 - 01-Jan-2023 - David Azarewicz
Added USB class devices to disabled interrupt fixup for problem BIOS.
Fixed some problems with /NOACPI where some ACPI services would
erroneously attempt to start.
Fixed acpidump to find tables better.
Added test for missing timer hardware.
Enhanced APIC ID assignment.
Added workaround for erroneous multiple root bridges.
Updated to ACPICA 20220331. See https://acpica.org/ for details.
3.23.16 - 19-Apr-2021 - David Azarewicz
Updated to ACPICA 20210331. See https://acpica.org/ for details.
Debugging enhancements.
Enhanced memory type sync function.
Added limited disabled interrupt fixup.
3.23.15 - 01-Oct-2020 - David Azarewicz
Added /WA NODF, NOBF, NOIA
Added a workaround to accomodate unusual back-to-back timer queries.
Updated to ACPICA 20200925. See https://acpica.org/ for details.
3.23.14 - 12-Aug-2020 - David Azarewicz
Enhanced power manager daemon to manage CPUs better.
Updated to ACPICA 20200717. See https://acpica.org/ for details.
3.23.13 - 14-Feb-2020 - David Azarewicz
Added check to ignore and stop parsing if a invalid root bridge is found.
Improved fixup algorithm for systems with multiple bus bridges that are
not properly enabled by the BIOS.
Updated to ACPICA 20200110. See https://acpica.org/ for details.
3.23.12 - 07-Jul-2019 - David Azarewicz
Rewrote/improved PSD heap manager.
Updated to ACPICA 20190703. See https://acpica.org/ for details.
Added AcpiReset function to OEMHLP$ interface.
Added an additional PCI configuration fixup.
Changed /PBDUMP method of operation.
3.23.11 - 11-Feb-2019 - David Azarewicz
Updated to ACPICA 20190108. See https://acpica.org/ for details.
Increased PSD heap size limit to 16M to accomodate some systems
with an excessively large ACPI.
Implemented protection against an excessive number of unused
processors defined in the ACPI of some systems
Fixed debug output for DeviceSetIRQ.
Changed PCI fixup logic to not enable unused bridges.
Changed PCI fixup logic to not assign disabled interrupts.
Fixed power manager in daemon to properly query CPU load.
3.23.10 - 01-Sep-2018 - David Azarewicz
Minor change to PCI setup to not disable unassigned interrupts. This change
prevents certain non-fatal errors from occurring during boot on some systems
with certain BIOS defects. This may speed up booting slightly on those systems.
Enhanced Daemon Power Manager to check for interference from external programs.
This change ensures that the ACPI Daemon maintains control of enabling and
disabling CPUS for power management even if other applications attempt to
override it.
Changed to only enable needed GPEs. This means that only events needed by the
PSD are enabled. Previously all events were enabled by default. This change
will allow certain systems with certain BIOS problems to boot and run normally.
Implemented fix for IPI timeout problem. This addresses intermittent hangs
on some multi-CPU systems with a CPU clock greater than 3 Ghz.
Updated to ACPICA 20180810. See https://acpica.org/ for details.
3.23.09 - 02-May-2018 - David Azarewicz
Modified ACPI parser in PCI configuration to ignore duplicate device IDs.
Enhanced PCI setup to fix some more minor BIOS errors.
Updated to ACPICA 20180427. See https://acpica.org/ for details.
3.23.08 - 07-Jan-2018 - David Azarewicz
Added KillProc IOCtl.
Added experimental /NOACPI option
Updated to ACPICA 20180105. See https://acpica.org/ for details.
3.23.07 - 20-Aug-2017 - David Azarewicz
Implemented fix for a defect in PhysToVirt in all SMP kernels.
Updated to ACPICA 20170728. See https://acpica.org/ for details.
3.23.06 - 16-Jul-2017 - David Azarewicz
Fixed a problem handling interrupts > 47
Implemented limited MSI support.
Added /NOMSI switch.
Enhanced kernel detection due to problems with older kernels.
NOTE: This version will limit the number of interrupts to 32 for
older kernels to avoid possible kernel traps.
Updated to ACPICA 20170629. See https://acpica.org/ for details.
3.23.05 - 30-Dec-2016 - David Azarewicz
Reorganized and cleaned up much of the old code in order to implement some
new features.
Updated to ACPICA 20170119. See https://acpica.org/ for details.
3.23.04 - 12-Oct-2016 - David Azarewicz
Fixed minor issue when running in PIC mode related to the 64 int change.
Improved how the PSD integrates with the kernel. This fixed a minor problem
related to the 64 int change.
Fixed a problem in InstallDebugFiles.cmd
Updated to ACPICA 20160930. See https://acpica.org/ for details.
3.23.03 - 06-Sep-2016 - David Azarewicz
Added support for up to 64 interrupts.
Removed automatic fallback to VW if too many interrupts. Use of /VW is discouraged.
Fixed building iasl compiler.
Some minor fixes to the Warpin installer.
Updated to ACPICA 20160831
3.23.02 - 22-Jun-2016 - David Azarewicz
Updated to ACPICA 20151124.
Updated to ACPICA 20151218.
Updated to ACPICA 20160108.
Updated to ACPICA 20160318. ACPI 6.1 is now supported.
Updated to ACPICA 20160422.
Updated to ACPICA 20160527.
Toolkit fixes.
There are toolkit changes with this version -> v1.2
3.23.01 - 03-Jan-2016 - David Azarewicz
Updated to ACPICA 20150930. ACPI 6.0 is now supported.
Automatically limit to Virtual Wire mode if more than 32 interrupts.
Minor changes to PCI setup for systems which need to run in VW mode.
There are toolkit changes with this version -> v1.1
3.22.08 - 21-Jun-2015 - David Azarewicz
---------------------------------------
Corrected a problem where the Daemon wouldn't run on non-eCS systems.
Updated to ACPICA 20150410
Documentation updates
3.22.07 - 20-Feb-2015 - David Azarewicz
---------------------------------------
Updated to ACPICA 20150204
Updated to ACPICA 20141107
Remove some restrictions in Warpin installer
Documentation updates
3.22.06 - 02-Oct-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140828
Updated to ACPICA 20140926
3.22.05 - 28-Aug-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140424
Updated to ACPICA 20140627
Updated to ACPICA 20140724. ACPI 5.1 is now supported.
Some minor code cleanup.
Changed startup announcements to include license information.
3.22.04 - 12-May-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140114
Updated to ACPICA 20140214
Updated to ACPICA 20140325
Added an SMP safe hires timer query routine
Changed the way AcpiTkPrepareToSleep() and AcpiTkGoToSleep() stops multiple CPUs.
3.22.03 - 28-Nov-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130823.
Updated to ACPICA 20130927.
Updated to ACPICA 20131115.
Added a check to not use a the result when evaluating an object returns a
good status but a bad result (specifically _PCT, _CST).
Added code to reinitialize the hires timer to a default state after suspend.
3.22.02 - 03-Jul-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130626
Changed power manager thread so it will work with reasonable defaults if the
acpid.cfg file does not exist.
3.22.01 - 02-Jun-2013 - David Azarewicz
---------------------------------------
Ported entire project to OpenWatcom
Updated to ACPICA 20130517
Added FBPR workaround.
Changed order drivers are called during Suspend/Resume to be consistent.
3.21.07 - 18-Jan-2013 - David Azarewicz
---------------------------------------
Fixed a PSD stack overflow problem for systems with "unusual" types of ACPI.
3.21.06 - 14-Jan-2013 - David Azarewicz
---------------------------------------
Minor changes to sleep/wake sequence order.
Installer updated for eCS 2.2.
Fixed installer problem detecting DBCS systems.
3.21.05 - 27-Dec-2012 - David Azarewicz
---------------------------------------
Changed the PSD stack usage.
3.21.04 - 15-Dec-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121114.
Added a check for ACPI in PSD_INSTALL.
Added a PSD /WA switch to workaround common ACPI defects.
Fixed support for motherboards that use VW through IOAPIC interrupt
routing.
Added support for systems with a BIOS that has problems with PCI
config interrupt changes.
Added some resume troubleshooting aids to the debug PSD.
Changed Warpin installer to preserve certain PSD switches.
Documentation updates.
3.21.03 - 28-Nov-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121018.
Toolkit updated.
Removed powerdlg from distribution since it is no longer maintained and no
longer supported.
Misc code cleanup.
Added memory type sync function for video drivers.
Minor updates regarding suspend / resume for video.
Added a PSD /OSI= switch.
Removed the PSD /VBE switch. Added a PSD /NOVBE switch.
3.21.02 - 06-Sep-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120816.
Fixed another bug in APM.ADD related to sleep/wake.
Rework and cleanup wakeup code.
Documentation updates.
3.21.01 - 26-Aug-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120711.
Fixed problems with the MADT parser.
Adjusted the PCI configuration fixup routines to mask problems with
questionable hardware in low end systems. (This does not affect normal
systems.)
Makefile and Warpin installer changes.
Added /CPUMASK option for systems that cannot disable hyperthreading
in the BIOS.
Removed unneeded kernel patch (EOI).
Added a function to the toolkit API (PerpareToSleep).
3.20.04 - 22-Jul-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120620
Fixed a bug in APM.ADD related to sleep/wake.
Fixed a bug in powerdlg.exe
Cleaned up switch syntax to be consistent.
Documentation changes.
3.20.03 - 22-Jun-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120518.
PowerManager updated to include suspend/resume support.
PowerManager updated to halt CPUs > 0 if overtemp.
Implemented idle time halt for SMP kernels. Using CPU throttling on SMP
kernels is now not recommended since it will increase power consumption.
Read the Power Manager documentation.
3.20.02 - 23-May-2012 - David Azarewicz
---------------------------------------
Reduced some memory requirements.
Implemented a test to only change link Irqs if necessary.
Changed to only assign Link Irqs if less than maximum allowed.
Some changes to debug output in debug version.
Some work was done on Suspend / Resume
Changed the interrupt out-of-range to be a non-fatal warning instead of a
fatal error.
Fixes for the MADT parser.
Documentation updates.
3.20.01 - 25-Mar-2012 - David Azarewicz
---------------------------------------
Updated the ACPICA to 5.0 version 20120215.
Fixed problem with Award ACPI and possibly other similar vendors.
Changes in 3.19.16 - Jul-2011 - David Azarewicz
-----------------------------------------------
Updated the ACPICA to version 20110623.
Implemented a workaround in AcpiDaemon to ignore defective SLPB devices.
Note that this workaround just ignores the events generated by defective
SLPB devices, but the events still happen. If AcpiDaemon logging is
enabled these events will still be logged at the rate of about 1 every
2 seconds and the logfile could fill up your disk.
Documentation updates
Warpin installer improvements and fixes.
3.19.15 - David Azarewicz
-------------------------
Changed PCI bus scan to scan all busses even if bridges are not found for
those busses.
Rewrote the ACPI root bridge detection routine to properly handle systems
with multiple root bridges.
Fixed the ACPI device tree walk routine to better accomodate variations
in different vendor's ACPI tables.
Fixed a trap due to a spurious interrupt on some Multi-CPU systems when
running in Mode 1.
Added a feature to the Power Manager to turn off (halt) CPUs when the
system is idle.
Fixed more bugs in APM.ADD.
Changed some debug output.
Reworked the routines for debug video output.
Added bldlevel string to AcpiDaemon.exe
Changed the version of APM.ADD to match the PSD.
Added an OverTempPower setting to the power manager in AcpiDaemon.
Changed to only override _OS_ if /OS= is specified on the command line.
Documentation updates. Added Power Manager documentation.
Warpin Installer fixes.
3.19.14 - David Azarewicz
-------------------------
Fixed an error in Local APIC ID assignment for multi-processor systems.
Documentation updates.
3.19.13 - David Azarewicz
-------------------------
DLL code cleanup and fix memory leak.
Rearranged some functions in DLL to try to workaround a long time existing
problem in the xworkplace/ecenter enhanced shutdown power off (page not
present problem). Even with this workaround, the xworkplace/ecenter
enhanced shutdown is still broken and the power off function may still not
work in some cases until xworkplace/ecenter gets fixed.
Some work on suspend/resume. It might work, but it is still not finished.
Some changes to acpid.cfg. See new acpid.cfg.sample.
Documentation updates.
There are still a few known problems on a few remaining oddball systems.
These problems are still being worked on. However, with this version,
this PSD should work well on over 90% of all systems. For now, beware
of Acer equipment, some Dell equipment, and systems like the IBM xSeries
servers.
3.19.12 - David Azarewicz
-------------------------
Fix for defective old AMD/VIA APICs or BIOS.
The PSD now checks and reassigns APIC IDs if needed.
/BAUD=n switch added for debug output
Some changes to acpid.cfg. See new acpid.cfg.sample.
Assign interrupts to all devices even if the BIOS says they are disabled.
Fixup enable bits for all devices (Fixes some systems with a defective BIOS like Acer)
The PSD may now modify the PCI configuration in all modes including modes 0 and 1.
Some work on suspend/resume. It is still not working.
APM.ADD may have problems. Use it at your own risk.
3.19.11 - David Azarewicz
-------------------------
Fixed ACPI memory allocation and mutex helper routines.
Major changes to the embedded controller code. Communication with the embedded
controller now works correctly.
Major changes to event handling code.
Documentation was updated.
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
Suspend/resume is known to be broken.
3.19.10 - David Azarewicz
-------------------------
Fixed interrupt routing for link based systems.
Minor changes to interrupt startup code including: changed the trigger type for
interrupt 8, masked interrupt 2 in Symmetric mode.
Removed temporary /NV switch. NVidia systems now work properly. The NVidia
chipset was never actually the problem. It was the BIOS.
Added temporary /TEST switch. This switch should only be used at the request
of the developer.
Documentation was updated
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
3.19.09 - David Azarewicz
-------------------------
Fixed a bug in APM.ADD that could cause a trap on startup.
Changed some debug output.
Temporarily added /NV switch for debugging NVidia hardware.
3.19.08 - David Azarewicz
-------------------------
Interrupts for unused PCI devices are now disabled.
Acpi startup reorganized, again.
3.19.07 - David Azarewicz
-------------------------
Acpi startup reorganized.
PCI configuration testing
APM.ADD now accepts /DBGLVL=n switch, default=0
3.19.06 - David Azarewicz
-------------------------
Acpi interrupt setup fixed.
PCI configuration fixes.
/FS switch removed
3.19.05 - David Azarewicz
-------------------------
update.cmd was added to make updating a system easier and less error prone
to typos.
Documentation was updated.
3.19.04 - David Azarewicz
-------------------------
The PSD now properly detects the initial interrupt configuration as setup by
the BIOS so that the transition to eCS works properly (or at least better).
The PCI configuration logic has been cleaned up and rewritten. It is better
now but not complete yet.
Several of the toolkit functions have been fixed.
Powerdlg.exe was added to the source tree and the distribution.
3.19.03 - David Azarewicz
-------------------------
More work on interrupt mode setup. The PSD now detects APIC versions and
configures itself appropriately. If IOAPICs are detected older than version
0x20 the PSD will not use them and therefore will not run in Symmetric Mode.
These APICs have problems handling EOI. A workaround may be implemented in
the future.
The resume code for interrupts has been cleaned up.
The shutdown code was cleaned up.
The AcpiDaemon.exe has been reorganized to be more flexible with different
types of functions such as PowerMan. The format of acpid.cfg has changed.
See the new acpid.cfg.sample for the new format.
Powerman is now integrated into acpidaemon.exe. You can still run powerman.exe
if you do not run acpidaemon.exe, but they will not both run at the same time.
The throttling algorithm has been improved. PowerMan configuration is now
integrated into acpid.cfg. The standalone powerman.exe is not supported
anymore. A new powerdlg.exe is available to talk to the new integrated powerman
and write the new config format. Old versions of powerdlg.exe will not work
with the new integrated powerman and may cause problems if used.
The vpic.sys driver has been removed from the ACPI package. It may or may not
be put back in the future. Do not use any version of vpic.sys from previous
ACPI distributions. You may use the IBM version of this driver.
3.19.02 - David Azarewicz
-------------------------
The interrupt handling and setup code in the PSD has been mostly rewritten.
It works differently than previous versions of ACPI.PSD. The documentation
has been updated to reflect the differences. Read it.
The most significant change is that the PSD now starts the system in Symmetric
Mode (formerly known as APIC mode). This means that all drivers can be assigned
one interrupt that they can use forever. The nightmare of switching interrupts
part way through the bootup is now not necessary. Drivers also do not need to
be "ACPI aware" in that they do not need to call the PSD to find their
interrupt.
Because of the changes, this PSD is more efficient and may cause your system
to operate faster. This may expose existing problems in other places. This
does NOT mean that the PSD is broken! These problems in other places were
already there and a faster system can uncover them or make them occur more
often. For example, there is a known existing problem starting the pmshell
due to a problem in doscall1.dll. The doscall1.dll problem can cause a Trap D,
a Trap E, or a hang. This problem in doscall1.dll has always been there and
is not related to anything in the PSD. It can occur randomly when booting a
multiprocessor system. Increased system speed makes the problem more likely.
Single processor systems appear to not be affected. Again, this problem is
NOT a problem with the PSD. A solution to the doscall1.dll problem is being
investigated separately.
3.19 and previous - eCo Software
--------------------------------
The ACPI project was originally created and maintained from 2005 through
2009 by eCo Software. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.16 (19/4/2021, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
ACPI Driver Software Package
This package contains the following files, known as the ACPI Driver
Software, from the ACPI Driver Project. You must always use matched
versions of all the files in this package. You cannot mix some files
from previous versions.
ACPI.PSD - The Platform Specific Driver
ACPI32.DLL - The Application interface to ACPI.PSD
AcpiDaemon.exe - A helper application. Handles throttling, logging.
APM.ADD - A interface for emulating legacy APM calls with ACPI
AcpiStat.exe - Outputs some statistics from ACPI.PSD
ACPID.CFG.SAMPLE - Sample AcpiDaemon configuration file
IASL.EXE - ASL compiler
AcpiDump.exe - Dumps ACPI tables
For your convenience, this Warpin package also includes updates in
separate packages that are not part of the ACPI Driver project and are
not related to ACPI or the driver. The updated files, each in their
own package, are:
* DOSCALL1.DLL
* TCPIP32.DLL
* IBMKBD.SYS
* PSCOM.SYS
* RESOURCE.SYS
* SOCKETSK.SYS
Note that APM.ADD is the APM compatibility support using ACPI included in
this package. If you have the old APM.SYS installed, you must remove it
from your config.sys. The Warpin package checks this for you.
ACPID.CFG is formatted differently than older versions. Check the
ACPID.CFG.SAMPLE file for the new format. You should use the newest
acpid.cfg.sample as your acpid.cfg and modify it to enable your chosen
parameters. The daemon will default to reasonable settings if acpid.cfg
is not present.
This software will run with full functionality on the following kernels:
Arca Noae 14.202 SMP Retail
Arca Noae 14.201 SMP Retail
Arca Noae 14.104b SMP Debug
Arca Noae 14.104c SMP Debug
This software will run on the following kernels but some advanced
features such as support for 64 interrupts will not work:
Arca Noae 14.200 SMP Retail
Arca Noae 14.104a SMP Debug
Arca Noae 14.200 W4 Retail
IBM 14.104a SMP Retail
IBM 14.105 SMP Retail
IBM 14.106 SMP Retail
IBM 14.104a W4 Retail
IBM 14.105 W4 Retail
IBM 14.106 W4 Retail
You must also be using either the IBM or Arca Noae loader. Other kernels
or loaders might work but are not supported. Some functions may not work
with the debug kernel. Some functions will not work with the W4 kernel.
Copyright and License
=====================
Copyright (c) 2011-2021 David Azarewicz <david@88watts.net>
All rights reserved.
Copyright (c) 1999 - 2020, Intel Corp.
All rights reserved.
Copyright (c) 2005-2009 eCo Software
Copyright (c) 2005-2007 netlabs.org
(c) Copyright IBM Corporation 1990,2000.
All rights reserved.
The ACPI Driver Software is a derivative work of the Intel ACPICA and
the IBM DDK. Binary programs and documentation for the ACPI Driver
Software are licensed to and distributed by Arca Noae, LLC.
Important! By downloading or using this software, you acknowledge that
you have read and consent to the license agreement contained in the
separate License.txt file, that you understand it, and that you agree
to be bound by its terms.
Installation
============
To install this package, simply run the installation executable. Leave all
the defaults as-is.
When installing this package always answer to overwrite existing files and
always answer to unlock any files in use.
This installer package is not supported on systems using anything other
than CMD.EXE as the default OS/2 shell.
Do not use the old Acpi Wizard (AcpiWzrd.exe) to install or configure
this software.
It is recommended that you backup your boot partition before installing
this software. You should not attempt to uninstall this software by
using Warpin since that will not revert your system back to the way it
was and can make your system unbootable. You can stop using this
software by simply commenting out the relevant lines in your config.sys.
In addition to installing the requested software, the Warpin Installer
for this package will make the following changes to your system:
1. Remove POWERMAN.EXE from your CONFIG.SYS, if it exists.
2. Remove APM.SYS from your CONFIG.SYS, if it exists.
3. Remove VAPM.SYS from your CONFIG.SYS, if it exists.
4. Remove OS2APIC.PSD from your CONFIG.SYS, if it exists.
5. Remove any duplicate copies of ACPI.PSD from \ and \OS2 on your
boot disk.
6. Remove any duplicate copies of APM.ADD from \ and \OS2 on your
boot disk.
Note that the Warpin installer only removes certain entries from your
CONFIG.SYS. It does not actually uninstall these programs. These
programs and their data will still be present on your disk.
Getting Support and Reporting Problems
======================================
If you have any problems or concerns regarding any of the ACPI driver
software, please read the ACPI driver support wiki pages at:
https://www.arcanoae.com/wiki/acpi/
If your problems or questions cannot be resolved from the information
in the wiki pages, then you can open a support ticket by starting here:
https://www.arcanoae.com/wiki/reporting-problems-best-practices/
Also read the included documentation (psd_en.inf) for additional information
and troubleshooting information.
Change Log
==========
3.23.16 - 19-Apr-2021 - David Azarewicz
Updated to ACPICA 20210331. See https://acpica.org/ for details.
Debugging enhancements.
Enhanced memory type sync function.
Added limited disabled interrupt fixup.
3.23.15 - 01-Oct-2020 - David Azarewicz
Added /WA NODF, NOBF, NOIA
Added a workaround to accomodate unusual back-to-back timer queries.
Updated to ACPICA 20200925. See https://acpica.org/ for details.
3.23.14 - 12-Aug-2020 - David Azarewicz
Enhanced power manager daemon to manage CPUs better.
Updated to ACPICA 20200717. See https://acpica.org/ for details.
3.23.13 - 14-Feb-2020 - David Azarewicz
Added check to ignore and stop parsing if a invalid root bridge is found.
Improved fixup algorithm for systems with multiple bus bridges that are
not properly enabled by the BIOS.
Updated to ACPICA 20200110. See https://acpica.org/ for details.
3.23.12 - 07-Jul-2019 - David Azarewicz
Rewrote/improved PSD heap manager.
Updated to ACPICA 20190509. See https://acpica.org/ for details.
Updated to ACPICA 20190703. See https://acpica.org/ for details.
Added AcpiReset function to OEMHLP$ interface.
Added an additional PCI configuration fixup.
Changed /PBDUMP method of operation.
3.23.11 - 11-Feb-2019 - David Azarewicz
Updated to ACPICA 20181213. See https://acpica.org/ for details.
Updated to ACPICA 20190108. See https://acpica.org/ for details.
Increased PSD heap size limit to 16M to accomodate some systems
with an excessively large ACPI.
Implemented protection against an excessive number of unused
processors defined in the ACPI of some systems
Fixed debug output for DeviceSetIRQ.
Changed PCI fixup logic to not enable unused bridges.
Changed PCI fixup logic to not assign disabled interrupts.
Fixed power manager in daemon to properly query CPU load.
3.23.10 - 01-Sep-2018 - David Azarewicz
Minor change to PCI setup to not disable unassigned interrupts. This change
prevents certain non-fatal errors from occurring during boot on some systems
with certain BIOS defects. This may speed up booting slightly on those systems.
Enhanced Daemon Power Manager to check for interference from external programs.
This change ensures that the ACPI Daemon maintains control of enabling and
disabling CPUS for power management even if other applications attempt to
override it.
Changed to only enable needed GPEs. This means that only events needed by the
PSD are enabled. Previously all events were enabled by default. This change
will allow certain systems with certain BIOS problems to boot and run normally.
Implemented fix for IPI timeout problem. This addresses intermittent hangs
on some multi-CPU systems with a CPU clock greater than 3 Ghz.
Updated to ACPICA 20180810. See https://acpica.org/ for details.
3.23.09 - 02-May-2018 - David Azarewicz
Modified ACPI parser in PCI configuration to ignore duplicate device IDs.
Enhanced PCI setup to fix some more minor BIOS errors.
Updated to ACPICA 20180427. See https://acpica.org/ for details.
3.23.08 - 07-Jan-2018 - David Azarewicz
Added KillProc IOCtl.
Added experimental /NOACPI option
Updated to ACPICA 20180105. See https://acpica.org/ for details.
3.23.07 - 20-Aug-2017 - David Azarewicz
Implemented fix for a defect in PhysToVirt in all SMP kernels.
Updated to ACPICA 20170728. See https://acpica.org/ for details.
3.23.06 - 16-Jul-2017 - David Azarewicz
Fixed a problem handling interrupts > 47
Implemented limited MSI support.
Added /NOMSI switch.
Enhanced kernel detection due to problems with older kernels.
NOTE: This version will limit the number of interrupts to 32 for
older kernels to avoid possible kernel traps.
Updated to ACPICA 20170629. See https://acpica.org/ for details.
3.23.05 - 30-Dec-2016 - David Azarewicz
Reorganized and cleaned up much of the old code in order to implement some
new features.
Updated to ACPICA 20170119. See https://acpica.org/ for details.
3.23.04 - 12-Oct-2016 - David Azarewicz
Fixed minor issue when running in PIC mode related to the 64 int change.
Improved how the PSD integrates with the kernel. This fixed a minor problem
related to the 64 int change.
Fixed a problem in InstallDebugFiles.cmd
Updated to ACPICA 20160930. See https://acpica.org/ for details.
3.23.03 - 06-Sep-2016 - David Azarewicz
Added support for up to 64 interrupts.
Removed automatic fallback to VW if too many interrupts. Use of /VW is discouraged.
Fixed building iasl compiler.
Some minor fixes to the Warpin installer.
Updated to ACPICA 20160831
3.23.02 - 22-Jun-2016 - David Azarewicz
Updated to ACPICA 20151124.
Updated to ACPICA 20151218.
Updated to ACPICA 20160108.
Updated to ACPICA 20160318. ACPI 6.1 is now supported.
Updated to ACPICA 20160422.
Updated to ACPICA 20160527.
Toolkit fixes.
There are toolkit changes with this version -> v1.2
3.23.01 - 03-Jan-2016 - David Azarewicz
Updated to ACPICA 20150930. ACPI 6.0 is now supported.
Automatically limit to Virtual Wire mode if more than 32 interrupts.
Minor changes to PCI setup for systems which need to run in VW mode.
There are toolkit changes with this version -> v1.1
3.22.08 - 21-Jun-2015 - David Azarewicz
---------------------------------------
Corrected a problem where the Daemon wouldn't run on non-eCS systems.
Updated to ACPICA 20150410
Documentation updates
3.22.07 - 20-Feb-2015 - David Azarewicz
---------------------------------------
Updated to ACPICA 20150204
Updated to ACPICA 20141107
Remove some restrictions in Warpin installer
Documentation updates
3.22.06 - 02-Oct-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140828
Updated to ACPICA 20140926
3.22.05 - 28-Aug-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140424
Updated to ACPICA 20140627
Updated to ACPICA 20140724. ACPI 5.1 is now supported.
Some minor code cleanup.
Changed startup announcements to include license information.
3.22.04 - 12-May-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140114
Updated to ACPICA 20140214
Updated to ACPICA 20140325
Added an SMP safe hires timer query routine
Changed the way AcpiTkPrepareToSleep() and AcpiTkGoToSleep() stops multiple CPUs.
3.22.03 - 28-Nov-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130823.
Updated to ACPICA 20130927.
Updated to ACPICA 20131115.
Added a check to not use a the result when evaluating an object returns a
good status but a bad result (specifically _PCT, _CST).
Added code to reinitialize the hires timer to a default state after suspend.
3.22.02 - 03-Jul-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130626
Changed power manager thread so it will work with reasonable defaults if the
acpid.cfg file does not exist.
3.22.01 - 02-Jun-2013 - David Azarewicz
---------------------------------------
Ported entire project to OpenWatcom
Updated to ACPICA 20130517
Added FBPR workaround.
Changed order drivers are called during Suspend/Resume to be consistent.
3.21.07 - 18-Jan-2013 - David Azarewicz
---------------------------------------
Fixed a PSD stack overflow problem for systems with "unusual" types of ACPI.
3.21.06 - 14-Jan-2013 - David Azarewicz
---------------------------------------
Minor changes to sleep/wake sequence order.
Installer updated for eCS 2.2.
Fixed installer problem detecting DBCS systems.
3.21.05 - 27-Dec-2012 - David Azarewicz
---------------------------------------
Changed the PSD stack usage.
3.21.04 - 15-Dec-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121114.
Added a check for ACPI in PSD_INSTALL.
Added a PSD /WA switch to workaround common ACPI defects.
Fixed support for motherboards that use VW through IOAPIC interrupt
routing.
Added support for systems with a BIOS that has problems with PCI
config interrupt changes.
Added some resume troubleshooting aids to the debug PSD.
Changed Warpin installer to preserve certain PSD switches.
Documentation updates.
3.21.03 - 28-Nov-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121018.
Toolkit updated.
Removed powerdlg from distribution since it is no longer maintained and no
longer supported.
Misc code cleanup.
Added memory type sync function for video drivers.
Minor updates regarding suspend / resume for video.
Added a PSD /OSI= switch.
Removed the PSD /VBE switch. Added a PSD /NOVBE switch.
3.21.02 - 06-Sep-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120816.
Fixed another bug in APM.ADD related to sleep/wake.
Rework and cleanup wakeup code.
Documentation updates.
3.21.01 - 26-Aug-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120711.
Fixed problems with the MADT parser.
Adjusted the PCI configuration fixup routines to mask problems with
questionable hardware in low end systems. (This does not affect normal
systems.)
Makefile and Warpin installer changes.
Added /CPUMASK option for systems that cannot disable hyperthreading
in the BIOS.
Removed unneeded kernel patch (EOI).
Added a function to the toolkit API (PerpareToSleep).
3.20.04 - 22-Jul-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120620
Fixed a bug in APM.ADD related to sleep/wake.
Fixed a bug in powerdlg.exe
Cleaned up switch syntax to be consistent.
Documentation changes.
3.20.03 - 22-Jun-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120518.
PowerManager updated to include suspend/resume support.
PowerManager updated to halt CPUs > 0 if overtemp.
Implemented idle time halt for SMP kernels. Using CPU throttling on SMP
kernels is now not recommended since it will increase power consumption.
Read the Power Manager documentation.
3.20.02 - 23-May-2012 - David Azarewicz
---------------------------------------
Reduced some memory requirements.
Implemented a test to only change link Irqs if necessary.
Changed to only assign Link Irqs if less than maximum allowed.
Some changes to debug output in debug version.
Some work was done on Suspend / Resume
Changed the interrupt out-of-range to be a non-fatal warning instead of a
fatal error.
Fixes for the MADT parser.
Documentation updates.
3.20.01 - 25-Mar-2012 - David Azarewicz
---------------------------------------
Updated the ACPICA to 5.0 version 20120215.
Fixed problem with Award ACPI and possibly other similar vendors.
Changes in 3.19.16 - Jul-2011 - David Azarewicz
-----------------------------------------------
Updated the ACPICA to version 20110623.
Implemented a workaround in AcpiDaemon to ignore defective SLPB devices.
Note that this workaround just ignores the events generated by defective
SLPB devices, but the events still happen. If AcpiDaemon logging is
enabled these events will still be logged at the rate of about 1 every
2 seconds and the logfile could fill up your disk.
Documentation updates
Warpin installer improvements and fixes.
3.19.15 - David Azarewicz
-------------------------
Changed PCI bus scan to scan all busses even if bridges are not found for
those busses.
Rewrote the ACPI root bridge detection routine to properly handle systems
with multiple root bridges.
Fixed the ACPI device tree walk routine to better accomodate variations
in different vendor's ACPI tables.
Fixed a trap due to a spurious interrupt on some Multi-CPU systems when
running in Mode 1.
Added a feature to the Power Manager to turn off (halt) CPUs when the
system is idle.
Fixed more bugs in APM.ADD.
Changed some debug output.
Reworked the routines for debug video output.
Added bldlevel string to AcpiDaemon.exe
Changed the version of APM.ADD to match the PSD.
Added an OverTempPower setting to the power manager in AcpiDaemon.
Changed to only override _OS_ if /OS= is specified on the command line.
Documentation updates. Added Power Manager documentation.
Warpin Installer fixes.
3.19.14 - David Azarewicz
-------------------------
Fixed an error in Local APIC ID assignment for multi-processor systems.
Documentation updates.
3.19.13 - David Azarewicz
-------------------------
DLL code cleanup and fix memory leak.
Rearranged some functions in DLL to try to workaround a long time existing
problem in the xworkplace/ecenter enhanced shutdown power off (page not
present problem). Even with this workaround, the xworkplace/ecenter
enhanced shutdown is still broken and the power off function may still not
work in some cases until xworkplace/ecenter gets fixed.
Some work on suspend/resume. It might work, but it is still not finished.
Some changes to acpid.cfg. See new acpid.cfg.sample.
Documentation updates.
There are still a few known problems on a few remaining oddball systems.
These problems are still being worked on. However, with this version,
this PSD should work well on over 90% of all systems. For now, beware
of Acer equipment, some Dell equipment, and systems like the IBM xSeries
servers.
3.19.12 - David Azarewicz
-------------------------
Fix for defective old AMD/VIA APICs or BIOS.
The PSD now checks and reassigns APIC IDs if needed.
/BAUD=n switch added for debug output
Some changes to acpid.cfg. See new acpid.cfg.sample.
Assign interrupts to all devices even if the BIOS says they are disabled.
Fixup enable bits for all devices (Fixes some systems with a defective BIOS like Acer)
The PSD may now modify the PCI configuration in all modes including modes 0 and 1.
Some work on suspend/resume. It is still not working.
APM.ADD may have problems. Use it at your own risk.
3.19.11 - David Azarewicz
-------------------------
Fixed ACPI memory allocation and mutex helper routines.
Major changes to the embedded controller code. Communication with the embedded
controller now works correctly.
Major changes to event handling code.
Documentation was updated.
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
Suspend/resume is known to be broken.
3.19.10 - David Azarewicz
-------------------------
Fixed interrupt routing for link based systems.
Minor changes to interrupt startup code including: changed the trigger type for
interrupt 8, masked interrupt 2 in Symmetric mode.
Removed temporary /NV switch. NVidia systems now work properly. The NVidia
chipset was never actually the problem. It was the BIOS.
Added temporary /TEST switch. This switch should only be used at the request
of the developer.
Documentation was updated
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
3.19.09 - David Azarewicz
-------------------------
Fixed a bug in APM.ADD that could cause a trap on startup.
Changed some debug output.
Temporarily added /NV switch for debugging NVidia hardware.
3.19.08 - David Azarewicz
-------------------------
Interrupts for unused PCI devices are now disabled.
Acpi startup reorganized, again.
3.19.07 - David Azarewicz
-------------------------
Acpi startup reorganized.
PCI configuration testing
APM.ADD now accepts /DBGLVL=n switch, default=0
3.19.06 - David Azarewicz
-------------------------
Acpi interrupt setup fixed.
PCI configuration fixes.
/FS switch removed
3.19.05 - David Azarewicz
-------------------------
update.cmd was added to make updating a system easier and less error prone
to typos.
Documentation was updated.
3.19.04 - David Azarewicz
-------------------------
The PSD now properly detects the initial interrupt configuration as setup by
the BIOS so that the transition to eCS works properly (or at least better).
The PCI configuration logic has been cleaned up and rewritten. It is better
now but not complete yet.
Several of the toolkit functions have been fixed.
Powerdlg.exe was added to the source tree and the distribution.
3.19.03 - David Azarewicz
-------------------------
More work on interrupt mode setup. The PSD now detects APIC versions and
configures itself appropriately. If IOAPICs are detected older than version
0x20 the PSD will not use them and therefore will not run in Symmetric Mode.
These APICs have problems handling EOI. A workaround may be implemented in
the future.
The resume code for interrupts has been cleaned up.
The shutdown code was cleaned up.
The AcpiDaemon.exe has been reorganized to be more flexible with different
types of functions such as PowerMan. The format of acpid.cfg has changed.
See the new acpid.cfg.sample for the new format.
Powerman is now integrated into acpidaemon.exe. You can still run powerman.exe
if you do not run acpidaemon.exe, but they will not both run at the same time.
The throttling algorithm has been improved. PowerMan configuration is now
integrated into acpid.cfg. The standalone powerman.exe is not supported
anymore. A new powerdlg.exe is available to talk to the new integrated powerman
and write the new config format. Old versions of powerdlg.exe will not work
with the new integrated powerman and may cause problems if used.
The vpic.sys driver has been removed from the ACPI package. It may or may not
be put back in the future. Do not use any version of vpic.sys from previous
ACPI distributions. You may use the IBM version of this driver.
3.19.02 - David Azarewicz
-------------------------
The interrupt handling and setup code in the PSD has been mostly rewritten.
It works differently than previous versions of ACPI.PSD. The documentation
has been updated to reflect the differences. Read it.
The most significant change is that the PSD now starts the system in Symmetric
Mode (formerly known as APIC mode). This means that all drivers can be assigned
one interrupt that they can use forever. The nightmare of switching interrupts
part way through the bootup is now not necessary. Drivers also do not need to
be "ACPI aware" in that they do not need to call the PSD to find their
interrupt.
Because of the changes, this PSD is more efficient and may cause your system
to operate faster. This may expose existing problems in other places. This
does NOT mean that the PSD is broken! These problems in other places were
already there and a faster system can uncover them or make them occur more
often. For example, there is a known existing problem starting the pmshell
due to a problem in doscall1.dll. The doscall1.dll problem can cause a Trap D,
a Trap E, or a hang. This problem in doscall1.dll has always been there and
is not related to anything in the PSD. It can occur randomly when booting a
multiprocessor system. Increased system speed makes the problem more likely.
Single processor systems appear to not be affected. Again, this problem is
NOT a problem with the PSD. A solution to the doscall1.dll problem is being
investigated separately.
3.19 and previous - eCo Software
--------------------------------
The ACPI project was originally created and maintained from 2005 through
2009 by eCo Software. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.15 (1/10/2020, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
Readme for the ACPI Driver Package version 3.23.15
It is recommended that you backup your boot partition before installing
this software. You should not attempt to uninstall this software by
using Warpin since that will not revert your system back to the way it
was and can make your system unbootable. You can stop using this
software by simply commenting out the relevant lines in your config.sys.
This package contains the following files, known as the ACPI Driver
Software, from the ACPI Driver Project. You must always use matched
versions of all the files in this package. You cannot mix some files
from previous versions.
ACPI.PSD - The Platform Specific Driver
ACPI32.DLL - The Application interface to ACPI.PSD
AcpiDaemon.exe - A helper application. Handles throttling, logging.
APM.ADD - A interface for emulating legacy APM calls with ACPI
AcpiStat.exe - Outputs some statistics from ACPI.PSD
ACPID.CFG.SAMPLE - Sample AcpiDaemon configuration file
IASL.EXE - ASL compiler
AcpiDump.exe - Dumps ACPI tables
In addition to installing the requested software, the Warpin Installer
for this package will make the following changes to your system:
1. Remove POWERMAN.EXE from your CONFIG.SYS, if it exists.
2. Remove APM.SYS from your CONFIG.SYS, if it exists.
3. Remove VAPM.SYS from your CONFIG.SYS, if it exists.
4. Remove OS2APIC.PSD from your CONFIG.SYS, if it exists.
5. Remove any duplicate copies of ACPI.PSD from \ and \OS2 on your
boot disk.
6. Remove any duplicate copies of APM.ADD from \ and \OS2 on your
boot disk.
Note that the Warpin installer only removes certain entries from your
CONFIG.SYS. It does not actually uninstall these programs. These
programs and their data will still be present on your disk.
For your convenience, this Warpin package also includes updates in
separate packages that are not part of the ACPI Driver project and are
not related to ACPI or the driver. The updated files, each in their
own package, are:
* DOSCALL1.DLL
* TCPIP32.DLL
* IBMKBD.SYS
* PSCOM.SYS
* RESOURCE.SYS
* SOCKETSK.SYS
Note that APM.ADD is the APM compatibility support using ACPI included in
this package. If you have the old APM.SYS installed, you must remove it
from your config.sys. The Warpin package checks this for you.
ACPID.CFG is formatted differently than older versions. Check the
ACPID.CFG.SAMPLE file for the new format. You should use the newest
acpid.cfg.sample as your acpid.cfg and modify it to enable your chosen
parameters. The daemon will default to reasonable settings if acpid.cfg
is not present.
Do not use the old Acpi Wizard (AcpiWzrd.exe) to install or configure
this software.
This software will run with full functionality on the following kernels:
Arca Noae 14.201 SMP Retail
Arca Noae 14.104b SMP Debug
This software will run on the following kernels but some advanced
features such as support for 64 interrupts will not work:
Arca Noae 14.200 SMP Retail
Arca Noae 14.104a SMP Debug
Arca Noae 14.200 W4 Retail
IBM 14.104a SMP Retail
IBM 14.105 SMP Retail
IBM 14.106 SMP Retail
IBM 14.104a W4 Retail
IBM 14.105 W4 Retail
IBM 14.106 W4 Retail
You must also be using either the IBM or Arca Noae loader. Other kernels
or loaders might work but are not supported. Some functions may not work
with the debug kernel. Some functions will not work with the W4 kernel.
This installer package is not supported on systems using anything other
than CMD.EXE as the default OS/2 shell.
Installation
============
To install this package, simply run the installation executable. Leave all
the defaults as-is.
When installing this package always answer to overwrite existing files and
always answer to unlock any files in use.
Copyright and License
=====================
Copyright (c) 2011-2020 David Azarewicz <david@88watts.net>
All rights reserved.
Copyright (c) 1999 - 2020, Intel Corp.
All rights reserved.
Copyright (c) 2005-2009 eCo Software
Copyright (c) 2005-2007 netlabs.org
(c) Copyright IBM Corporation 1990,2000.
All rights reserved.
The ACPI Driver Software is a derivative work of the Intel ACPICA and
the IBM DDK. Binary programs and documentation for the ACPI Driver
Software are licensed to and distributed by Arca Noae, LLC.
Important! By downloading or using this software, you acknowledge that
you have read and consent to the license agreement contained in the
separate License.txt file, that you understand it, and that you agree
to be bound by its terms.
Getting Support and Reporting Problems
======================================
For more information and to report problems please visit:
https://www.arcanoae.com
and click on SUPPORT.
Or go directly to the ACPI Driver support wiki at:
https://www.arcanoae.com/wiki/acpi/
Also read the included documentation (psd_en.inf) for additional information
and troubleshooting information.
Change Log
==========
3.23.15 - 01-Oct-2020 - David Azarewicz
Added /WA NODF, NOBF, NOIA
Added a workaround to accomodate unusual back-to-back timer queries.
Updated to ACPICA 20200925. See https://acpica.org/ for details.
3.23.14 - 12-Aug-2020 - David Azarewicz
Enhanced power manager daemon to manage CPUs better.
Updated to ACPICA 20200717. See https://acpica.org/ for details.
3.23.13 - 14-Feb-2020 - David Azarewicz
Added check to ignore and stop parsing if a invalid root bridge is found.
Improved fixup algorithm for systems with multiple bus bridges that are
not properly enabled by the BIOS.
Updated to ACPICA 20200110. See https://acpica.org/ for details.
3.23.12 - 07-Jul-2019 - David Azarewicz
Rewrote/improved PSD heap manager.
Updated to ACPICA 20190509. See https://acpica.org/ for details.
Updated to ACPICA 20190703. See https://acpica.org/ for details.
Added AcpiReset function to OEMHLP$ interface.
Added an additional PCI configuration fixup.
Changed /PBDUMP method of operation.
3.23.11 - 11-Feb-2019 - David Azarewicz
Updated to ACPICA 20181213. See https://acpica.org/ for details.
Updated to ACPICA 20190108. See https://acpica.org/ for details.
Increased PSD heap size limit to 16M to accomodate some systems
with an excessively large ACPI.
Implemented protection against an excessive number of unused
processors defined in the ACPI of some systems
Fixed debug output for DeviceSetIRQ.
Changed PCI fixup logic to not enable unused bridges.
Changed PCI fixup logic to not assign disabled interrupts.
Fixed power manager in daemon to properly query CPU load.
3.23.10 - 01-Sep-2018 - David Azarewicz
Minor change to PCI setup to not disable unassigned interrupts. This change
prevents certain non-fatal errors from occurring during boot on some systems
with certain BIOS defects. This may speed up booting slightly on those systems.
Enhanced Daemon Power Manager to check for interference from external programs.
This change ensures that the ACPI Daemon maintains control of enabling and
disabling CPUS for power management even if other applications attempt to
override it.
Changed to only enable needed GPEs. This means that only events needed by the
PSD are enabled. Previously all events were enabled by default. This change
will allow certain systems with certain BIOS problems to boot and run normally.
Implemented fix for IPI timeout problem. This addresses intermittent hangs
on some multi-CPU systems with a CPU clock greater than 3 Ghz.
Updated to ACPICA 20180810. See https://acpica.org/ for details.
3.23.09 - 02-May-2018 - David Azarewicz
Modified ACPI parser in PCI configuration to ignore duplicate device IDs.
Enhanced PCI setup to fix some more minor BIOS errors.
Updated to ACPICA 20180427. See https://acpica.org/ for details.
3.23.08 - 07-Jan-2018 - David Azarewicz
Added KillProc IOCtl.
Added experimental /NOACPI option
Updated to ACPICA 20180105. See https://acpica.org/ for details.
3.23.07 - 20-Aug-2017 - David Azarewicz
Implemented fix for a defect in PhysToVirt in all SMP kernels.
Updated to ACPICA 20170728. See https://acpica.org/ for details.
3.23.06 - 16-Jul-2017 - David Azarewicz
Fixed a problem handling interrupts > 47
Implemented limited MSI support.
Added /NOMSI switch.
Enhanced kernel detection due to problems with older kernels.
NOTE: This version will limit the number of interrupts to 32 for
older kernels to avoid possible kernel traps.
Updated to ACPICA 20170629. See https://acpica.org/ for details.
3.23.05 - 30-Dec-2016 - David Azarewicz
Reorganized and cleaned up much of the old code in order to implement some
new features.
Updated to ACPICA 20170119. See https://acpica.org/ for details.
3.23.04 - 12-Oct-2016 - David Azarewicz
Fixed minor issue when running in PIC mode related to the 64 int change.
Improved how the PSD integrates with the kernel. This fixed a minor problem
related to the 64 int change.
Fixed a problem in InstallDebugFiles.cmd
Updated to ACPICA 20160930. See https://acpica.org/ for details.
3.23.03 - 06-Sep-2016 - David Azarewicz
Added support for up to 64 interrupts.
Removed automatic fallback to VW if too many interrupts. Use of /VW is discouraged.
Fixed building iasl compiler.
Some minor fixes to the Warpin installer.
Updated to ACPICA 20160831
3.23.02 - 22-Jun-2016 - David Azarewicz
Updated to ACPICA 20151124.
Updated to ACPICA 20151218.
Updated to ACPICA 20160108.
Updated to ACPICA 20160318. ACPI 6.1 is now supported.
Updated to ACPICA 20160422.
Updated to ACPICA 20160527.
Toolkit fixes.
There are toolkit changes with this version -> v1.2
3.23.01 - 03-Jan-2016 - David Azarewicz
Updated to ACPICA 20150930. ACPI 6.0 is now supported.
Automatically limit to Virtual Wire mode if more than 32 interrupts.
Minor changes to PCI setup for systems which need to run in VW mode.
There are toolkit changes with this version -> v1.1
3.22.08 - 21-Jun-2015 - David Azarewicz
---------------------------------------
Corrected a problem where the Daemon wouldn't run on non-eCS systems.
Updated to ACPICA 20150410
Documentation updates
3.22.07 - 20-Feb-2015 - David Azarewicz
---------------------------------------
Updated to ACPICA 20150204
Updated to ACPICA 20141107
Remove some restrictions in Warpin installer
Documentation updates
3.22.06 - 02-Oct-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140828
Updated to ACPICA 20140926
3.22.05 - 28-Aug-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140424
Updated to ACPICA 20140627
Updated to ACPICA 20140724. ACPI 5.1 is now supported.
Some minor code cleanup.
Changed startup announcements to include license information.
3.22.04 - 12-May-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140114
Updated to ACPICA 20140214
Updated to ACPICA 20140325
Added an SMP safe hires timer query routine
Changed the way AcpiTkPrepareToSleep() and AcpiTkGoToSleep() stops multiple CPUs.
3.22.03 - 28-Nov-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130823.
Updated to ACPICA 20130927.
Updated to ACPICA 20131115.
Added a check to not use a the result when evaluating an object returns a
good status but a bad result (specifically _PCT, _CST).
Added code to reinitialize the hires timer to a default state after suspend.
3.22.02 - 03-Jul-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130626
Changed power manager thread so it will work with reasonable defaults if the
acpid.cfg file does not exist.
3.22.01 - 02-Jun-2013 - David Azarewicz
---------------------------------------
Ported entire project to OpenWatcom
Updated to ACPICA 20130517
Added FBPR workaround.
Changed order drivers are called during Suspend/Resume to be consistent.
3.21.07 - 18-Jan-2013 - David Azarewicz
---------------------------------------
Fixed a PSD stack overflow problem for systems with "unusual" types of ACPI.
3.21.06 - 14-Jan-2013 - David Azarewicz
---------------------------------------
Minor changes to sleep/wake sequence order.
Installer updated for eCS 2.2.
Fixed installer problem detecting DBCS systems.
3.21.05 - 27-Dec-2012 - David Azarewicz
---------------------------------------
Changed the PSD stack usage.
3.21.04 - 15-Dec-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121114.
Added a check for ACPI in PSD_INSTALL.
Added a PSD /WA switch to workaround common ACPI defects.
Fixed support for motherboards that use VW through IOAPIC interrupt
routing.
Added support for systems with a BIOS that has problems with PCI
config interrupt changes.
Added some resume troubleshooting aids to the debug PSD.
Changed Warpin installer to preserve certain PSD switches.
Documentation updates.
3.21.03 - 28-Nov-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121018.
Toolkit updated.
Removed powerdlg from distribution since it is no longer maintained and no
longer supported.
Misc code cleanup.
Added memory type sync function for video drivers.
Minor updates regarding suspend / resume for video.
Added a PSD /OSI= switch.
Removed the PSD /VBE switch. Added a PSD /NOVBE switch.
3.21.02 - 06-Sep-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120816.
Fixed another bug in APM.ADD related to sleep/wake.
Rework and cleanup wakeup code.
Documentation updates.
3.21.01 - 26-Aug-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120711.
Fixed problems with the MADT parser.
Adjusted the PCI configuration fixup routines to mask problems with
questionable hardware in low end systems. (This does not affect normal
systems.)
Makefile and Warpin installer changes.
Added /CPUMASK option for systems that cannot disable hyperthreading
in the BIOS.
Removed unneeded kernel patch (EOI).
Added a function to the toolkit API (PerpareToSleep).
3.20.04 - 22-Jul-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120620
Fixed a bug in APM.ADD related to sleep/wake.
Fixed a bug in powerdlg.exe
Cleaned up switch syntax to be consistent.
Documentation changes.
3.20.03 - 22-Jun-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120518.
PowerManager updated to include suspend/resume support.
PowerManager updated to halt CPUs > 0 if overtemp.
Implemented idle time halt for SMP kernels. Using CPU throttling on SMP
kernels is now not recommended since it will increase power consumption.
Read the Power Manager documentation.
3.20.02 - 23-May-2012 - David Azarewicz
---------------------------------------
Reduced some memory requirements.
Implemented a test to only change link Irqs if necessary.
Changed to only assign Link Irqs if less than maximum allowed.
Some changes to debug output in debug version.
Some work was done on Suspend / Resume
Changed the interrupt out-of-range to be a non-fatal warning instead of a
fatal error.
Fixes for the MADT parser.
Documentation updates.
3.20.01 - 25-Mar-2012 - David Azarewicz
---------------------------------------
Updated the ACPICA to 5.0 version 20120215.
Fixed problem with Award ACPI and possibly other similar vendors.
Changes in 3.19.16 - Jul-2011 - David Azarewicz
-----------------------------------------------
Updated the ACPICA to version 20110623.
Implemented a workaround in AcpiDaemon to ignore defective SLPB devices.
Note that this workaround just ignores the events generated by defective
SLPB devices, but the events still happen. If AcpiDaemon logging is
enabled these events will still be logged at the rate of about 1 every
2 seconds and the logfile could fill up your disk.
Documentation updates
Warpin installer improvements and fixes.
3.19.15 - David Azarewicz
-------------------------
Changed PCI bus scan to scan all busses even if bridges are not found for
those busses.
Rewrote the ACPI root bridge detection routine to properly handle systems
with multiple root bridges.
Fixed the ACPI device tree walk routine to better accomodate variations
in different vendor's ACPI tables.
Fixed a trap due to a spurious interrupt on some Multi-CPU systems when
running in Mode 1.
Added a feature to the Power Manager to turn off (halt) CPUs when the
system is idle.
Fixed more bugs in APM.ADD.
Changed some debug output.
Reworked the routines for debug video output.
Added bldlevel string to AcpiDaemon.exe
Changed the version of APM.ADD to match the PSD.
Added an OverTempPower setting to the power manager in AcpiDaemon.
Changed to only override _OS_ if /OS= is specified on the command line.
Documentation updates. Added Power Manager documentation.
Warpin Installer fixes.
3.19.14 - David Azarewicz
-------------------------
Fixed an error in Local APIC ID assignment for multi-processor systems.
Documentation updates.
3.19.13 - David Azarewicz
-------------------------
DLL code cleanup and fix memory leak.
Rearranged some functions in DLL to try to workaround a long time existing
problem in the xworkplace/ecenter enhanced shutdown power off (page not
present problem). Even with this workaround, the xworkplace/ecenter
enhanced shutdown is still broken and the power off function may still not
work in some cases until xworkplace/ecenter gets fixed.
Some work on suspend/resume. It might work, but it is still not finished.
Some changes to acpid.cfg. See new acpid.cfg.sample.
Documentation updates.
There are still a few known problems on a few remaining oddball systems.
These problems are still being worked on. However, with this version,
this PSD should work well on over 90% of all systems. For now, beware
of Acer equipment, some Dell equipment, and systems like the IBM xSeries
servers.
3.19.12 - David Azarewicz
-------------------------
Fix for defective old AMD/VIA APICs or BIOS.
The PSD now checks and reassigns APIC IDs if needed.
/BAUD=n switch added for debug output
Some changes to acpid.cfg. See new acpid.cfg.sample.
Assign interrupts to all devices even if the BIOS says they are disabled.
Fixup enable bits for all devices (Fixes some systems with a defective BIOS like Acer)
The PSD may now modify the PCI configuration in all modes including modes 0 and 1.
Some work on suspend/resume. It is still not working.
APM.ADD may have problems. Use it at your own risk.
3.19.11 - David Azarewicz
-------------------------
Fixed ACPI memory allocation and mutex helper routines.
Major changes to the embedded controller code. Communication with the embedded
controller now works correctly.
Major changes to event handling code.
Documentation was updated.
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
Suspend/resume is known to be broken.
3.19.10 - David Azarewicz
-------------------------
Fixed interrupt routing for link based systems.
Minor changes to interrupt startup code including: changed the trigger type for
interrupt 8, masked interrupt 2 in Symmetric mode.
Removed temporary /NV switch. NVidia systems now work properly. The NVidia
chipset was never actually the problem. It was the BIOS.
Added temporary /TEST switch. This switch should only be used at the request
of the developer.
Documentation was updated
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
3.19.09 - David Azarewicz
-------------------------
Fixed a bug in APM.ADD that could cause a trap on startup.
Changed some debug output.
Temporarily added /NV switch for debugging NVidia hardware.
3.19.08 - David Azarewicz
-------------------------
Interrupts for unused PCI devices are now disabled.
Acpi startup reorganized, again.
3.19.07 - David Azarewicz
-------------------------
Acpi startup reorganized.
PCI configuration testing
APM.ADD now accepts /DBGLVL=n switch, default=0
3.19.06 - David Azarewicz
-------------------------
Acpi interrupt setup fixed.
PCI configuration fixes.
/FS switch removed
3.19.05 - David Azarewicz
-------------------------
update.cmd was added to make updating a system easier and less error prone
to typos.
Documentation was updated.
3.19.04 - David Azarewicz
-------------------------
The PSD now properly detects the initial interrupt configuration as setup by
the BIOS so that the transition to eCS works properly (or at least better).
The PCI configuration logic has been cleaned up and rewritten. It is better
now but not complete yet.
Several of the toolkit functions have been fixed.
Powerdlg.exe was added to the source tree and the distribution.
3.19.03 - David Azarewicz
-------------------------
More work on interrupt mode setup. The PSD now detects APIC versions and
configures itself appropriately. If IOAPICs are detected older than version
0x20 the PSD will not use them and therefore will not run in Symmetric Mode.
These APICs have problems handling EOI. A workaround may be implemented in
the future.
The resume code for interrupts has been cleaned up.
The shutdown code was cleaned up.
The AcpiDaemon.exe has been reorganized to be more flexible with different
types of functions such as PowerMan. The format of acpid.cfg has changed.
See the new acpid.cfg.sample for the new format.
Powerman is now integrated into acpidaemon.exe. You can still run powerman.exe
if you do not run acpidaemon.exe, but they will not both run at the same time.
The throttling algorithm has been improved. PowerMan configuration is now
integrated into acpid.cfg. The standalone powerman.exe is not supported
anymore. A new powerdlg.exe is available to talk to the new integrated powerman
and write the new config format. Old versions of powerdlg.exe will not work
with the new integrated powerman and may cause problems if used.
The vpic.sys driver has been removed from the ACPI package. It may or may not
be put back in the future. Do not use any version of vpic.sys from previous
ACPI distributions. You may use the IBM version of this driver.
3.19.02 - David Azarewicz
-------------------------
The interrupt handling and setup code in the PSD has been mostly rewritten.
It works differently than previous versions of ACPI.PSD. The documentation
has been updated to reflect the differences. Read it.
The most significant change is that the PSD now starts the system in Symmetric
Mode (formerly known as APIC mode). This means that all drivers can be assigned
one interrupt that they can use forever. The nightmare of switching interrupts
part way through the bootup is now not necessary. Drivers also do not need to
be "ACPI aware" in that they do not need to call the PSD to find their
interrupt.
Because of the changes, this PSD is more efficient and may cause your system
to operate faster. This may expose existing problems in other places. This
does NOT mean that the PSD is broken! These problems in other places were
already there and a faster system can uncover them or make them occur more
often. For example, there is a known existing problem starting the pmshell
due to a problem in doscall1.dll. The doscall1.dll problem can cause a Trap D,
a Trap E, or a hang. This problem in doscall1.dll has always been there and
is not related to anything in the PSD. It can occur randomly when booting a
multiprocessor system. Increased system speed makes the problem more likely.
Single processor systems appear to not be affected. Again, this problem is
NOT a problem with the PSD. A solution to the doscall1.dll problem is being
investigated separately.
3.19 and previous - eCo Software
--------------------------------
The ACPI project was originally created and maintained from 2005 through
2009 by eCo Software. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.13 (7/7/2019, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
Readme for the ACPI Driver Package version 3.23.13
It is recommended that you backup your boot partition before installing
this software. You should not attempt to uninstall this software by
using Warpin since that will not revert your system back to the way it
was and can make your system unbootable. You can stop using this
software by simply commenting out the relevant lines in your config.sys.
This package contains the following files, known as the ACPI Driver
Software, from the ACPI Driver Project. You must always use matched
versions of all the files in this package. You cannot mix some files
from previous versions.
ACPI.PSD - The Platform Specific Driver
ACPI32.DLL - The Application interface to ACPI.PSD
AcpiDaemon.exe - A helper application. Handles throttling, logging.
APM.ADD - A interface for emulating legacy APM calls with ACPI
AcpiStat.exe - Outputs some statistics from ACPI.PSD
ACPID.CFG.SAMPLE - Sample AcpiDaemon configuration file
IASL.EXE - ASL compiler
AcpiDump.exe - Dumps ACPI tables
In addition to installing the requested software, the Warpin Installer
for this package will make the following changes to your system:
1. Remove POWERMAN.EXE from your CONFIG.SYS, if it exists.
2. Remove APM.SYS from your CONFIG.SYS, if it exists.
3. Remove VAPM.SYS from your CONFIG.SYS, if it exists.
4. Remove OS2APIC.PSD from your CONFIG.SYS, if it exists.
5. Remove any duplicate copies of ACPI.PSD from \ and \OS2 on your
boot disk.
6. Remove any duplicate copies of APM.ADD from \ and \OS2 on your
boot disk.
Note that the Warpin installer only removes certain entries from your
CONFIG.SYS. It does not actually uninstall these programs. These
programs and their data will still be present on your disk.
For your convenience, this Warpin package also includes updates in
separate packages that are not part of the ACPI Driver project and are
not related to ACPI or the driver. The updated files, each in their
own package, are:
* DOSCALL1.DLL
* TCPIP32.DLL
* IBMKBD.SYS
* PSCOM.SYS
* RESOURCE.SYS
* SOCKETSK.SYS
Note that APM.ADD is the APM compatibility support using ACPI included in
this package. If you have the old APM.SYS installed, you must remove it
from your config.sys. The Warpin package checks this for you.
ACPID.CFG is formatted differently than older versions. Check the
ACPID.CFG.SAMPLE file for the new format. You should use the newest
acpid.cfg.sample as your acpid.cfg and modify it to enable your chosen
parameters. The daemon will default to reasonable settings if acpid.cfg
is not present.
Do not use the old Acpi Wizard (AcpiWzrd.exe) to install or configure
this software.
This software will run with full functionality on the following kernels:
Arca Noae 14.201 SMP Retail
Arca Noae 14.104b SMP Debug
This software will run on the following kernels but some advanced
features such as support for 64 interrupts will not work:
Arca Noae 14.200 SMP Retail
Arca Noae 14.104a SMP Debug
Arca Noae 14.200 W4 Retail
IBM 14.104a SMP Retail
IBM 14.105 SMP Retail
IBM 14.106 SMP Retail
IBM 14.104a W4 Retail
IBM 14.105 W4 Retail
IBM 14.106 W4 Retail
You must also be using either the IBM or Arca Noae loader. Other kernels
or loaders might work but are not supported. Some functions may not work
with the debug kernel. Some functions will not work with the W4 kernel.
This installer package is not supported on systems using anything other
than CMD.EXE as the default OS/2 shell.
Installation
============
To install this package, simply run the installation executable. Leave all
the defaults as-is.
When installing this package always answer to overwrite existing files and
always answer to unlock any files in use.
Copyright and License
=====================
Copyright (c) 2011-2020 David Azarewicz <david@88watts.net>
All rights reserved.
Copyright (c) 1999 - 2020, Intel Corp.
All rights reserved.
Copyright (c) 2005-2009 eCo Software
Copyright (c) 2005-2007 netlabs.org
(c) Copyright IBM Corporation 1990,2000.
All rights reserved.
The ACPI Driver Software is a derivative work of the Intel ACPICA and
the IBM DDK. Binary programs and documentation for the ACPI Driver
Software are licensed to and distributed by Arca Noae, LLC.
Important! By downloading or using this software, you acknowledge that
you have read and consent to the license agreement contained in the
separate License.txt file, that you understand it, and that you agree
to be bound by its terms.
Getting Support and Reporting Problems
======================================
For more information and to report problems please visit:
https://www.arcanoae.com
and click on SUPPORT.
Or go directly to the ACPI Driver support wiki at:
https://www.arcanoae.com/wiki/acpi/
Also read the included documentation (psd_en.inf) for additional information
and troubleshooting information.
Change Log
==========
3.23.13 - 14-Feb-2020 - David Azarewicz
Added check to ignore and stop parsing if a invalid root bridge is found.
Improved fixup algorithm for systems with multiple bus bridges that are
not properly enabled by the BIOS.
Updated to ACPICA 20200110. See https://acpica.org/ for details.
3.23.12 - 07-Jul-2019 - David Azarewicz
Rewrote/improved PSD heap manager.
Updated to ACPICA 20190509. See https://acpica.org/ for details.
Updated to ACPICA 20190703. See https://acpica.org/ for details.
Added AcpiReset function to OEMHLP$ interface.
Added an additional PCI configuration fixup.
Changed /PBDUMP method of operation.
3.23.11 - 11-Feb-2019 - David Azarewicz
Updated to ACPICA 20181213. See https://acpica.org/ for details.
Updated to ACPICA 20190108. See https://acpica.org/ for details.
Increased PSD heap size limit to 16M to accomodate some systems
with an excessively large ACPI.
Implemented protection against an excessive number of unused
processors defined in the ACPI of some systems
Fixed debug output for DeviceSetIRQ.
Changed PCI fixup logic to not enable unused bridges.
Changed PCI fixup logic to not assign disabled interrupts.
Fixed power manager in daemon to properly query CPU load.
3.23.10 - 01-Sep-2018 - David Azarewicz
Minor change to PCI setup to not disable unassigned interrupts. This change
prevents certain non-fatal errors from occurring during boot on some systems
with certain BIOS defects. This may speed up booting slightly on those systems.
Enhanced Daemon Power Manager to check for interference from external programs.
This change ensures that the ACPI Daemon maintains control of enabling and
disabling CPUS for power management even if other applications attempt to
override it.
Changed to only enable needed GPEs. This means that only events needed by the
PSD are enabled. Previously all events were enabled by default. This change
will allow certain systems with certain BIOS problems to boot and run normally.
Implemented fix for IPI timeout problem. This addresses intermittent hangs
on some multi-CPU systems with a CPU clock greater than 3 Ghz.
Updated to ACPICA 20180810. See https://acpica.org/ for details.
3.23.09 - 02-May-2018 - David Azarewicz
Modified ACPI parser in PCI configuration to ignore duplicate device IDs.
Enhanced PCI setup to fix some more minor BIOS errors.
Updated to ACPICA 20180427. See https://acpica.org/ for details.
3.23.08 - 07-Jan-2018 - David Azarewicz
Added KillProc IOCtl.
Added experimental /NOACPI option
Updated to ACPICA 20180105. See https://acpica.org/ for details.
3.23.07 - 20-Aug-2017 - David Azarewicz
Implemented fix for a defect in PhysToVirt in all SMP kernels.
Updated to ACPICA 20170728. See https://acpica.org/ for details.
3.23.06 - 16-Jul-2017 - David Azarewicz
Fixed a problem handling interrupts > 47
Implemented limited MSI support.
Added /NOMSI switch.
Enhanced kernel detection due to problems with older kernels.
NOTE: This version will limit the number of interrupts to 32 for
older kernels to avoid possible kernel traps.
Updated to ACPICA 20170629. See https://acpica.org/ for details.
3.23.05 - 30-Dec-2016 - David Azarewicz
Reorganized and cleaned up much of the old code in order to implement some
new features.
Updated to ACPICA 20170119. See https://acpica.org/ for details.
3.23.04 - 12-Oct-2016 - David Azarewicz
Fixed minor issue when running in PIC mode related to the 64 int change.
Improved how the PSD integrates with the kernel. This fixed a minor problem
related to the 64 int change.
Fixed a problem in InstallDebugFiles.cmd
Updated to ACPICA 20160930. See https://acpica.org/ for details.
3.23.03 - 06-Sep-2016 - David Azarewicz
Added support for up to 64 interrupts.
Removed automatic fallback to VW if too many interrupts. Use of /VW is discouraged.
Fixed building iasl compiler.
Some minor fixes to the Warpin installer.
Updated to ACPICA 20160831
3.23.02 - 22-Jun-2016 - David Azarewicz
Updated to ACPICA 20151124.
Updated to ACPICA 20151218.
Updated to ACPICA 20160108.
Updated to ACPICA 20160318. ACPI 6.1 is now supported.
Updated to ACPICA 20160422.
Updated to ACPICA 20160527.
Toolkit fixes.
There are toolkit changes with this version -> v1.2
3.23.01 - 03-Jan-2016 - David Azarewicz
Updated to ACPICA 20150930. ACPI 6.0 is now supported.
Automatically limit to Virtual Wire mode if more than 32 interrupts.
Minor changes to PCI setup for systems which need to run in VW mode.
There are toolkit changes with this version -> v1.1
3.22.08 - 21-Jun-2015 - David Azarewicz
---------------------------------------
Corrected a problem where the Daemon wouldn't run on non-eCS systems.
Updated to ACPICA 20150410
Documentation updates
3.22.07 - 20-Feb-2015 - David Azarewicz
---------------------------------------
Updated to ACPICA 20150204
Updated to ACPICA 20141107
Remove some restrictions in Warpin installer
Documentation updates
3.22.06 - 02-Oct-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140828
Updated to ACPICA 20140926
3.22.05 - 28-Aug-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140424
Updated to ACPICA 20140627
Updated to ACPICA 20140724. ACPI 5.1 is now supported.
Some minor code cleanup.
Changed startup announcements to include license information.
3.22.04 - 12-May-2014 - David Azarewicz
---------------------------------------
Updated to ACPICA 20140114
Updated to ACPICA 20140214
Updated to ACPICA 20140325
Added an SMP safe hires timer query routine
Changed the way AcpiTkPrepareToSleep() and AcpiTkGoToSleep() stops multiple CPUs.
3.22.03 - 28-Nov-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130823.
Updated to ACPICA 20130927.
Updated to ACPICA 20131115.
Added a check to not use a the result when evaluating an object returns a
good status but a bad result (specifically _PCT, _CST).
Added code to reinitialize the hires timer to a default state after suspend.
3.22.02 - 03-Jul-2013 - David Azarewicz
---------------------------------------
Updated to ACPICA 20130626
Changed power manager thread so it will work with reasonable defaults if the
acpid.cfg file does not exist.
3.22.01 - 02-Jun-2013 - David Azarewicz
---------------------------------------
Ported entire project to OpenWatcom
Updated to ACPICA 20130517
Added FBPR workaround.
Changed order drivers are called during Suspend/Resume to be consistent.
3.21.07 - 18-Jan-2013 - David Azarewicz
---------------------------------------
Fixed a PSD stack overflow problem for systems with "unusual" types of ACPI.
3.21.06 - 14-Jan-2013 - David Azarewicz
---------------------------------------
Minor changes to sleep/wake sequence order.
Installer updated for eCS 2.2.
Fixed installer problem detecting DBCS systems.
3.21.05 - 27-Dec-2012 - David Azarewicz
---------------------------------------
Changed the PSD stack usage.
3.21.04 - 15-Dec-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121114.
Added a check for ACPI in PSD_INSTALL.
Added a PSD /WA switch to workaround common ACPI defects.
Fixed support for motherboards that use VW through IOAPIC interrupt
routing.
Added support for systems with a BIOS that has problems with PCI
config interrupt changes.
Added some resume troubleshooting aids to the debug PSD.
Changed Warpin installer to preserve certain PSD switches.
Documentation updates.
3.21.03 - 28-Nov-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20121018.
Toolkit updated.
Removed powerdlg from distribution since it is no longer maintained and no
longer supported.
Misc code cleanup.
Added memory type sync function for video drivers.
Minor updates regarding suspend / resume for video.
Added a PSD /OSI= switch.
Removed the PSD /VBE switch. Added a PSD /NOVBE switch.
3.21.02 - 06-Sep-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120816.
Fixed another bug in APM.ADD related to sleep/wake.
Rework and cleanup wakeup code.
Documentation updates.
3.21.01 - 26-Aug-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120711.
Fixed problems with the MADT parser.
Adjusted the PCI configuration fixup routines to mask problems with
questionable hardware in low end systems. (This does not affect normal
systems.)
Makefile and Warpin installer changes.
Added /CPUMASK option for systems that cannot disable hyperthreading
in the BIOS.
Removed unneeded kernel patch (EOI).
Added a function to the toolkit API (PerpareToSleep).
3.20.04 - 22-Jul-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120620
Fixed a bug in APM.ADD related to sleep/wake.
Fixed a bug in powerdlg.exe
Cleaned up switch syntax to be consistent.
Documentation changes.
3.20.03 - 22-Jun-2012 - David Azarewicz
---------------------------------------
Updated to ACPICA version 20120518.
PowerManager updated to include suspend/resume support.
PowerManager updated to halt CPUs > 0 if overtemp.
Implemented idle time halt for SMP kernels. Using CPU throttling on SMP
kernels is now not recommended since it will increase power consumption.
Read the Power Manager documentation.
3.20.02 - 23-May-2012 - David Azarewicz
---------------------------------------
Reduced some memory requirements.
Implemented a test to only change link Irqs if necessary.
Changed to only assign Link Irqs if less than maximum allowed.
Some changes to debug output in debug version.
Some work was done on Suspend / Resume
Changed the interrupt out-of-range to be a non-fatal warning instead of a
fatal error.
Fixes for the MADT parser.
Documentation updates.
3.20.01 - 25-Mar-2012 - David Azarewicz
---------------------------------------
Updated the ACPICA to 5.0 version 20120215.
Fixed problem with Award ACPI and possibly other similar vendors.
Changes in 3.19.16 - Jul-2011 - David Azarewicz
-----------------------------------------------
Updated the ACPICA to version 20110623.
Implemented a workaround in AcpiDaemon to ignore defective SLPB devices.
Note that this workaround just ignores the events generated by defective
SLPB devices, but the events still happen. If AcpiDaemon logging is
enabled these events will still be logged at the rate of about 1 every
2 seconds and the logfile could fill up your disk.
Documentation updates
Warpin installer improvements and fixes.
3.19.15 - David Azarewicz
-------------------------
Changed PCI bus scan to scan all busses even if bridges are not found for
those busses.
Rewrote the ACPI root bridge detection routine to properly handle systems
with multiple root bridges.
Fixed the ACPI device tree walk routine to better accomodate variations
in different vendor's ACPI tables.
Fixed a trap due to a spurious interrupt on some Multi-CPU systems when
running in Mode 1.
Added a feature to the Power Manager to turn off (halt) CPUs when the
system is idle.
Fixed more bugs in APM.ADD.
Changed some debug output.
Reworked the routines for debug video output.
Added bldlevel string to AcpiDaemon.exe
Changed the version of APM.ADD to match the PSD.
Added an OverTempPower setting to the power manager in AcpiDaemon.
Changed to only override _OS_ if /OS= is specified on the command line.
Documentation updates. Added Power Manager documentation.
Warpin Installer fixes.
3.19.14 - David Azarewicz
-------------------------
Fixed an error in Local APIC ID assignment for multi-processor systems.
Documentation updates.
3.19.13 - David Azarewicz
-------------------------
DLL code cleanup and fix memory leak.
Rearranged some functions in DLL to try to workaround a long time existing
problem in the xworkplace/ecenter enhanced shutdown power off (page not
present problem). Even with this workaround, the xworkplace/ecenter
enhanced shutdown is still broken and the power off function may still not
work in some cases until xworkplace/ecenter gets fixed.
Some work on suspend/resume. It might work, but it is still not finished.
Some changes to acpid.cfg. See new acpid.cfg.sample.
Documentation updates.
There are still a few known problems on a few remaining oddball systems.
These problems are still being worked on. However, with this version,
this PSD should work well on over 90% of all systems. For now, beware
of Acer equipment, some Dell equipment, and systems like the IBM xSeries
servers.
3.19.12 - David Azarewicz
-------------------------
Fix for defective old AMD/VIA APICs or BIOS.
The PSD now checks and reassigns APIC IDs if needed.
/BAUD=n switch added for debug output
Some changes to acpid.cfg. See new acpid.cfg.sample.
Assign interrupts to all devices even if the BIOS says they are disabled.
Fixup enable bits for all devices (Fixes some systems with a defective BIOS like Acer)
The PSD may now modify the PCI configuration in all modes including modes 0 and 1.
Some work on suspend/resume. It is still not working.
APM.ADD may have problems. Use it at your own risk.
3.19.11 - David Azarewicz
-------------------------
Fixed ACPI memory allocation and mutex helper routines.
Major changes to the embedded controller code. Communication with the embedded
controller now works correctly.
Major changes to event handling code.
Documentation was updated.
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
Suspend/resume is known to be broken.
3.19.10 - David Azarewicz
-------------------------
Fixed interrupt routing for link based systems.
Minor changes to interrupt startup code including: changed the trigger type for
interrupt 8, masked interrupt 2 in Symmetric mode.
Removed temporary /NV switch. NVidia systems now work properly. The NVidia
chipset was never actually the problem. It was the BIOS.
Added temporary /TEST switch. This switch should only be used at the request
of the developer.
Documentation was updated
There is still much work to be done in APM.ADD and AcpiDeamon.exe so these
modules may not work correctly yet.
3.19.09 - David Azarewicz
-------------------------
Fixed a bug in APM.ADD that could cause a trap on startup.
Changed some debug output.
Temporarily added /NV switch for debugging NVidia hardware.
3.19.08 - David Azarewicz
-------------------------
Interrupts for unused PCI devices are now disabled.
Acpi startup reorganized, again.
3.19.07 - David Azarewicz
-------------------------
Acpi startup reorganized.
PCI configuration testing
APM.ADD now accepts /DBGLVL=n switch, default=0
3.19.06 - David Azarewicz
-------------------------
Acpi interrupt setup fixed.
PCI configuration fixes.
/FS switch removed
3.19.05 - David Azarewicz
-------------------------
update.cmd was added to make updating a system easier and less error prone
to typos.
Documentation was updated.
3.19.04 - David Azarewicz
-------------------------
The PSD now properly detects the initial interrupt configuration as setup by
the BIOS so that the transition to eCS works properly (or at least better).
The PCI configuration logic has been cleaned up and rewritten. It is better
now but not complete yet.
Several of the toolkit functions have been fixed.
Powerdlg.exe was added to the source tree and the distribution.
3.19.03 - David Azarewicz
-------------------------
More work on interrupt mode setup. The PSD now detects APIC versions and
configures itself appropriately. If IOAPICs are detected older than version
0x20 the PSD will not use them and therefore will not run in Symmetric Mode.
These APICs have problems handling EOI. A workaround may be implemented in
the future.
The resume code for interrupts has been cleaned up.
The shutdown code was cleaned up.
The AcpiDaemon.exe has been reorganized to be more flexible with different
types of functions such as PowerMan. The format of acpid.cfg has changed.
See the new acpid.cfg.sample for the new format.
Powerman is now integrated into acpidaemon.exe. You can still run powerman.exe
if you do not run acpidaemon.exe, but they will not both run at the same time.
The throttling algorithm has been improved. PowerMan configuration is now
integrated into acpid.cfg. The standalone powerman.exe is not supported
anymore. A new powerdlg.exe is available to talk to the new integrated powerman
and write the new config format. Old versions of powerdlg.exe will not work
with the new integrated powerman and may cause problems if used.
The vpic.sys driver has been removed from the ACPI package. It may or may not
be put back in the future. Do not use any version of vpic.sys from previous
ACPI distributions. You may use the IBM version of this driver.
3.19.02 - David Azarewicz
-------------------------
The interrupt handling and setup code in the PSD has been mostly rewritten.
It works differently than previous versions of ACPI.PSD. The documentation
has been updated to reflect the differences. Read it.
The most significant change is that the PSD now starts the system in Symmetric
Mode (formerly known as APIC mode). This means that all drivers can be assigned
one interrupt that they can use forever. The nightmare of switching interrupts
part way through the bootup is now not necessary. Drivers also do not need to
be "ACPI aware" in that they do not need to call the PSD to find their
interrupt.
Because of the changes, this PSD is more efficient and may cause your system
to operate faster. This may expose existing problems in other places. This
does NOT mean that the PSD is broken! These problems in other places were
already there and a faster system can uncover them or make them occur more
often. For example, there is a known existing problem starting the pmshell
due to a problem in doscall1.dll. The doscall1.dll problem can cause a Trap D,
a Trap E, or a hang. This problem in doscall1.dll has always been there and
is not related to anything in the PSD. It can occur randomly when booting a
multiprocessor system. Increased system speed makes the problem more likely.
Single processor systems appear to not be affected. Again, this problem is
NOT a problem with the PSD. A solution to the doscall1.dll problem is being
investigated separately.
3.19 and previous - eCo Software
--------------------------------
The ACPI project was originally created and maintained from 2005 through
2009 by eCo Software. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.10 (10/9/2018, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
Change Log
==========
3.23.10 - 01-Sep-2018 - David Azarewicz
Minor change to PCI setup to not disable unassigned interrupts. This change
prevents certain non-fatal errors from occurring during boot on some systems
with certain BIOS defects. This may speed up booting slightly on those systems.
Enhanced Daemon Power Manager to check for interference from external programs.
This change ensures that the ACPI Daemon maintains control of enabling and
disabling CPUS for power management even if other applications attempt to
override it.
Changed to only enable needed GPEs. This means that only events needed by the
PSD are enabled. Previously all events were enabled by default. This change
will allow certain systems with certain BIOS problems to boot and run normally.
Implemented fix for IPI timeout problem. This addresses intermittent hangs
on some multi-CPU systems with a CPU clock greater than 3 Ghz.
Updated to ACPICA 20180810. See https://acpica.org/ for details.
This is an important update that should be installed by everyone. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.09 (13/5/2018, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
Change Log
==========
3.23.09 - 02-May-2018 - David Azarewicz
Updated to ACPICA 20180209. See https://acpica.org/ for details.
Updated to ACPICA 20180313. See https://acpica.org/ for details.
Modified ACPI parser in PCI configuration to ignore duplicate device IDs.
Enhanced PCI setup to fix some more minor BIOS errors.
Updated to ACPICA 20180427. See https://acpica.org/ for details. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.08 (21/2/2018, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
Change Log
==========
3.23.08 - 07-Jan-2018 - David Azarewicz
* - Updated to ACPICA 20171110. See https://acpica.org/ for details.
* - Updated to ACPICA 20180105. See https://acpica.org/ for details.
* - Added KillProc IOCtl.
* - Added experimental /NOACPI option |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.07 (7/9/2017, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
Change Log
==========
3.23.07 - 20-Aug-2017 - David Azarewicz
New kernel patch to fix a defect in PhysToVirt in all SMP kernels.
Updated to ACPICA 20170728. See https://acpica.org/ for details. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.06 (16/7/2017, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
Change Log
==========
3.23.06 - 16-Jul-2017 - David Azarewicz
Updated to ACPICA 20170303. See https://acpica.org/ for details.
Updated to ACPICA 20170629. See https://acpica.org/ for details.
Fixed a problem handling interrupts > 47
Implemented limited MSI support.
Added /NOMSI switch.
Enhanced kernel detection due to problems with older kernels.
NOTE: This version will limit the number of interrupts to 32 for
older kernels to avoid possible kernel traps. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Driver ACPI v. 3.23.05 (30/12/2016, Arca Noae LLC, David Azarewicz) |
Readme/What's new |
3.23.05 - 30-Dec-2016 - David Azarewicz
Updated to ACPICA 20161117. See https://acpica.org/ for details.
Updated to ACPICA 20161222. See https://acpica.org/ for details.
Updated to ACPICA 20170119. See https://acpica.org/ for details.
Reorganized and cleaned up much of the old code in order to implement some
new features. |
ecsoft2.org/os2-ecs-drivers-and-software-package |
|
Add new comment