Installation notes for Proc32 ver 4.25R.#


- added option -E0 and alternative PCI BIOS int 1Ah handler;


With option -E0 Proc32 uses an alternative PCI BIOS int 1Ah handler. Default handler calls PCI BIOS functions to handle requests from drivers and software to PCI devices (_CA_PCI_* functions calls). Alternative handler uses software implementation of PCI BIOS functions and works with PCI Configuration Space through 0xCF8/0xCFC IO Ports.

On some modern boards PCI BIOS implementation is not compatible with the Intel 386 protected mode. On such systems QNX4 drivers and software terminates with SIGSEGV on PCI BIOS functions calls. Alternative int 1Ah handler allows to walk around this PCI BIOS feature.

Detailed issue description and workaround


1. Unpack patch with updated Proc32 module:

# zcat QNX425-Proc32-20161101.tar.gz | tar x

2. Backup the existing Proc32. If you wish to keep a copy of the existing utility, you'll need to save them to a safe location first, to prevent them from being overwritten during installation.

# cp -vc /boot/sys/Proc32 /boot/sys/Proc32.`date +"%y%m%d_%H%M%S"`

3. Copy the updated Proc32 to the /boot/sys directory:

# cp Proc32 /boot/sys

4. Make sure that binaries are executable and that the file's owner and group are correct:

# chmod 755 /boot/sys/Proc32 # chown root:root /boot/sys/Proc32

5. Correct build file (if required).
If you want to use an alternative PCI BIOS int 1Ah handler, add option -E0 to Proc32. For example:

$ Proc32 -E0 -l1

6. Build new boot image

7. Replace .boot or .altboot with new boot image.