Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:olh:xen-unstable
xen
xen.trc-ioreq_server_get_frame.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xen.trc-ioreq_server_get_frame.patch of Package xen
From: Olaf Hering <olaf@aepfle.de> Date: Thu, 15 Jun 2023 08:43:13 +0000 Subject: trc ioreq_server_get_frame Signed-off-by: Olaf Hering <olaf@aepfle.de> --- xen/common/ioreq.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/xen/common/ioreq.c +++ b/xen/common/ioreq.c @@ -957,24 +957,28 @@ static int ioreq_server_get_info(struct domain *d, ioservid_t id, rspin_unlock(&d->ioreq_server.lock); trc.s = TRC_ePTR(s); TRACE_trc(TRC_IOREQ_ioreq_server_get_info); return rc; } int ioreq_server_get_frame(struct domain *d, ioservid_t id, unsigned int idx, mfn_t *mfn) { struct ioreq_server *s; int rc; + trc_ioreq_server_get_frame_t trc = { + .d = d->domain_id, + .id = id, + }; ASSERT(is_hvm_domain(d)); rspin_lock(&d->ioreq_server.lock); s = get_ioreq_server(d, id); rc = -ENOENT; if ( !s ) goto out; rc = -EPERM; @@ -984,40 +988,43 @@ int ioreq_server_get_frame(struct domain *d, ioservid_t id, rc = ioreq_server_alloc_pages(s); if ( rc ) goto out; switch ( idx ) { case XENMEM_resource_ioreq_server_frame_bufioreq: rc = -ENOENT; if ( !HANDLE_BUFIOREQ(s) ) goto out; *mfn = page_to_mfn(s->bufioreq.page); + trc.gfn = mfn_x(*mfn); rc = 0; break; case XENMEM_resource_ioreq_server_frame_ioreq(0): *mfn = page_to_mfn(s->ioreq.page); + trc.gfn = mfn_x(*mfn); rc = 0; break; default: rc = -EINVAL; break; } out: rspin_unlock(&d->ioreq_server.lock); + TRACE_trc(TRC_IOREQ_ioreq_server_get_frame); return rc; } static int ioreq_server_map_io_range(struct domain *d, ioservid_t id, uint32_t type, uint64_t start, uint64_t end) { struct ioreq_server *s; struct rangeset *r; int rc; if ( start > end )
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor