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_info.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xen.trc-ioreq_server_get_info.patch of Package xen
From: Olaf Hering <olaf@aepfle.de> Date: Thu, 15 Jun 2023 08:43:09 +0000 Subject: trc ioreq_server_get_info 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 @@ -905,61 +905,68 @@ static int ioreq_server_destroy(struct domain *d, ioservid_t id) rspin_unlock(&d->ioreq_server.lock); return rc; } static int ioreq_server_get_info(struct domain *d, ioservid_t id, unsigned long *ioreq_gfn, unsigned long *bufioreq_gfn, evtchn_port_t *bufioreq_port) { struct ioreq_server *s; int rc; + trc_ioreq_server_get_info_t trc = { + .d = d->domain_id, + .id = id, + }; rspin_lock(&d->ioreq_server.lock); s = get_ioreq_server(d, id); rc = -ENOENT; if ( !s ) goto out; rc = -EPERM; if ( s->emulator != current->domain ) goto out; if ( ioreq_gfn || bufioreq_gfn ) { rc = arch_ioreq_server_map_pages(s); if ( rc ) goto out; } if ( ioreq_gfn ) + trc.gfn = *ioreq_gfn = gfn_x(s->ioreq.gfn); if ( HANDLE_BUFIOREQ(s) ) { if ( bufioreq_gfn ) *bufioreq_gfn = gfn_x(s->bufioreq.gfn); if ( bufioreq_port ) *bufioreq_port = s->bufioreq_evtchn; } rc = 0; out: 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; ASSERT(is_hvm_domain(d)); rspin_lock(&d->ioreq_server.lock);
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