]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/xen/efi.c
Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
[karo-tx-linux.git] / drivers / xen / efi.c
index 22f71ffd340677cd8c0dae3c06614041e373c1b9..9243a9051078229172daea01e0d621ac089ac050 100644 (file)
@@ -26,6 +26,7 @@
 #include <xen/interface/xen.h>
 #include <xen/interface/platform.h>
 #include <xen/xen.h>
+#include <xen/xen-ops.h>
 
 #include <asm/page.h>
 
@@ -263,3 +264,20 @@ efi_status_t xen_efi_query_capsule_caps(efi_capsule_header_t **capsules,
        return efi_data(op).status;
 }
 EXPORT_SYMBOL_GPL(xen_efi_query_capsule_caps);
+
+void xen_efi_reset_system(int reset_type, efi_status_t status,
+                         unsigned long data_size, efi_char16_t *data)
+{
+       switch (reset_type) {
+       case EFI_RESET_COLD:
+       case EFI_RESET_WARM:
+               xen_reboot(SHUTDOWN_reboot);
+               break;
+       case EFI_RESET_SHUTDOWN:
+               xen_reboot(SHUTDOWN_poweroff);
+               break;
+       default:
+               BUG();
+       }
+}
+EXPORT_SYMBOL_GPL(xen_efi_reset_system);