audk/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Hpet/Hpet.aslc

64 lines
1.7 KiB
Plaintext

/*++
Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
SPDX-License-Identifier: BSD-2-Clause-Patent
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;
}