summaryrefslogtreecommitdiffstats
path: root/kexec/kexec-xen.c
diff options
context:
space:
mode:
Diffstat (limited to 'kexec/kexec-xen.c')
-rw-r--r--kexec/kexec-xen.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/kexec/kexec-xen.c b/kexec/kexec-xen.c
index 83629baf..da514d05 100644
--- a/kexec/kexec-xen.c
+++ b/kexec/kexec-xen.c
@@ -242,15 +242,19 @@ int xen_kexec_status(uint64_t kexec_flags)
return ret;
}
-void xen_kexec_exec(void)
+void xen_kexec_exec(uint64_t kexec_flags)
{
xc_interface *xch;
-
+ uint8_t type = KEXEC_TYPE_DEFAULT;
+
xch = xc_interface_open(NULL, NULL, 0);
if (!xch)
return;
- xc_kexec_exec(xch, KEXEC_TYPE_DEFAULT);
+ if (kexec_flags & KEXEC_LIVE_UPDATE)
+ type = KEXEC_TYPE_LIVE_UPDATE;
+
+ xc_kexec_exec(xch, type);
xc_interface_close(xch);
}
@@ -277,7 +281,7 @@ int xen_kexec_status(uint64_t kexec_flags)
return -1;
}
-void xen_kexec_exec(void)
+void xen_kexec_exec(uint64_t kexec_flags)
{
}