> -----Original Message-----
> From: Oleksandr <[email protected]>
> Sent: 18 November 2020 12:09
> To: Paul Durrant <[email protected]>
> Cc: [email protected]; Oleksandr Tyshchenko
> <[email protected]>; Jan Beulich
> <[email protected]>; Andrew Cooper <[email protected]>; Roger Pau
> Monné
> <[email protected]>; Wei Liu <[email protected]>; George Dunlap
> <[email protected]>; Ian Jackson
> <[email protected]>; Julien Grall <[email protected]>; Stefano Stabellini
> <[email protected]>;
> Julien Grall <[email protected]>
> 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