summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/ARM64/HalACPIFactoryInterface.cc
blob: fa67849496e3ff5195de9f3a6a7ac6206ea7e8f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* -------------------------------------------

  Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.

------------------------------------------- */

#include <ArchKit/ArchKit.h>
#include <KernelKit/HeapMgr.h>
#include <NeKit/KString.h>
#include <modules/ACPI/ACPIFactoryInterface.h>
#include <modules/APM/APM.h>

namespace Kernel {
ACPIFactoryInterface::ACPIFactoryInterface(VoidPtr rsp_ptr) : fRsdp(rsp_ptr), fEntries(0) {}

BOOL ACPIFactoryInterface::Shutdown() {
  apm_send_io_command(kAPMPowerCommandShutdown);
  return NO;
}

/// @brief Reboot machine in either ACPI or by triple faulting.
/// @return nothing it's a reboot.
Void ACPIFactoryInterface::Reboot() {
  apm_send_io_command(kAPMPowerCommandReboot);
}
}  // namespace Kernel