/*++ | |
Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved | |
This program and the accompanying materials are licensed and made available under | |
the terms and conditions of the BSD License that accompanies this distribution. | |
The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php. | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
Module Name: | |
Hpet.c | |
Abstract: | |
This file contains a structure definition for the ACPI HPET Table. | |
--*/ | |
// | |
// Statements that include other files | |
// | |
#ifdef ECP_FLAG | |
#include <Tiano.h> | |
#endif | |
#include <Hpet.h> | |
#include "AcpiTablePlatform.h" | |
// Hpet Table | |
EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER HPET = { | |
{ | |
EFI_ACPI_3_0_HIGH_PRECISION_EVENT_TIMER_TABLE_SIGNATURE, | |
sizeof (EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER), | |
EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION, | |
0, // to make sum of entire table == 0 | |
EFI_ACPI_OEM_ID, // OEMID is a 6 bytes long field | |
EFI_ACPI_OEM_TABLE_ID, // OEM table identification(8 bytes long) | |
EFI_ACPI_OEM_REVISION, // OEM revision | |
EFI_ACPI_CREATOR_ID, // ASL compiler vendor ID | |
EFI_ACPI_CREATOR_REVISION // ASL compiler revision number | |
}, | |
0x0, // EventTimerBlockId | |
{ | |
0x00, // Address_Space_ID = System Memory | |
0x40, // Register_Bit_Width = 32 bits, mentioned about write failures when in 64bit in SCU HAS | |
0x00, // Register_Bit_offset | |
0x00, // Dword access | |
HPET_BASE_ADDRESS, // Base addresse of HPET | |
}, | |
0x0, // Only HPET's _UID in Namespace | |
MAIN_COUNTER_MIN_PERIODIC_CLOCK_TICKS, | |
0x0 | |
}; | |
VOID* | |
ReferenceAcpiTable ( | |
VOID | |
) | |
{ | |
// | |
// Reference the table being generated to prevent the optimizer from | |
// removing the data structure from the executable | |
// | |
return (VOID*)&HPET; | |
} |