Skip to content

Instantly share code, notes, and snippets.

@marmarek
Last active June 4, 2020 01:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marmarek/dc739a820928e641a1ed6b4759cdf6f3 to your computer and use it in GitHub Desktop.
Save marmarek/dc739a820928e641a1ed6b4759cdf6f3 to your computer and use it in GitHub Desktop.
diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
index d6d0e8be89..6b15b805f8 100644
--- a/xen/arch/x86/hvm/dm.c
+++ b/xen/arch/x86/hvm/dm.c
@@ -647,6 +647,8 @@ static int dm_op(const struct dmop_args *op_args)
const struct xen_dm_op_remote_shutdown *data =
&op.u.remote_shutdown;
+ gprintk(XENLOG_DEBUG, "XEN_DMOP_remote_shutdown domain %d reason %d\n",
+ d->domain_id, data->reason);
domain_shutdown(d, data->reason);
rc = 0;
break;
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index a5b0a23f06..991bcc8972 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -140,6 +140,11 @@ bool handle_pio(uint16_t port, unsigned int size, int dir)
if ( dir == IOREQ_WRITE )
data = guest_cpu_user_regs()->eax;
+ if (port == 0xb004)
+ gprintk(XENLOG_DEBUG, "handle_pio port %#x %s 0x%0*lx\n",
+ port,
+ dir == IOREQ_WRITE ? "write" : "read",
+ size*2, (dir == IOREQ_WRITE?data:0) & ((1ul << (size * 8)) - 1));
rc = hvmemul_do_pio_buffer(port, size, dir, &data);
if ( hvm_ioreq_needs_completion(&vio->io_req) )
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 03d0226039..fcd01b234c 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -581,9 +581,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
break;
case XEN_DOMCTL_destroydomain:
+ gprintk(XENLOG_DEBUG, "XEN_DOMCTL_destroydomain domain %d\n",
+ d->domain_id);
domctl_lock_release();
domain_lock(d);
+ gprintk(XENLOG_DEBUG, "XEN_DOMCTL_destroydomain domain %d got domain_lock\n",
+ d->domain_id);
ret = domain_kill(d);
+ gprintk(XENLOG_DEBUG, "XEN_DOMCTL_destroydomain domain %d ret %ld\n",
+ d->domain_id, ret);
domain_unlock(d);
if ( ret == -ERESTART )
ret = hypercall_create_continuation(
diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index 54a07ff9e8..7b43d9bcd4 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -1637,6 +1637,8 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
if ( copy_from_guest(&sched_shutdown, arg, 1) )
break;
+ gprintk(XENLOG_DEBUG, "SCHEDOP_shutdown vcpu_id %d reason %d\n",
+ current->vcpu_id, sched_shutdown.reason);
TRACE_3D(TRC_SCHED_SHUTDOWN,
current->domain->domain_id, current->vcpu_id,
sched_shutdown.reason);
@@ -1654,6 +1656,8 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
if ( copy_from_guest(&sched_shutdown, arg, 1) )
break;
+ gprintk(XENLOG_DEBUG, "SCHEDOP_shutdown_code vcpu_id %d reason %d\n",
+ current->vcpu_id, sched_shutdown.reason);
TRACE_3D(TRC_SCHED_SHUTDOWN_CODE,
d->domain_id, current->vcpu_id, sched_shutdown.reason);
@@ -1693,6 +1697,8 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
if ( d == NULL )
break;
+ gprintk(XENLOG_DEBUG, "SCHEDOP_remote_shutdown domain %d reason %d\n",
+ d->domain_id, sched_remote_shutdown.reason);
ret = xsm_schedop_shutdown(XSM_DM_PRIV, current->domain, d);
if ( likely(!ret) )
domain_shutdown(d, sched_remote_shutdown.reason);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment