xworkplace fix for shutdown on SMP/ACPI systems ------------------------------------------------------------------------------ Author: Andreas Buchinger Last update: 20120508 Some systems with ACPI installed suffer from xworkplace shutdown problems. Older ACPI versions have different problems but current 3.20.01 build seems to be on a rather good level. If you have shutdown problems then - 1) ensure you've the lastest acpi 3.20.01 or later installed (check with bldlevel x:\os2\boot\ACPI.PSD) 2) follow the suggestions on http://svn.netlabs.org/acpi/wiki/KnownProblems mentioned under Power Off. Forget the statement that this is fixed in latest xwp, it is not. Try 'acpistat poweroff' 3) if 2) works but shutdown from xwp dialog does not ensure you've installed latest xwp 1.0.9 4) if you've followed all above and xwp shutdown still does not work then find xfldr.dll on your system unlock and replace it with the version in this package. You do not need to copy xfldr.sym or xfdr.map 5) DON'T MISS THIS POINT AS THIS IS ABSOLUTELY NECESSARY FOR LEGAL USE OF THIS PACKAGE - report your findings on xwp user or xwp devel list or at least via email to andi.os2.software@gmx.net You are not allowed to use this dll without observing all of the above requirements especially 5). I'm no longer motivated to spend my spare time supporting the OS/2 - eCS community without even get a short feedback. The standard xwp Licence and disclaimer applies to this dll. Background information ---------------------- Shuting down systems running ACPI does not work reliable with old ACPI versions. With 3.20.01 shutdown now should work in ACPI. You can test ACPI shutdown with 'acpistat powerdown' command. Close all running applications before! But ACPI is only one part in the shutdown game. In order do shut down a system from the xwp shutdown dialog proper code has to be added to xwp too. F.i. before xwp locks the file system (switches file system off) it must be assuered that acpi shutdown code is loaded into memory by the kernel. Moreover all cpu cores except one have to be switched off. There are several ways to accomplish this. For backward compatibilty reasons it's easiest to implement this code directly into xwp rather than create a new ACPI API (which have to be called by xwp in a proper way too btw. so would need a newer xwp and a newer ACPI). As the current xwp code maintainer does not understand the need of some of the code and moreover he does not even have a SMP system to test and so he does not suffer by himself of this problem, he doesn't want to add the needed code into the official xwp cvs. The included xfldr.dll contains the needed code as found in the acpi toolkit. It works on the two systems I know which does not work with official xwp1.0.9 and should work on every other system too.