summaryrefslogtreecommitdiffstats
path: root/include/xen
diff options
context:
space:
mode:
authorShannon Zhao <shannon.zhao@linaro.org>2016-04-07 08:03:26 -0400
committerDavid Vrabel <david.vrabel@citrix.com>2016-07-06 05:34:44 -0400
commit383ff518a79fe3dcece579b9d30be77b219d10f8 (patch)
treec3f8bd4e8c9281d5207ef6cce8a88a7434b80b5e /include/xen
parentb6f0bcc23fa9cb32752cbf263d4014a21f132f92 (diff)
xen/hvm/params: Add a new delivery type for event-channel in HVM_PARAM_CALLBACK_IRQ
This new delivery type which is for ARM shares the same value with HVM_PARAM_CALLBACK_TYPE_VECTOR which is for x86. val[15:8] is flag: val[7:0] is a PPI. To the flag, bit 8 stands the interrupt mode is edge(1) or level(0) and bit 9 stands the interrupt polarity is active low(1) or high(0). Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Reviewed-by: Julien Grall <julien.grall@arm.com> Tested-by: Julien Grall <julien.grall@arm.com>
Diffstat (limited to 'include/xen')
-rw-r--r--include/xen/interface/hvm/params.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/xen/interface/hvm/params.h b/include/xen/interface/hvm/params.h
index 70ad20834e13..4d61fc58d99d 100644
--- a/include/xen/interface/hvm/params.h
+++ b/include/xen/interface/hvm/params.h
@@ -47,11 +47,24 @@
47 * Domain = val[47:32], Bus = val[31:16] DevFn = val[15:8], IntX = val[1:0] 47 * Domain = val[47:32], Bus = val[31:16] DevFn = val[15:8], IntX = val[1:0]
48 */ 48 */
49 49
50#if defined(__i386__) || defined(__x86_64__)
50#define HVM_PARAM_CALLBACK_TYPE_VECTOR 2 51#define HVM_PARAM_CALLBACK_TYPE_VECTOR 2
51/* 52/*
52 * val[7:0] is a vector number. Check for XENFEAT_hvm_callback_vector to know 53 * val[7:0] is a vector number. Check for XENFEAT_hvm_callback_vector to know
53 * if this delivery method is available. 54 * if this delivery method is available.
54 */ 55 */
56#elif defined(__arm__) || defined(__aarch64__)
57#define HVM_PARAM_CALLBACK_TYPE_PPI 2
58/*
59 * val[55:16] needs to be zero.
60 * val[15:8] is interrupt flag of the PPI used by event-channel:
61 * bit 8: the PPI is edge(1) or level(0) triggered
62 * bit 9: the PPI is active low(1) or high(0)
63 * val[7:0] is a PPI number used by event-channel.
64 * This is only used by ARM/ARM64 and masking/eoi the interrupt associated to
65 * the notification is handled by the interrupt controller.
66 */
67#endif
55 68
56#define HVM_PARAM_STORE_PFN 1 69#define HVM_PARAM_STORE_PFN 1
57#define HVM_PARAM_STORE_EVTCHN 2 70#define HVM_PARAM_STORE_EVTCHN 2