On Fri, Feb 07, 2020 at 10:00:32AM +0100, Varad Gautam wrote: > Xen is intended to expose a KEXEC_TYPE_LIVE_UPDATE operation which > implies a stateful-kexec into a new xen image - or a "live update". > Make kexec-tools capable of triggering a live update. > > For a multiboot2 xen image, this will: > - load a xen Elf into into KEXEC_RANGE_MA_XEN > - load purgatory and modules into KEXEC_RANGE_MA_LIVEUPDATE > - append Elf cmdline with " liveupdate=<size>@<addr> > > Signed-off-by: Varad Gautam <vrd@xxxxxxxxx> > CC: David Woodhouse <dwmw@xxxxxxxxxxxx> Sorry for the long delay. This patch does not appear to compile. gcc -Wall -Wextra -Wpointer-arith -Wwrite-strings -Wformat -O2 -fomit-frame-pointer -pipe -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/x86_64/include -c -MD -o kexec/kexec.o kexec/kexec.c kexec/kexec.c: In function ‘my_shutdown’: kexec/kexec.c:889:3: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] "shutdown", ^~~~~~~~~~ kexec/kexec.c:890:3: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] "-r", ^~~~ kexec/kexec.c:891:3: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] "now", ^~~~~ kexec/kexec.c: In function ‘cmdline_add_liveupdate’: kexec/kexec.c:1187:2: warning: implicit declaration of function ‘xen_get_kexec_range’; did you mean ‘xen_kexec_status’? [-Wimplicit-function-declaration] xen_get_kexec_range(KEXEC_RANGE_MA_LIVEUPDATE, &lu_start, &lu_end); ^~~~~~~~~~~~~~~~~~~ xen_kexec_status kexec/kexec.c:1187:22: error: ‘KEXEC_RANGE_MA_LIVEUPDATE’ undeclared (first use in this function) xen_get_kexec_range(KEXEC_RANGE_MA_LIVEUPDATE, &lu_start, &lu_end); ^~~~~~~~~~~~~~~~~~~~~~~~~ kexec/kexec.c:1187:22: note: each undeclared identifier is reported only once for each function it appears in kexec/kexec.c: In function ‘main’: kexec/kexec.c:1433:37: error: ‘KEXEC_LIVE_UPDATE’ undeclared (first use in this function); did you mean ‘KEXEC_LOADED_PATH’? KEXEC_PRESERVE_CONTEXT : KEXEC_LIVE_UPDATE; ^~~~~~~~~~~~~~~~~ KEXEC_LOADED_PATH kexec/kexec.c:1374:16: warning: this statement may fall through [-Wimplicit-fallthrough=] kexec_debug = 1; ~~~~~~~~~~~~^~~ kexec/kexec.c:1375:3: note: here case OPT_NOIFDOWN: ^~~~ make: *** [Makefile:114: kexec/kexec.o] Error 1 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec