> -----Original Message----- > From: Oleksandr <olekst...@gmail.com> > Sent: 18 November 2020 12:09 > To: Paul Durrant <p...@xen.org> > Cc: xen-devel@lists.xenproject.org; Oleksandr Tyshchenko > <oleksandr_tyshche...@epam.com>; Jan Beulich > <jbeul...@suse.com>; Andrew Cooper <andrew.coop...@citrix.com>; Roger Pau > Monné > <roger....@citrix.com>; Wei Liu <w...@xen.org>; George Dunlap > <george.dun...@citrix.com>; Ian Jackson > <i...@xenproject.org>; Julien Grall <jul...@xen.org>; Stefano Stabellini > <sstabell...@kernel.org>; > Julien Grall <julien.gr...@arm.com> > Subject: Re: [PATCH V2 07/23] xen/ioreq: Move x86's ioreq_gfn(server) to > struct domain > > > Hi Paul. > > > --- a/xen/include/xen/sched.h > > +++ b/xen/include/xen/sched.h > > @@ -314,6 +314,8 @@ struct sched_unit { > > > > struct evtchn_port_ops; > > > > +#define MAX_NR_IOREQ_SERVERS 8 > > + > > struct domain > > { > > domid_t domain_id; > > @@ -521,6 +523,21 @@ struct domain > > /* Argo interdomain communication support */ > > struct argo_domain *argo; > > #endif > > + > > +#ifdef CONFIG_IOREQ_SERVER > > + /* Guest page range used for non-default ioreq servers */ > > + struct { > > + unsigned long base; > > + unsigned long mask; > > + unsigned long legacy_mask; /* indexed by HVM param number */ > > + } ioreq_gfn; > > I assume the whole ioreq_gfn struct doesn't need to be here. According > to the new requirement to leave legacy interface x86 specific, > > these fields won't be used in common code anymore. I will move ioreq_gfn > struct back to hvm_domain. Please confirm.
Yes, leave it where it is in struct hvm_domain. Paul > > > > + > > + /* Lock protects all other values in the sub-struct and the default */ > > + struct { > > + spinlock_t lock; > > + struct ioreq_server *server[MAX_NR_IOREQ_SERVERS]; > > + } ioreq_server; > > +#endif > > }; > > > > static inline struct page_list_head *page_to_list( > > -- > Regards, > > Oleksandr Tyshchenko