]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Protocol/IncompatiblePciDeviceSupport.h
Clean the public header files to remove the unnecessary include files.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / IncompatiblePciDeviceSupport.h
CommitLineData
79964ac8 1/** @file\r
2 This file declares EFI Incompatible PCI Device Support Protocol\r
8411f1c0 3 This protocol allows the PCI bus driver to support resource allocation for some PCI devices that do not comply\r
4 with the PCI Specification.\r
5 The EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL is used by the PCI bus driver\r
6 to support resource allocation for some PCI devices that do not comply with the PCI Specification.\r
7 This protocol can find some incompatible PCI devices and report their special resource\r
8 requirements to the PCI bus driver. The generic PCI bus driver does not have prior knowledge of\r
9 any incompatible PCI devices. It interfaces with the\r
10 EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL to find out if a device is\r
11 incompatible and to obtain the special configuration requirements for a specific incompatible PCI\r
12 device.\r
13 This protocol is optional, and only one instance of this protocol can be present in the system. If a\r
14 platform supports this protocol, this protocol is produced by a Driver Execution Environment\r
15 (DXE) driver and must be made available before the Boot Device Selection (BDS) phase. The PCI\r
16 bus driver will look for the presence of this protocol before it begins PCI enumeration.\r
79964ac8 17\r
2bbaeb0d 18 Copyright (c) 2007 - 2009, Intel Corporation\r
79964ac8 19 All rights reserved. This program and the accompanying materials\r
20 are licensed and made available under the terms and conditions of the BSD License\r
21 which accompanies this distribution. The full text of the license may be found at\r
22 http://opensource.org/licenses/bsd-license.php\r
23\r
24 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
25 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
26\r
79964ac8 27 @par Revision Reference:\r
28 This protocol is defined in Framework of EFI PCI Platform Support Specification.\r
0f899407 29 Version 0.9.\r
79964ac8 30\r
31**/\r
32\r
33#ifndef _INCOMPATIBLE_PCI_DEVICE_SUPPORT_H_\r
34#define _INCOMPATIBLE_PCI_DEVICE_SUPPORT_H_\r
35\r
b80fbe85 36\r
79964ac8 37#define EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL_GUID \\r
38 {0xeb23f55a, 0x7863, 0x4ac2, {0x8d, 0x3d, 0x95, 0x65, 0x35, 0xde, 0x03, 0x75} }\r
39\r
40typedef struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL;\r
41\r
42/**\r
43 Returns a list of ACPI resource descriptors that detail the special\r
44 resource configuration requirements for an incompatible PCI device.\r
45\r
46 @param This Pointer to the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL instance.\r
47 @param VendorID A unique ID to identify the manufacturer of the PCI device.\r
48 @param DeviceID A unique ID to identify the particular PCI device.\r
49 @param RevisionID A PCI device-specific revision identifier.\r
50 @param SubsystemVendorId Specifies the subsystem vendor ID.\r
51 @param SubsystemDeviceId Specifies the subsystem device ID.\r
52 @param Configuration A list of ACPI resource descriptors that detail\r
53 the configuration requirement.\r
54\r
55 @retval EFI_SUCCESS The function always returns EFI_SUCCESS.\r
56\r
57**/\r
58typedef\r
59EFI_STATUS\r
69686d56 60(EFIAPI *EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE)(\r
79964ac8 61 IN EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *This,\r
62 IN UINTN VendorId,\r
63 IN UINTN DeviceId,\r
64 IN UINTN Revision,\r
574bb8b7 65 IN UINTN SubVendorId,\r
66 IN UINTN SubDeviceId,\r
79964ac8 67 OUT VOID **Configuration\r
68);\r
69\r
70\r
f45527eb 71///\r
2bbaeb0d 72/// Interface structure for the Incompatible PCI Device Support Protocol\r
f45527eb 73///\r
2bbaeb0d 74struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL {\r
75 ///\r
76 /// Returns a list of ACPI resource descriptors that detail any special\r
77 /// resource configuration requirements if the specified device is a recognized\r
78 /// incompatible PCI device.\r
79 ///\r
79964ac8 80 EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE CheckDevice;\r
81};\r
82\r
83extern EFI_GUID gEfiIncompatiblePciDeviceSupportProtocolGuid;\r
84\r
85#endif\r