]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Bhyve/AcpiTables/Hpet.aslc
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / Bhyve / AcpiTables / Hpet.aslc
CommitLineData
656419f9
RC
1/*\r
2 * Copyright (c) 2020, Rebecca Cran <rebecca@bsdio.com>\r
3 * Copyright (c) 2014, Pluribus Networks, Inc.\r
4 *\r
5 * SPDX-License-Identifier: BSD-2-Clause-Patent\r
6 */\r
7\r
8#include <IndustryStandard/HighPrecisionEventTimerTable.h>\r
9\r
10#include "Platform.h"\r
11\r
12#define EFI_ACPI_HPET_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('H', 'P', 'E', 'T')\r
13#define EFI_ACPI_OEM_TABLE_ID SIGNATURE_64('B','V','H','P','E','T',' ',' ')\r
14\r
15//\r
16// Ensure proper structure formats\r
17//\r
18#pragma pack (1)\r
19\r
20//\r
21// ACPI HPET structure\r
22//\r
23typedef struct {\r
24 EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER Header;\r
25} EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_DESCRIPTION_TABLE;\r
26\r
27#pragma pack ()\r
28\r
29//\r
30// HPET Description Table\r
31//\r
32EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_DESCRIPTION_TABLE Hpet = {\r
33 {\r
34 {\r
35 EFI_ACPI_HPET_DESCRIPTION_TABLE_SIGNATURE,\r
36 sizeof (EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_DESCRIPTION_TABLE),\r
37 EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_REVISION,\r
38 0x00, // Checksum will be updated at runtime\r
39 {EFI_ACPI_OEM_ID},\r
40 EFI_ACPI_OEM_TABLE_ID,\r
41 EFI_ACPI_OEM_REVISION,\r
42 EFI_ACPI_CREATOR_ID,\r
43 EFI_ACPI_CREATOR_REVISION\r
44 },\r
45\r
46 //\r
47 // HPET specific fields\r
48 //\r
49 0x0000A400, // EventTimerBlockId\r
50 {\r
51 EFI_ACPI_2_0_SYSTEM_MEMORY,\r
52 0,\r
53 0,\r
54 EFI_ACPI_RESERVED_BYTE,\r
55 0xFED00000,\r
56 },\r
57 0 // HpetNumber\r
58 }\r
59};\r
60\r
61\r
62VOID*\r
63ReferenceAcpiTable (\r
64 VOID\r
65 )\r
66{\r
67 //\r
68 // Reference the table being generated to prevent the optimizer from removing the\r
69 // data structure from the exeutable\r
70 //\r
71 return (VOID*)&Hpet;\r
72}\r