]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/AcpiTables/Facp.aslc
OvmfPkg: VirtioRngDxe: adapt feature negotiation to virtio-1.0
[mirror_edk2.git] / OvmfPkg / AcpiTables / Facp.aslc
CommitLineData
49ba9447 1/** @file\r
2 FACP Table\r
2712ab4f 3\r
8eb28fe7 4 Copyright (c) 2013, Red Hat, Inc.\r
ce68d3bc 5 Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>\r
56d7640a 6 This program and the accompanying materials are\r
49ba9447 7 licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
2712ab4f 10\r
49ba9447 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
2712ab4f 14**/\r
15\r
49ba9447 16#include "Platform.h"\r
17\r
304606c0 18EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE FACP = {\r
ce68d3bc 19 {\r
304606c0 20 EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,\r
21 sizeof (EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE),\r
22 EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,\r
ce68d3bc
SZ
23 0, // to make sum of entire table == 0\r
24 {EFI_ACPI_OEM_ID}, // OEMID is a 6 bytes long field\r
25 EFI_ACPI_OEM_TABLE_ID, // OEM table identification(8 bytes long)\r
26 EFI_ACPI_OEM_REVISION, // OEM revision number\r
27 EFI_ACPI_CREATOR_ID, // ASL compiler vendor ID\r
28 EFI_ACPI_CREATOR_REVISION // ASL compiler revision number\r
29 },\r
49ba9447 30 0, // Physical addesss of FACS\r
31 0, // Physical address of DSDT\r
304606c0 32 RESERVED, // System Interrupt Model in ACPI 1.0, eliminated in 2.0\r
33 EFI_ACPI_2_0_PM_PROFILE_UNSPECIFIED, // Preferred PM profile\r
49ba9447 34 SCI_INT_VECTOR, // System vector of SCI interrupt\r
35 SMI_CMD_IO_PORT, // Port address of SMI command port\r
36 ACPI_ENABLE, // value to write to port smi_cmd to enable ACPI\r
37 ACPI_DISABLE, // value to write to port smi_cmd to disable ACPI\r
38 S4BIOS_REQ, // Value to write to SMI CMD port to enter the S4BIOS state\r
7c9ff57b 39 0, // PState control\r
49ba9447 40 PM1a_EVT_BLK, // Port address of Power Mgt 1a Event Reg Blk\r
8eb28fe7 41 0, // Power Mgt 1b Event Reg Blk unsupported\r
49ba9447 42 PM1a_CNT_BLK, // Port address of Power Mgt 1a Ctrl Reg Blk\r
8eb28fe7 43 0, // Power Mgt 1b Ctrl Reg Blk unsupported\r
1e69186a 44 0, // Power Mgt 2 Ctrl Reg Blk unsupported\r
49ba9447 45 PM_TMR_BLK, // Port address of Power Mgt Timer Ctrl Reg Blk\r
46 GPE0_BLK, // Port addr of General Purpose Event 0 Reg Blk\r
e1fad9b3 47 0, // General Purpose Event 1 Reg Blk unsupported\r
49ba9447 48 PM1_EVT_LEN, // Byte Length of ports at pm1X_evt_blk\r
49 PM1_CNT_LEN, // Byte Length of ports at pm1X_cnt_blk\r
1e69186a 50 0, // Power Mgt 2 Ctrl Reg Blk unsupported\r
49ba9447 51 PM_TM_LEN, // Byte Length of ports at pm_tm_blk\r
52 GPE0_BLK_LEN, // Byte Length of ports at gpe0_blk\r
e1fad9b3 53 0, // General Purpose Event 1 Reg Blk unsupported\r
54 0, // General Purpose Event 1 Reg Blk unsupported\r
7c9ff57b 55 0, // _CST support\r
49ba9447 56 P_LVL2_LAT, // worst case HW latency to enter/exit C2 state\r
57 P_LVL3_LAT, // worst case HW latency to enter/exit C3 state\r
58 FLUSH_SIZE, // Size of area read to flush caches\r
59 FLUSH_STRIDE, // Stride used in flushing caches\r
60 DUTY_OFFSET, // bit location of duty cycle field in p_cnt reg\r
61 DUTY_WIDTH, // bit width of duty cycle field in p_cnt reg\r
62 DAY_ALRM, // index to day-of-month alarm in RTC CMOS RAM\r
63 MON_ALRM, // index to month-of-year alarm in RTC CMOS RAM\r
64 CENTURY, // index to century in RTC CMOS RAM\r
304606c0 65 0x0000, // Boot architecture flag (16-bit)\r
2712ab4f 66 RESERVED, // reserved\r
304606c0 67 FLAG, // Fixed feature flags\r
1bccb20c 68 GAS2_IO(RESET_REG, 1), // Extended address of the Reset Register\r
69 RESET_VALUE, // Value for the Reset Register to reset the system\r
304606c0 70 { RESERVED }, // reserved[3]\r
71 0, // 64-bit physical addesss of FACS, set at installation\r
72 0, // 64-bit physical addesss of DSDT, set at installation\r
73\r
74 GAS2_IO(PM1a_EVT_BLK, PM1_EVT_LEN), // Ext. addr. of PM 1a Event Reg Blk\r
75 { 0 }, // PM 1b Event Reg Blk unsupported\r
76 GAS2_IO(PM1a_CNT_BLK, PM1_CNT_LEN), // Ext. addr. of PM 1a Ctrl Reg Blk\r
77 { 0 }, // PM 1b Ctrl Reg Blk unsupported\r
78 { 0 }, // PM 2 Ctrl Reg Blk unsupported\r
79 GAS2_IO(PM_TMR_BLK, PM_TM_LEN), // Ext. addr. of PM Timer Ctrl Reg Blk\r
80 GAS2_IO(GPE0_BLK, GPE0_BLK_LEN), // Ext. addr. of GPE 0 Reg Blk\r
81 { 0 } // GPE 1 Reg Blk unsupported\r
49ba9447 82};\r
83\r
84\r
85VOID*\r
86ReferenceAcpiTable (\r
87 VOID\r
88 )\r
89{\r
90 //\r
2712ab4f 91 // Reference the table being generated to prevent the optimizer from removing the\r
49ba9447 92 // data structure from the exeutable\r
93 //\r
94 return (VOID*)&FACP;\r
95}\r