[PATCH 1/2] x86/domctl: Introduce XEN_DOMCTL_SENDTRIGGER_DEBUG

Tu Dinh <[email protected]>
Newsgroups org.xenproject.lists.xen-devel
Message-ID <1784539531.8631fc262581453bbf619ec5b2062170.19f7ed8472c000edb5@vates.tech>
VIRQ_DEBUG causes guests to print their diagnostic information.
Currently, the only way to send VIRQ_DEBUG to a domain is via the 'q'
debug key. This method indiscriminately sends VIRQ_DEBUG to all domains
and vcpus.

When debugging guests, it's useful to have a way to target a specific
domain with VIRQ_DEBUG. Add XEN_DOMCTL_SENDTRIGGER_DEBUG for this
purpose.

Signed-off-by: Tu Dinh <[email protected]>
---
 xen/arch/x86/domctl.c       | 5 +++++
 xen/include/public/domctl.h | 1 +
 2 files changed, 6 insertions(+)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 07f712a0a4..3b74ca1751 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -605,6 +605,11 @@ long arch_do_domctl(
             }
             break;
 
+        case XEN_DOMCTL_SENDTRIGGER_DEBUG:
+            ret = 0;
+            send_guest_vcpu_virq(v, VIRQ_DEBUG);
+            break;
+
         default:
             ret = -ENOSYS;
             break;
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 510300bb67..8362e4e8f5 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -541,6 +541,7 @@ struct xen_domctl_address_size {
 #define XEN_DOMCTL_SENDTRIGGER_INIT   2
 #define XEN_DOMCTL_SENDTRIGGER_POWER  3
 #define XEN_DOMCTL_SENDTRIGGER_SLEEP  4
+#define XEN_DOMCTL_SENDTRIGGER_DEBUG  5
 struct xen_domctl_sendtrigger {
     uint32_t  trigger;  /* IN */
     uint32_t  vcpu;     /* IN */
-- 
2.55.0



-- 
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.