]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Library/PciIncompatibleDeviceSupportLib/IncompatiblePciDeviceList.h
49ac0ad850a4286c5267dde52f65c6c5ac6af4ab
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / PciIncompatibleDeviceSupportLib / IncompatiblePciDeviceList.h
1 /** @file
2 The incompatible PCI device list template.
3
4 Copyright (c) 2006 - 2009, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. 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
15 #ifndef _EFI_INCOMPATIBLE_PCI_DEVICE_LIST_H_
16 #define _EFI_INCOMPATIBLE_PCI_DEVICE_LIST_H_
17
18 #include <Library/PciIncompatibleDeviceSupportLib.h>
19 #include <Library/MemoryAllocationLib.h>
20 #include <Library/DebugLib.h>
21
22 #include <IndustryStandard/Pci.h>
23 #include <IndustryStandard/Acpi.h>
24
25
26 #define PCI_DEVICE_ID(VendorId, DeviceId, Revision, SubVendorId, SubDeviceId) \
27 VendorId, DeviceId, Revision, SubVendorId, SubDeviceId
28
29 #define PCI_BAR_TYPE_IO ACPI_ADDRESS_SPACE_TYPE_IO
30 #define PCI_BAR_TYPE_MEM ACPI_ADDRESS_SPACE_TYPE_MEM
31
32 #define DEVICE_INF_TAG 0xFFF2
33 #define DEVICE_RES_TAG 0xFFF1
34 #define LIST_END_TAG 0x0000
35
36 //
37 // descriptor for access width of incompatible PCI device
38 //
39 typedef struct {
40 UINT64 AccessType;
41 UINT64 AccessWidth;
42 EFI_PCI_REGISTER_ACCESS_DATA PciRegisterAccessData;
43 } EFI_PCI_REGISTER_ACCESS_DESCRIPTOR;
44
45 //
46 // descriptor for register value of incompatible PCI device
47 //
48 typedef struct {
49 UINT64 AccessType;
50 UINT64 Offset;
51 EFI_PCI_REGISTER_VALUE_DATA PciRegisterValueData;
52 } EFI_PCI_REGISTER_VALUE_DESCRIPTOR;
53
54 #endif