[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 7/9] ioreq-server: remove p2m entries when server is enabled
>>> On 01.05.14 at 14:08, <paul.durrant@xxxxxxxxxx> wrote: > +static int hvm_add_ioreq_gmfn( > + struct domain *d, struct hvm_ioreq_page *iorp) > +{ > + return guest_physmap_add_page(d, iorp->gmfn, > + page_to_mfn(iorp->page), 0); What if the guest meanwhile put something else at that address? Or is the address range protected by some means (e.g. marked reserved in the E820 map)? > + case HVMOP_set_ioreq_server_state: > + rc = hvmop_set_ioreq_server_state( > + guest_handle_cast(arg, xen_hvm_set_ioreq_server_state_t)); > + break; Again no XSM operation here or in the called function? > @@ -68,6 +68,7 @@ struct hvm_ioreq_server { > spinlock_t bufioreq_lock; > evtchn_port_t bufioreq_evtchn; > struct rangeset *range[MAX_IO_RANGE_TYPE]; > + bool_t enabled; > }; Is there no 1-byte hole anywhere in the structure where this could be put in a more efficient manner? > --- a/xen/include/public/hvm/hvm_op.h > +++ b/xen/include/public/hvm/hvm_op.h > @@ -340,6 +340,22 @@ struct xen_hvm_destroy_ioreq_server { > typedef struct xen_hvm_destroy_ioreq_server xen_hvm_destroy_ioreq_server_t; > DEFINE_XEN_GUEST_HANDLE(xen_hvm_destroy_ioreq_server_t); > > +/* > + * HVMOP_set_ioreq_server_state: Enable or disable the IOREQ Server <id> > servicing > + * domain <domid>. > + * > + * The IOREQ Server will not be passed any emulation requests until it is in > the > + * enabled state. > + */ > +#define HVMOP_set_ioreq_server_state 22 > +struct xen_hvm_set_ioreq_server_state { > + domid_t domid; /* IN - domain to be serviced */ > + ioservid_t id; /* IN - server id */ > + uint8_t enabled; /* IN - enabled? */ > +}; > +typedef struct xen_hvm_set_ioreq_server_state > xen_hvm_set_ioreq_server_state_t; > +DEFINE_XEN_GUEST_HANDLE(xen_hvm_set_ioreq_server_state_t); > + > #endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */ No change to HVMOP_get_ioreq_server_info at all? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |