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