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:
