Design safe states

The QNX hypervisor supports two design safe states (DSSs).

CAUTION:
Without adherence to the safety manual, there is no guarantee that the hypervisor will enter into one of its DSSs following an undefined condition in a VM or the hypervisor itself. If you are working with the QNX Hypervisor for Safety product, you must adhere to the safety manual. This adherence is not required if you are working with QNX Hypervisor, but your system could behave unpredictably following an undefined condition.
If an internal or external detection mechanism alerts the hypervisor of a condition it is not designed to handle in any other way, the hypervisor should do one of the following:
VM DSS (local DSS)
If an undefined condition is confined to a VM, the hypervisor terminates that qvm process instance (e.g., with a SIGSEGV signal). Terminating the hosting qvm process instance terminates its guest.

The hypervisor host continues to run normally after it terminates a qvm process instance. You can design your system to take appropriate action after moving a guest to its local DSS; for example, you can reconstruct the VM and reboot the guest.

Hypervisor host DSS (global DSS)
Since a QNX hypervisor comprises qvm integrated with the QNX OS microkernel, any abnormal conditions that cause the QNX OS microkernel to move to its DSS are viewed as causing the hypervisor to move to its global DSS. That is, if the undefined condition isn't confined to a VM, the hypervisor shuts down.
Warning:
The hypervisor host kernel initiates a shutdown sequence on the CPU where the undefined condition is found. The last thing the kernel's shutdown sequence does is to trigger the kernel reboot callout, which must be provided in the BSP. This callout must ensure that it places the entire system in a safe state. Typically, this means rebooting the system, which will reset all processors and peripherals.
Page updated: