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