3 ACPI Watchdog Action Table as defined at
4 Microsoft Hardware Watchdog Timer Specification.
6 Copyright (c) 2008, Intel Corporation
7 All rights reserved. This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 #ifndef _WATCHDOG_ACTION_TABLE_H_
18 #define _WATCHDOG_ACTION_TABLE_H_
20 #include <IndustryStandard/Acpi.h>
23 // Ensure proper structure formats
27 // Watchdog Action Table definition.
30 EFI_ACPI_DESCRIPTION_HEADER Header
;
31 UINT32 WatchdogHeaderLength
;
34 UINT8 PCIDeviceNumber
;
35 UINT8 PCIFunctionNumber
;
42 UINT32 NumberWatchdogInstructionEntries
;
43 } EFI_ACPI_WATCHDOG_ACTION_1_0_TABLE
;
47 UINT8 InstructionFlags
;
49 EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion
;
52 } EFI_ACPI_WATCHDOG_ACTION_1_0_WATCHDOG_ACTION_INSTRUCTION_ENTRY
;
57 // WDAT Revision (defined in spec)
59 #define EFI_ACPI_WATCHDOG_ACTION_1_0_TABLE_REVISION 0x01
64 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ENABLED 0x1
65 #define EFI_ACPI_WDAT_1_0_WATCHDOG_STOPPED_IN_SLEEP_STATE 0x80
68 // WDAT 1.0 Watchdog Actions
70 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_RESET 0x1
71 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_CURRENT_COUNTDOWN_PERIOD 0x4
72 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_COUNTDOWN_PERIOD 0x5
73 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_COUNTDOWN_PERIOD 0x6
74 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_RUNNING_STATE 0x8
75 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_RUNNING_STATE 0x9
76 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_STOPPED_STATE 0xA
77 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_STOPPED_STATE 0xB
78 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_REBOOT 0x10
79 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_REBOOT 0x11
80 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_SHUTDOWN 0x12
81 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_SHUTDOWN 0x13
82 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_WATCHDOG_STATUS 0x20
83 #define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_WATCHDOG_STATUS 0x21
86 // WDAT 1.0 Watchdog Action Entry Instruction Flags
88 #define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_READ_VALUE 0x0
89 #define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_READ_COUNTDOWN 0x1
90 #define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_WRITE_VALUE 0x2
91 #define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_WRITE_COUNTDOWN 0x3
92 #define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_PRESERVE_REGISTER 0x80