• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*++
2
3Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved
4
5  This program and the accompanying materials are licensed and made available under
6  the terms and conditions of the BSD License that accompanies this distribution.
7  The full text of the license may be found at
8  http://opensource.org/licenses/bsd-license.php.
9
10  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13
14
15Module Name:
16
17  Hpet.c
18
19Abstract:
20
21  This file contains a structure definition for the ACPI HPET Table.
22--*/
23
24//
25// Statements that include other files
26//
27#ifdef ECP_FLAG
28#include <Tiano.h>
29#endif
30#include <Hpet.h>
31#include "AcpiTablePlatform.h"
32
33// Hpet Table
34EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER HPET = {
35  {
36    EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE,
37    sizeof (EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER),
38    EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION,
39    0,                          // to make sum of entire table == 0
40    EFI_ACPI_OEM_ID,            // OEMID is a 6 bytes long field
41    EFI_ACPI_OEM_TABLE_ID,      // OEM table identification(8 bytes long)
42    EFI_ACPI_OEM_REVISION,      // OEM revision
43    EFI_ACPI_CREATOR_ID,        // ASL compiler vendor ID
44    EFI_ACPI_CREATOR_REVISION   // ASL compiler revision number
45  },
46  0x0,                          // EventTimerBlockId
47  {
48    0x00,                     // Address_Space_ID = System Memory
49    0x40,                     // Register_Bit_Width = 32 bits, mentioned about write failures when in 64bit in SCU HAS
50    0x00,                     // Register_Bit_offset
51    0x00,                     // Dword access
52    HPET_BASE_ADDRESS,        // Base addresse of HPET
53  },
54  0x0,                          // Only HPET's _UID in Namespace
55  MAIN_COUNTER_MIN_PERIODIC_CLOCK_TICKS,
56  0x0
57};
58
59VOID*
60ReferenceAcpiTable (
61  VOID
62  )
63{
64  //
65  // Reference the table being generated to prevent the optimizer from
66  // removing the data structure from the executable
67  //
68  return (VOID*)&HPET;
69}
70