VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/MdePkg/Include/IndustryStandard/WatchdogActionTable.h@ 76313

Last change on this file since 76313 was 58466, checked in by vboxsync, 9 years ago

EFI/Firmware: Merged in the svn:eol-style, svn:mime-type and trailing whitespace cleanup that was done after the initial UDK2014.SP1 import: svn merge /vendor/edk2/UDK2014.SP1 /vendor/edk2/current .

  • Property svn:eol-style set to native
File size: 3.8 KB
Line 
1/** @file
2 ACPI Watchdog Action Table (WADT) as defined at
3 Microsoft Hardware Watchdog Timers Design Specification.
4
5 Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13**/
14
15
16#ifndef _WATCHDOG_ACTION_TABLE_H_
17#define _WATCHDOG_ACTION_TABLE_H_
18
19#include <IndustryStandard/Acpi.h>
20
21//
22// Ensure proper structure formats
23//
24#pragma pack(1)
25///
26/// Watchdog Action Table definition.
27///
28typedef struct {
29 EFI_ACPI_DESCRIPTION_HEADER Header;
30 UINT32 WatchdogHeaderLength;
31 UINT16 PCISegment;
32 UINT8 PCIBusNumber;
33 UINT8 PCIDeviceNumber;
34 UINT8 PCIFunctionNumber;
35 UINT8 Reserved_45[3];
36 UINT32 TimerPeriod;
37 UINT32 MaxCount;
38 UINT32 MinCount;
39 UINT8 WatchdogFlags;
40 UINT8 Reserved_61[3];
41 UINT32 NumberWatchdogInstructionEntries;
42} EFI_ACPI_WATCHDOG_ACTION_1_0_TABLE;
43
44///
45/// Watchdog Instruction Entries
46///
47typedef struct {
48 UINT8 WatchdogAction;
49 UINT8 InstructionFlags;
50 UINT8 Reserved_2[2];
51 EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE RegisterRegion;
52 UINT32 Value;
53 UINT32 Mask;
54} EFI_ACPI_WATCHDOG_ACTION_1_0_WATCHDOG_ACTION_INSTRUCTION_ENTRY;
55
56#pragma pack()
57
58///
59/// WDAT Revision (defined in spec)
60///
61#define EFI_ACPI_WATCHDOG_ACTION_1_0_TABLE_REVISION 0x01
62
63//
64// WDAT 1.0 Flags
65//
66#define EFI_ACPI_WDAT_1_0_WATCHDOG_ENABLED 0x1
67#define EFI_ACPI_WDAT_1_0_WATCHDOG_STOPPED_IN_SLEEP_STATE 0x80
68
69//
70// WDAT 1.0 Watchdog Actions
71//
72#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_RESET 0x1
73#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_CURRENT_COUNTDOWN_PERIOD 0x4
74#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_COUNTDOWN_PERIOD 0x5
75#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_COUNTDOWN_PERIOD 0x6
76#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_RUNNING_STATE 0x8
77#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_RUNNING_STATE 0x9
78#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_STOPPED_STATE 0xA
79#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_STOPPED_STATE 0xB
80#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_REBOOT 0x10
81#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_REBOOT 0x11
82#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_SHUTDOWN 0x12
83#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_SHUTDOWN 0x13
84#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_QUERY_WATCHDOG_STATUS 0x20
85#define EFI_ACPI_WDAT_1_0_WATCHDOG_ACTION_SET_WATCHDOG_STATUS 0x21
86
87//
88// WDAT 1.0 Watchdog Action Entry Instruction Flags
89//
90#define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_READ_VALUE 0x0
91#define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_READ_COUNTDOWN 0x1
92#define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_WRITE_VALUE 0x2
93#define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_WRITE_COUNTDOWN 0x3
94#define EFI_ACPI_WDAT_1_0_WATCHDOG_INSTRUCTION_PRESERVE_REGISTER 0x80
95
96#endif
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette