1 /** @file
2   ACPI high precision event timer table definition, at www.intel.com
3   Specification name is IA-PC HPET (High Precision Event Timers) Specification.
4 
5   Copyright (c) 2007 - 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 #ifndef _HIGH_PRECISION_EVENT_TIMER_TABLE_H_
16 #define _HIGH_PRECISION_EVENT_TIMER_TABLE_H_
17 
18 #include <IndustryStandard/Acpi.h>
19 
20 //
21 // Ensure proper structure formats
22 //
23 #pragma pack(1)
24 
25 ///
26 /// High Precision Event Timer Table header definition.
27 ///
28 typedef struct {
29   EFI_ACPI_DESCRIPTION_HEADER             Header;
30   UINT32                                  EventTimerBlockId;
31   EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  BaseAddressLower32Bit;
32   UINT8                                   HpetNumber;
33   UINT16                                  MainCounterMinimumClockTickInPeriodicMode;
34   UINT8                                   PageProtectionAndOemAttribute;
35 } EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER;
36 
37 ///
38 /// HPET Revision (defined in spec)
39 ///
40 #define EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION  0x01
41 
42 //
43 // Page protection setting
44 // Values 3 through 15 are reserved for use by the specification
45 //
46 #define EFI_ACPI_NO_PAGE_PROTECTION   0
47 #define EFI_ACPI_4KB_PAGE_PROTECTION  1
48 #define EFI_ACPI_64KB_PAGE_PROTECTION 2
49 
50 #pragma pack()
51 
52 #endif
53