unsupported
Specify what the hypervisor should do if it can't successfully complete the emulation of a guest instruction
Synopsis:
unsupported instruction | reference | register abort | fail | ignore
Description:
Only one type-action pair can be used per unsupported option instance. Specify the option for each unsupported type you want to configure.
Types:
- instruction
- The hypervisor doesn't support emulation of the instruction. If unspecified, this defaults to fail.
- reference
- The instruction references a memory (or I/O port on x86) location to which the guest doesn't have access. If unspecified, this defaults to ignore.
- register
- The guest is attempting to use a system register (ARM) or MSR (x86) that the hypervisor doesn't support. If unspecified, this defaults to fail.
Actions:
- abort
- Display a message indicating the failure and guest state, then terminate the qvm process instance hosting the offending guest.
- fail
- Deliver an appropriate CPU exception to the offending guest.
- ignore
- Treat the instruction as a no-op, except in the case of guest attempts to
read from an unsupported memory or I/O port location, which sets the
destination of the instruction to all one bits (
~0
).
If the hypervisor encounters a condition of a type for which no action has been specified, the hypervisor uses its default action for that type.
Example:
The following configuration specifies that:
- if the guest hosted by the current VM attempts to use a register (ARM) or MSR (x86) that the hypervisor doesn't support, the hypervisor will terminate the qvm process hosting the guest
- if a guest instruction attempts to access a memory (or I/O port on x86) location, the hypervisor will deliver an appropriate CPU exception to the guest
unsupported register abort
unsupported reference fail
Note:
The configuration doesn't specify the instruction type, so the
hypervisor will use its default configuration, which for this type is
fail.
Page updated: