diff options
author | Shannon Zhao <shannon.zhao@linaro.org> | 2016-04-07 08:03:26 -0400 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2016-07-06 05:34:44 -0400 |
commit | 383ff518a79fe3dcece579b9d30be77b219d10f8 (patch) | |
tree | c3f8bd4e8c9281d5207ef6cce8a88a7434b80b5e /include/xen | |
parent | b6f0bcc23fa9cb32752cbf263d4014a21f132f92 (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.h | 13 |
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 |