Design Safe States

The QNX Hypervisor supports two Design Safe States (DSSs).

CAUTION:
When you are running the non-safety QNX Hypervisor variant and not adhering 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 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 the 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: