Function set_global_virq_handler() is reponsible for
XEN_DOMCTL_set_virq_handler domctl-op, and shall be wrapped with
CONFIG_MGMT_HYPERCALLS.
Wrap XEN_DOMCTL_set_virq_handler-case transiently with CONFIG_MGMT_HYPERCALLS,
and it will be removed when introducing CONFIG_MGMT_HYPERCALLS on the
common/domctl.c in the last.

Signed-off-by: Penny Zheng <penny.zh...@amd.com>
---
v1 -> v2:
- adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS"
- wrap XEN_DOMCTL_set_virq_handler-case transiently
---
 xen/common/domctl.c        | 2 ++
 xen/common/event_channel.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 776bf7b8e2..736ad52265 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -808,9 +808,11 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) 
u_domctl)
         break;
 #endif
 
+#ifdef CONFIG_MGMT_HYPERCALLS
     case XEN_DOMCTL_set_virq_handler:
         ret = set_global_virq_handler(d, op->u.set_virq_handler.virq);
         break;
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
     case XEN_DOMCTL_setvnumainfo:
     {
diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 67700b050a..bb53dc1fb0 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -1006,6 +1006,7 @@ void send_global_virq(uint32_t virq)
     send_guest_domain_virq(get_global_virq_handler(virq), virq);
 }
 
+#ifdef CONFIG_MGMT_HYPERCALLS
 int set_global_virq_handler(struct domain *d, uint32_t virq)
 {
     struct domain *old, *hdl;
@@ -1068,6 +1069,7 @@ int set_global_virq_handler(struct domain *d, uint32_t 
virq)
 
     return rc;
 }
+#endif /* CONFIG_MGMT_HYPERCALLS */
 
 static void clear_global_virq_handlers(struct domain *d)
 {
-- 
2.34.1


Reply via email to