|
@@ -3092,6 +3092,30 @@ of IOMMU pages.
|
|
|
|
|
|
The rest of functionality is identical to KVM_CREATE_SPAPR_TCE.
|
|
|
|
|
|
+4.98 KVM_REINJECT_CONTROL
|
|
|
+
|
|
|
+Capability: KVM_CAP_REINJECT_CONTROL
|
|
|
+Architectures: x86
|
|
|
+Type: vm ioctl
|
|
|
+Parameters: struct kvm_reinject_control (in)
|
|
|
+Returns: 0 on success,
|
|
|
+ -EFAULT if struct kvm_reinject_control cannot be read,
|
|
|
+ -ENXIO if KVM_CREATE_PIT or KVM_CREATE_PIT2 didn't succeed earlier.
|
|
|
+
|
|
|
+i8254 (PIT) has two modes, reinject and !reinject. The default is reinject,
|
|
|
+where KVM queues elapsed i8254 ticks and monitors completion of interrupt from
|
|
|
+vector(s) that i8254 injects. Reinject mode dequeues a tick and injects its
|
|
|
+interrupt whenever there isn't a pending interrupt from i8254.
|
|
|
+!reinject mode injects an interrupt as soon as a tick arrives.
|
|
|
+
|
|
|
+struct kvm_reinject_control {
|
|
|
+ __u8 pit_reinject;
|
|
|
+ __u8 reserved[31];
|
|
|
+};
|
|
|
+
|
|
|
+pit_reinject = 0 (!reinject mode) is recommended, unless running an old
|
|
|
+operating system that uses the PIT for timing (e.g. Linux 2.4.x).
|
|
|
+
|
|
|
5. The kvm_run structure
|
|
|
------------------------
|
|
|
|