1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 10:17:34 +00:00
serenity/Kernel/Arch/aarch64/RPi/Watchdog.h
Daniel Bertalan d9c557d0b4 Kernel: Add RPi Watchdog and use it for system shutdown
The Raspberry Pi hardware doesn't support a proper software-initiated
shutdown, so this instead uses the watchdog to reboot to a special
partition which the firmware interprets as an immediate halt on
shutdown. When running under Qemu, this causes the emulator to exit.
2023-05-17 01:32:43 -06:00

24 lines
342 B
C++

/*
* Copyright (c) 2023, Daniel Bertalan <dani@danielbertalan.dev>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
namespace Kernel::RPi {
struct WatchdogRegisters;
class Watchdog {
public:
static Watchdog& the();
void system_shutdown();
private:
Watchdog();
WatchdogRegisters volatile* m_registers;
};
}