]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkPkg/Include/Protocol/IncompatiblePciDeviceSupport.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2893 6f19259b...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / IncompatiblePciDeviceSupport.h
1 /** @file
2 This file declares EFI Incompatible PCI Device Support Protocol
3
4 Copyright (c) 2007, 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 Module Name: IncompatiblePciDeviceSupport.h
14
15 @par Revision Reference:
16 This protocol is defined in Framework of EFI PCI Platform Support Specification.
17 Version0.9
18
19 **/
20
21 #ifndef _INCOMPATIBLE_PCI_DEVICE_SUPPORT_H_
22 #define _INCOMPATIBLE_PCI_DEVICE_SUPPORT_H_
23
24 #include <PiDxe.h>
25
26 #define EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL_GUID \
27 {0xeb23f55a, 0x7863, 0x4ac2, {0x8d, 0x3d, 0x95, 0x65, 0x35, 0xde, 0x03, 0x75} }
28
29 typedef struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL;
30
31 /**
32 Returns a list of ACPI resource descriptors that detail the special
33 resource configuration requirements for an incompatible PCI device.
34
35 @param This Pointer to the EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL instance.
36 @param VendorID A unique ID to identify the manufacturer of the PCI device.
37 @param DeviceID A unique ID to identify the particular PCI device.
38 @param RevisionID A PCI device-specific revision identifier.
39 @param SubsystemVendorId Specifies the subsystem vendor ID.
40 @param SubsystemDeviceId Specifies the subsystem device ID.
41 @param Configuration A list of ACPI resource descriptors that detail
42 the configuration requirement.
43
44 @retval EFI_SUCCESS The function always returns EFI_SUCCESS.
45
46 **/
47 typedef
48 EFI_STATUS
49 (EFIAPI *EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE) (
50 IN EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *This,
51 IN UINTN VendorId,
52 IN UINTN DeviceId,
53 IN UINTN Revision,
54 IN UINTN SubVendorId,OPTIONAL
55 IN UINTN SubDeviceId,OPTIONAL
56 OUT VOID **Configuration
57 );
58
59
60 //
61 // Interface structure for the Incompatible PCI Device Support Protocol
62 //
63 /**
64 @par Protocol Description:
65 This protocol can find some incompatible PCI devices and report their
66 special resource requirements to the PCI bus driver.
67
68 @param CheckDevice
69 Returns a list of ACPI resource descriptors that detail any special
70 resource configuration requirements if the specified device is a recognized
71 incompatible PCI device.
72
73 **/
74 struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL {
75 EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE CheckDevice;
76 };
77
78 extern EFI_GUID gEfiIncompatiblePciDeviceSupportProtocolGuid;
79
80 #endif