diff options
author | Anup Patel <anup.patel@linaro.org> | 2014-04-29 01:54:19 -0400 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2014-04-30 07:18:58 -0400 |
commit | 8ad6b634928a25971dc42dce101808b1491f87ec (patch) | |
tree | 0e8c905e1ab70406d5dd2cf4b2edd531eee97db6 /Documentation/virtual | |
parent | e8e7fcc5e2710b31ef842ee799db99c07986c364 (diff) |
KVM: Add KVM_EXIT_SYSTEM_EVENT to user space API header
Currently, we don't have an exit reason to notify user space about
a system-level event (for e.g. system reset or shutdown) triggered
by the VCPU. This patch adds exit reason KVM_EXIT_SYSTEM_EVENT for
this purpose. We can also inform user space about the 'type' and
architecture specific 'flags' of a system-level event using the
kvm_run structure.
This newly added KVM_EXIT_SYSTEM_EVENT will be used by KVM ARM/ARM64
in-kernel PSCI v0.2 support to reset/shutdown VMs.
Signed-off-by: Anup Patel <anup.patel@linaro.org>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'Documentation/virtual')
-rw-r--r-- | Documentation/virtual/kvm/api.txt | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index 556d056a9bcd..6a5de5643e0b 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt | |||
@@ -2740,6 +2740,21 @@ It gets triggered whenever both KVM_CAP_PPC_EPR are enabled and an | |||
2740 | external interrupt has just been delivered into the guest. User space | 2740 | external interrupt has just been delivered into the guest. User space |
2741 | should put the acknowledged interrupt vector into the 'epr' field. | 2741 | should put the acknowledged interrupt vector into the 'epr' field. |
2742 | 2742 | ||
2743 | /* KVM_EXIT_SYSTEM_EVENT */ | ||
2744 | struct { | ||
2745 | #define KVM_SYSTEM_EVENT_SHUTDOWN 1 | ||
2746 | #define KVM_SYSTEM_EVENT_RESET 2 | ||
2747 | __u32 type; | ||
2748 | __u64 flags; | ||
2749 | } system_event; | ||
2750 | |||
2751 | If exit_reason is KVM_EXIT_SYSTEM_EVENT then the vcpu has triggered | ||
2752 | a system-level event using some architecture specific mechanism (hypercall | ||
2753 | or some special instruction). In case of ARM/ARM64, this is triggered using | ||
2754 | HVC instruction based PSCI call from the vcpu. The 'type' field describes | ||
2755 | the system-level event type. The 'flags' field describes architecture | ||
2756 | specific flags for the system-level event. | ||
2757 | |||
2743 | /* Fix the size of the union. */ | 2758 | /* Fix the size of the union. */ |
2744 | char padding[256]; | 2759 | char padding[256]; |
2745 | }; | 2760 | }; |