summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/HALKit/ARM64/HalACPIFactoryInterface.cc
blob: 544d1ee11ae6dc14cfc6d7896924fb846941ed6c (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
// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org)
// Licensed under the Apache License, Version 2.0 (see LICENSE file)
// Official repository: https://github.com/nekernel-org/nekernel

#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