|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 01/12] xen/riscv: implement get_page_from_gfn()
On 10.04.2026 17:54, Oleksii Kurochko wrote:
> The function is implemented out-of-line rather than as a static inline,
> to avoid header ordering issues where struct domain is incomplete when
> asm/p2m.h is included, leading to build failures:
> In file included from ./arch/riscv/include/asm/domain.h:10,
> from ./include/xen/domain.h:16,
> from ./include/xen/sched.h:11,
> from ./include/xen/event.h:12,
> from common/cpu.c:3:
> ./arch/riscv/include/asm/p2m.h: In function 'get_page_from_gfn':
> ./arch/riscv/include/asm/p2m.h:50:33: error: invalid use of undefined type
> 'struct domain'
> 50 | #define p2m_get_hostp2m(d) (&(d)->arch.p2m)
> | ^~
> ./arch/riscv/include/asm/p2m.h:180:38: note: in expansion of macro
> 'p2m_get_hostp2m'
> 180 | return p2m_get_page_from_gfn(p2m_get_hostp2m(d), _gfn(gfn),
> t);
> | ^~~~~~~~~~~~~~~
> make[2]: *** [Rules.mk:253: common/cpu.o] Error 1
> make[1]: *** [build.mk:72: common] Error 2
> make: *** [Makefile:623: xen] Error 2
I still think this can and preferably would be sorted, but for now this is
good enough.
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
with a comment adjustment:
> --- a/xen/arch/riscv/p2m.c
> +++ b/xen/arch/riscv/p2m.c
> @@ -1534,3 +1534,16 @@ void p2m_handle_vmenter(void)
> * won't be reused until need_flush is set to true.
> */
> }
> +
> +struct page_info *get_page_from_gfn(struct domain *d, unsigned long gfn,
> + p2m_type_t *t, p2m_query_t q)
> +{
> + /*
> + * system domains are domains which doesn't have p2m translation tables,
> + * so they can't use p2m_get_page_from_gfn() and extra care should be
> + * done for them.
> + */
This violates style and has two grammar issues. I'll take care of this
when committing.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |