[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Kexec and libxenctlr.so



Hi,

On 11/06/2020 16:21, Jürgen Groß wrote:
On 11.06.20 16:57, Julien Grall wrote:
Hi all,

kexec-tools has an option to load dynamically libxenctlr.so (not .so.4.x) (see [1]).
Given that the library has never been considered stable, it is 
probably a disaster that is waiting to happen.
Looking at the tree kexec is using the follow libxc functions:
    - xc_kexec_get_range()
    - xc_kexec_load()
    - xc_kexec_unload()
    - xc_kexec_status()
    - xc_kexec_exec()
    - xc_version()
    - xc_interface_open()
    - xc_interface_close()
    - xc_get_max_cpus()
    - xc_get_machine_memory_map()

I think it is uncontroversial that we want a new stable library for all the xc_kexec_* functions (maybe libxenexec)?
However I am not entirely sure where to put the others.

I am thinking to introduce libxensysctl for xc_get_max_cpus() as it is a XEN_SYSCTL. We could possibly include xc_get_machine_memory_map() (despite it is a XENMEM_).
For xc_version(), I am thinking to extend libxentoolcore to also 
include "stable xen API".
Any opinion on the approach?
You could consider hypfs (at least for some of the functionality).
That would work!

xc_version() and xc_get_max_cpus() would be rather easy.
I am guessing we will need a fallback to the normal hypercalls if hypfs 
is not present.
xc_get_machine_memory_map() is using a stable hypercall used by
the kernel, too.
IIUC, you are suggesting to put this one in hypfs library as well. Is 
that correct?
Thank you for the input!

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.