[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 1/4] xen: move physmap saving into a separate function
> -----Original Message----- > From: Igor Druzhinin > Sent: 04 July 2017 16:48 > To: xen-devel@xxxxxxxxxxxxxxxxxxxx; qemu-devel@xxxxxxxxxx > Cc: Igor Druzhinin <igor.druzhinin@xxxxxxxxxx>; sstabellini@xxxxxxxxxx; > Anthony Perard <anthony.perard@xxxxxxxxxx>; Paul Durrant > <Paul.Durrant@xxxxxxxxxx>; pbonzini@xxxxxxxxxx > Subject: [PATCH v2 1/4] xen: move physmap saving into a separate function > > Non-functional change. > > Signed-off-by: Igor Druzhinin <igor.druzhinin@xxxxxxxxxx> Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > hw/i386/xen/xen-hvm.c | 57 ++++++++++++++++++++++++++++------------ > ----------- > 1 file changed, 31 insertions(+), 26 deletions(-) > > diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c > index cffa7e2..d259cf7 100644 > --- a/hw/i386/xen/xen-hvm.c > +++ b/hw/i386/xen/xen-hvm.c > @@ -305,6 +305,36 @@ static hwaddr xen_phys_offset_to_gaddr(hwaddr > start_addr, > return start_addr; > } > > +static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap) > +{ > + char path[80], value[17]; > + > + snprintf(path, sizeof(path), > + "/local/domain/0/device- > model/%d/physmap/%"PRIx64"/start_addr", > + xen_domid, (uint64_t)physmap->phys_offset); > + snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap- > >start_addr); > + if (!xs_write(state->xenstore, 0, path, value, strlen(value))) { > + return -1; > + } > + snprintf(path, sizeof(path), > + "/local/domain/0/device-model/%d/physmap/%"PRIx64"/size", > + xen_domid, (uint64_t)physmap->phys_offset); > + snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->size); > + if (!xs_write(state->xenstore, 0, path, value, strlen(value))) { > + return -1; > + } > + if (physmap->name) { > + snprintf(path, sizeof(path), > + "/local/domain/0/device-model/%d/physmap/%"PRIx64"/name", > + xen_domid, (uint64_t)physmap->phys_offset); > + if (!xs_write(state->xenstore, 0, path, > + physmap->name, strlen(physmap->name))) { > + return -1; > + } > + } > + return 0; > +} > + > static int xen_add_to_physmap(XenIOState *state, > hwaddr start_addr, > ram_addr_t size, > @@ -316,7 +346,6 @@ static int xen_add_to_physmap(XenIOState *state, > XenPhysmap *physmap = NULL; > hwaddr pfn, start_gpfn; > hwaddr phys_offset = memory_region_get_ram_addr(mr); > - char path[80], value[17]; > const char *mr_name; > > if (get_physmapping(state, start_addr, size)) { > @@ -368,31 +397,7 @@ go_physmap: > start_addr >> TARGET_PAGE_BITS, > (start_addr + size - 1) >> > TARGET_PAGE_BITS, > XEN_DOMCTL_MEM_CACHEATTR_WB); > - > - snprintf(path, sizeof(path), > - "/local/domain/0/device- > model/%d/physmap/%"PRIx64"/start_addr", > - xen_domid, (uint64_t)phys_offset); > - snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)start_addr); > - if (!xs_write(state->xenstore, 0, path, value, strlen(value))) { > - return -1; > - } > - snprintf(path, sizeof(path), > - "/local/domain/0/device-model/%d/physmap/%"PRIx64"/size", > - xen_domid, (uint64_t)phys_offset); > - snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)size); > - if (!xs_write(state->xenstore, 0, path, value, strlen(value))) { > - return -1; > - } > - if (mr_name) { > - snprintf(path, sizeof(path), > - "/local/domain/0/device-model/%d/physmap/%"PRIx64"/name", > - xen_domid, (uint64_t)phys_offset); > - if (!xs_write(state->xenstore, 0, path, mr_name, strlen(mr_name))) { > - return -1; > - } > - } > - > - return 0; > + return xen_save_physmap(state, physmap); > } > > static int xen_remove_from_physmap(XenIOState *state, > -- > 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |