]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Csm/CsmSupportLib/LegacyPlatform.h
OvmfPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / OvmfPkg / Csm / CsmSupportLib / LegacyPlatform.h
CommitLineData
8016da21 1/** @file\r
2 Legacy BIOS Platform support\r
3\r
4 Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
5\r
b26f0cf9 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
8016da21 7\r
8**/\r
9\r
10#ifndef LEGACY_BIOS_PLATFORM_H_\r
11#define LEGACY_BIOS_PLATFORM_H_\r
12\r
13#include <FrameworkDxe.h>\r
14\r
15#include <Protocol/PciIo.h>\r
16#include <Protocol/PciRootBridgeIo.h>\r
17#include <Protocol/DevicePath.h>\r
18#include <Protocol/LegacyInterrupt.h>\r
19#include <Protocol/LegacyRegion2.h>\r
20#include <Protocol/LegacyBiosPlatform.h>\r
21#include <Protocol/FirmwareVolume.h>\r
22#include <Protocol/DiskInfo.h>\r
23\r
24#include <Library/UefiDriverEntryPoint.h>\r
25#include <Library/UefiBootServicesTableLib.h>\r
26#include <Library/UefiRuntimeServicesTableLib.h>\r
27#include <Library/DebugLib.h>\r
28#include <Library/BaseMemoryLib.h>\r
29#include <Library/MemoryAllocationLib.h>\r
30#include <Library/IoLib.h>\r
31#include <Library/PciLib.h>\r
32#include <Library/PcdLib.h>\r
33#include <Library/DxeServicesLib.h>\r
34#include <Library/DevicePathLib.h>\r
35\r
36#include <IndustryStandard/Pci.h>\r
37\r
38//\r
39// PIRQ information constants.\r
40//\r
41#define MAX_IRQ_ROUTING_ENTRIES 6\r
42#define MAX_IRQ_PRIORITY_ENTRIES 7\r
43\r
44#define V_INTEL_VENDOR_ID 0x8086\r
45#define V_PIIX4_IDE_DEVICE_ID 0x7010\r
46\r
47//\r
48// Type declarations\r
49//\r
50typedef struct {\r
51 UINT8 SetupValue;\r
52 UINT16 DeviceType;\r
53 UINT8 Class;\r
54 UINT8 SubClass;\r
55} EFI_SETUP_BBS_MAP;\r
56\r
57typedef struct {\r
58 UINT8 Class;\r
59 UINT8 SubClass;\r
60} PCI_CLASS_RECORD;\r
61\r
62typedef struct {\r
63 EFI_LEGACY_PIRQ_TABLE_HEADER PirqTable;\r
64 EFI_LEGACY_IRQ_ROUTING_ENTRY IrqRoutingEntry[MAX_IRQ_ROUTING_ENTRIES];\r
65} EFI_LEGACY_PIRQ_TABLE;\r
66\r
67typedef struct {\r
68 EFI_HANDLE Handle;\r
69 UINT16 Vid;\r
70 UINT16 Did;\r
71 UINT16 SvId;\r
72 UINT16 SysId;\r
73} DEVICE_STRUCTURE;\r
74\r
75typedef struct {\r
76 EFI_GUID FileName;\r
77 UINTN Valid;\r
78} SYSTEM_ROM_TABLE;\r
79\r
80typedef struct {\r
81 UINT32 Signature;\r
82 EFI_HANDLE Handle;\r
83 EFI_LEGACY_BIOS_PLATFORM_PROTOCOL LegacyBiosPlatform;\r
84 EFI_HANDLE ImageHandle;\r
85 EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo;\r
86} LEGACY_BIOS_PLATFORM_INSTANCE;\r
87\r
88#define LEGACY_BIOS_PLATFORM_INSTANCE_SIGNATURE SIGNATURE_32('P','B','I','O')\r
89\r
90#define LEGACY_BIOS_PLATFORM_INSTANCE_FROM_THIS(this) \\r
91 CR (this, \\r
92 LEGACY_BIOS_PLATFORM_INSTANCE, \\r
93 LegacyBiosPlatform, \\r
94 LEGACY_BIOS_PLATFORM_INSTANCE_SIGNATURE \\r
95 )\r
96\r
97#endif\r
98\r