[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH V5 14/22] arm/ioreq: Introduce arch specific bits for IOREQ/DM features
On 27.01.2021 18:01, Julien Grall wrote: > Hi Jan, > > On 26/01/2021 09:15, Jan Beulich wrote: >> On 25.01.2021 20:08, Oleksandr Tyshchenko wrote: >>> --- a/xen/include/xen/dm.h >>> +++ b/xen/include/xen/dm.h >>> @@ -19,6 +19,8 @@ >>> >>> #include <xen/sched.h> >>> >>> +#include <public/hvm/dm_op.h> >>> + >>> struct dmop_args { >>> domid_t domid; >>> unsigned int nr_bufs; >> >> How come this becomes necessary at this point in the series, when >> nothing else in this header changes, and nothing changes in the >> public headers at all? Is it perhaps a .c file that needs the >> #include instead? Headers shouldn't pull in other headers without >> clear need - as indicated in reply to a prior version, we have >> way too many bad examples (causing headaches in certain cases), >> and we'd like to avoid gaining more. (Oh, I notice you actually >> have a post-commit-message remark about this, but then this >> patch should be marked RFC until the issue was resolved.) > > dm.h contains the following: > > struct dmop_args { > domid_t domid; > unsigned int nr_bufs; > /* Reserve enough buf elements for all current hypercalls. */ > struct xen_dm_op_buf buf[2]; > }; Which means the public header should be included, yes, but right away at the point this dependency appears, not at a random point later in the series. Jan > The struct xen_dm_op_buf is defined public/hvm/dm_op.h. On x86, this > will be indirectly included via: > -> xen/sched.h > -> xen/domain.h > -> asm/domain.h > -> asm/hvm/domain.h > -> public/hvm/dm_op.h > > It looks like this was include from asm/hvm/domain.h because, before > this series, NR_IO_RANGE_TYPES made use of a DMOP definition. > > With this series, the type is now moved in ioreq.h. So I think we may be > able to drop the include from asm/hvm/domain.h (this would avoid to > include it everywhere...). > > I also think we want to include public/hvm/dm_op.h in xen/dm.h because > it is included directly by *.c. > > Cheers, >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |