|
@@ -24,6 +24,8 @@
|
|
|
# include <asm/iommu.h>
|
|
|
#endif
|
|
|
|
|
|
+#include <asm/tboot.h>
|
|
|
+
|
|
|
/*
|
|
|
* Power off function, if any
|
|
|
*/
|
|
@@ -460,6 +462,8 @@ static void native_machine_emergency_restart(void)
|
|
|
if (reboot_emergency)
|
|
|
emergency_vmx_disable_all();
|
|
|
|
|
|
+ tboot_shutdown(TB_SHUTDOWN_REBOOT);
|
|
|
+
|
|
|
/* Tell the BIOS if we want cold or warm reboot */
|
|
|
*((unsigned short *)__va(0x472)) = reboot_mode;
|
|
|
|
|
@@ -586,6 +590,8 @@ static void native_machine_halt(void)
|
|
|
/* stop other cpus and apics */
|
|
|
machine_shutdown();
|
|
|
|
|
|
+ tboot_shutdown(TB_SHUTDOWN_HALT);
|
|
|
+
|
|
|
/* stop this cpu */
|
|
|
stop_this_cpu(NULL);
|
|
|
}
|
|
@@ -597,6 +603,8 @@ static void native_machine_power_off(void)
|
|
|
machine_shutdown();
|
|
|
pm_power_off();
|
|
|
}
|
|
|
+ /* a fallback in case there is no PM info available */
|
|
|
+ tboot_shutdown(TB_SHUTDOWN_HALT);
|
|
|
}
|
|
|
|
|
|
struct machine_ops machine_ops = {
|