[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC 14/14] xen: tools: Added xen-subpage tool.
On 2017-10-19 at 11:42:17 +0300, Razvan Cojocaru wrote: > > +#include <errno.h> > > +#include <inttypes.h> > > +#include <stdlib.h> > > +#include <stdarg.h> > > +#include <stdbool.h> > > +#include <string.h> > > +#include <time.h> > > +#include <signal.h> > > +#include <unistd.h> > > +#include <sys/mman.h> > > +#include <poll.h> > > + > > +#include <xenctrl.h> > > + > > +#define DPRINTF(a, b...) fprintf(stderr, a, ## b) > > +#define ERROR(a, b...) fprintf(stderr, a "\n", ## b) > > +#define PERROR(a, b...) fprintf(stderr, a ": %s\n", ## b, strerror(errno)) > > + > > +void usage(char* progname) > > +{ > > + fprintf(stderr, "Usage: %s [-m] <domain_id> get|set [gfn] [bit_map]", > > progname); > > + > > + fprintf(stderr, > > + "\n" > > + "set - set gfn bitmap.\n" > > + "\n" > > + "-m requires this program to run\n"); > > +} > > + > > +int main(int argc, char *argv[]) > > +{ > > + domid_t domain_id; > > + xc_interface *xch; > > + xen_pfn_t gfn = 0; > > + uint32_t access = 0; > > + int required = 0; > > + int rc = 0; > > + > > + char* progname = argv[0]; > > + argv++; > > + argc--; > > + > > + if ( argc == 5 && argv[0][0] == '-' ) > > + { > > + if ( !strcmp(argv[0], "-m") ) > > + required = 1; > > + else > > + { > > + usage(progname); > > + return -1; > > + } > > + argv++; > > + argc--; > > + } > > + > > + if ( argc != 4 ) > > + { > > + usage(progname); > > + return -1; > > + } > > + > > + domain_id = atoi(argv[0]); > > + argv++; > > + argc--; > > + > > + if ( !strcmp(argv[0], "set") ) > > + { > > + gfn = strtoul(argv[1], 0, 0); > > + access = strtoul(argv[2], 0, 0); > > + DPRINTF("set subpage gfn:0x%lx -- map:0x%x\n", gfn, access); > > + xch = xc_interface_open(NULL, NULL, 0); > > + if ( !xch ) > > + { > > + ERROR("get interface error\n"); > > + return -1; > > + } > > + xc_mem_set_subpage(xch, domain_id, gfn, access); > > + xc_interface_close(xch); > > + } > > + else > > + { > > + usage(argv[0]); > > + return -1; > > + } > > + > > + return rc; > > +} > > As far as I understand, this example just calls the new hypercall and exits. > > Should there be another vm_event-subscribed application that will be > affected by the changes? If so, doesn't this rather belong in the > xen-access.c test? There will not be other related app on domain0 at that time, the hypercall will prepare everything we need. We will run a write test on a HVM guest, it will tell us if a sub page will be write-protected or not. > > Also, no explanation is given in comments in the source code or the > displayed help for useful values of the access parameter, and what it > stands for. Yes, Thanks Rezvan, will add some explanation. > > > Thanks, > Razvan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |