It turns out modifying code is not needed at all. The only thing that is needed is to configure SeaBIOS with CONFIG_ATA_DMA=y.
So the steps needed to make QNX 4 work on current QEMU are 1. Download SeaBIOS source and make sure the configuration has CONFIG_ATA_DMA=y set 2. Build SeaBIOS 3. Run qemu such as "qemu-system-i386 -bios /path/to/seabios/bios.bin -hda qnxdisk ..." -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1191326 Title: QNX 4 doesn't boot on qemu >= 1.3 Status in QEMU: Confirmed Bug description: I am using virtual machine with QNX4 operating system installed on it. I updated my qemu from version to newer and QNX4 doesn't start any more. All is ok on version 1.2 but when I try to use any newer version (1.3, 1.4, 1.5) QNX4 doesn't boot. I tried on windows and linux ubuntu hosts - effects are the same. When virtual machine boots qnx bootloader loads and starts operating system. In the next step qnx starts its ide driver, which detects qemu harddisk and cdrom. Problem starts when operating system tries mount partition - an error occur and qnx stop booting procedure: mount -p "No bios signature in partition sector on /dev/hd0" I have tried install qnx from cdrom but it seems that there is the same problem. QNX installer boot from cdrom, detects hard disk and cdrom, but cdrom can't be mounted in the next step of installation procedure. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1191326/+subscriptions