File xen.trc-ioreq_send_buffered.patch of Package xen
From: Olaf Hering <olaf@aepfle.de>
Date: Thu, 15 Jun 2023 08:43:36 +0000
Subject: trc ioreq_send_buffered
Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
xen/common/ioreq.c | 9 +++++++++
1 file changed, 9 insertions(+)
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -1392,24 +1392,33 @@ out:
static int ioreq_send_buffered(struct ioreq_server *s, ioreq_t *p)
{
struct domain *d = current->domain;
struct ioreq_page *iorp;
buffered_iopage_t *pg;
buf_ioreq_t bp = { .data = p->data,
.addr = p->addr,
.type = p->type,
.dir = p->dir };
/* Timeoffset sends 64b data, but no address. Use two consecutive slots. */
int qw = 0;
+ trc_ioreq_send_buffered_t trc = {
+ .d = d->domain_id,
+ .data = p->data,
+ .addr = p->addr,
+ .type = p->type,
+ .size = p->size,
+ .dir = p->dir,
+ };
+ TRACE_trc(TRC_IOREQ_ioreq_send_buffered);
/* Ensure buffered_iopage fits in a page */
BUILD_BUG_ON(sizeof(buffered_iopage_t) > PAGE_SIZE);
iorp = &s->bufioreq;
pg = iorp->va;
if ( !pg )
return IOREQ_STATUS_UNHANDLED;
/*
* Return UNHANDLED for the cases we can't deal with: