On 22/03/2021 10:58, Juergen Gross wrote:
> There are some corners left which don't support the not so very new
> linear p2m list of pv guests, which has been introduced in Linux kernel
> 3.19 and which is mandatory for non-legacy versions of Xen since kernel
> 4.14.
>
> This series adds support for the linear p2m list where it is missing
> (colo support and "xl dump-core").
>
> In theory it should be possible to merge the p2m list mapping code
> from migration handling and core dump handling, but this needs quite
> some cleanup before this is possible.
>
> The first three patches of this series are fixing real problems, so
> I've put them at the start of this series, especially in order to make
> backports easier.
>
> The other three patches are only the first steps of cleanup. The main
> work done here is to concentrate all p2m mapping in libxenguest instead
> of having one implementation in each of libxenguest and libxenctrl.
>
> Merging the two implementations should be rather easy, but this will
> require to touch many lines of code, as the migration handling variant
> seems to be more mature, but it is using the migration stream specific
> structures heavily. So I'd like to have some confirmation that my way
> to clean this up is the right one.
>
> My idea would be to add the data needed for p2m mapping to struct
> domain_info_context and replace the related fields in struct
> xc_sr_context with a struct domain_info_context. Modifying the
> interface of xc_core_arch_map_p2m() to take most current parameters
> via struct domain_info_context would then enable migration coding to
> use xc_core_arch_map_p2m() for mapping the p2m. xc_core_arch_map_p2m()
> should look basically like the current migration p2m mapping code
> afterwards.
>
> Any comments to that plan?
>
> Juergen Gross (6):
>   tools/libs/guest: fix max_pfn setting in map_p2m()
>   tools/libs/ctrl: fix xc_core_arch_map_p2m() to support linear p2m
>     table
>   tools/libs/ctrl: use common p2m mapping code in xc_domain_resume_any()
>   tools/libs: move xc_resume.c to libxenguest
>   tools/libs: move xc_core* from libxenctrl to libxenguest
>   tools/libs/guest: make some definitions private to libxenguest

https://gitlab.com/xen-project/patchew/xen/-/jobs/1116936958

xenctrl_stubs.c:342:11: error: implicit declaration of function
'xc_domain_resume' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
        result = xc_domain_resume(_H(xch), c_domid, 1);
                 ^
1 error generated.

I suspect you need to shuffle the headers in use for the Ocaml stubs too.

~Andrew

Reply via email to