errno_t acpi_reboot(void) { ACPI_STATUS status; status = AcpiReset(); if (status == AE_NOT_EXIST) return ENXIO; if (status != AE_OK) { SHOW_ERROR( 0, "Reset failed, status = %d", status ); return ENXIO; } phantom_spinwait(10000); // 10 sec SHOW_ERROR0( 0, "Reset failed, timeout" ); return ENXIO; }
status_t reboot(void) { ACPI_STATUS status; TRACE("reboot\n"); status = AcpiReset(); if (status == AE_NOT_EXIST) return B_UNSUPPORTED; if (status != AE_OK) { ERROR("Reset failed, status = %d\n", status); return B_ERROR; } snooze(1000000); ERROR("Reset failed, timeout\n"); return B_ERROR; }
void acpi_reset(void) { AcpiReset(); }