|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v8 15/16] libxl/arm: Initialize domain param HVM_PARAM_CALLBACK_IRQ
The guest kernel will get the event channel interrupt information via
domain param HVM_PARAM_CALLBACK_IRQ. Initialize it here.
Signed-off-by: Shannon Zhao <shannon.zhao@xxxxxxxxxx>
Acked-by: Julien Grall <julien.grall@xxxxxxx>
Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
tools/libxl/libxl_arm.c | 14 ++++++++++++++
tools/libxl/libxl_internal.h | 3 +++
2 files changed, 17 insertions(+)
diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c
index 376307e..5f5ff03 100644
--- a/tools/libxl/libxl_arm.c
+++ b/tools/libxl/libxl_arm.c
@@ -900,8 +900,22 @@ int libxl__arch_domain_init_hw_description(libxl__gc *gc,
struct xc_dom_image *dom)
{
int rc;
+ uint64_t val;
assert(info->type == LIBXL_DOMAIN_TYPE_PV);
+
+ /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ. */
+ val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
+ HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
+ /* Active-low level-sensitive */
+ val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
+ HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
+ val |= GUEST_EVTCHN_PPI;
+ rc = xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_CALLBACK_IRQ,
+ val);
+ if (rc)
+ return rc;
+
rc = libxl__prepare_dtb(gc, info, state, dom);
if (rc) goto out;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index f1ba473..cb6d9e0 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -128,6 +128,9 @@
#define ROUNDUP(_val, _order) \
(((unsigned long)(_val)+(1UL<<(_order))-1) & ~((1UL<<(_order))-1))
+#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
+#define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
+
#define min(X, Y) ({ \
const typeof (X) _x = (X); \
const typeof (Y) _y = (Y); \
--
2.10.0.windows.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |