]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/Include/Protocol/MmioDevice.h
MdeModulePkg/DxeCore: invoke the emulator protocol for foreign images
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Protocol / MmioDevice.h
CommitLineData
3cbfba02
DW
1/*++\r
2\r
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
4 \r\r
9dc8036d
MK
5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
6\r
3cbfba02
DW
7 \r\r
8\r
9**/\r
10\r
11#ifndef __MMIO_DEVICE_H__\r
12#define __MMIO_DEVICE_H__\r
13\r
14//\r
15// Protocol to define for the MMIO device\r
16//\r
17typedef struct {\r
18 //\r
19 // Address of a GUID\r
20 //\r
21 EFI_GUID *Guid;\r
22\r
23 //\r
24 // Context for the protocol\r
25 //\r
26 VOID *Context;\r
27} EFI_MMIO_DEVICE_PROTOCOL_ITEM;\r
28\r
29\r
30typedef struct _EFI_MMIO_DEVICE_PROTOCOL EFI_MMIO_DEVICE_PROTOCOL;\r
31\r
32//\r
33// The MMIO device protocol defines a memory mapped I/O device\r
34// for use by the system.\r
35//\r
36struct _EFI_MMIO_DEVICE_PROTOCOL {\r
37 //\r
38 // Pointer to an ACPI_EXTENDED_HID_DEVICE_PATH structure\r
39 // containing HID/HidStr and CID/CidStr values.\r
40 //\r
41 // See the note below associated with the UnitIdentification\r
42 // field.\r
43 //\r
44 CONST ACPI_EXTENDED_HID_DEVICE_PATH *AcpiPath;\r
45\r
46 //\r
47 // Allow the use of a shared template for the AcpiPath.\r
48 //\r
49 // If this value is non-zero UID value then the AcpiPath must\r
50 // be a template which contains only the HID/HidStr and CID/CidStr\r
51 // values. The UID/UidStr values in the AcpiPath must be zero!\r
52 //\r
53 // If this value is zero then the AcpiPath is not shared and\r
54 // must contain either a non-zero UID value or a UidStr value.\r
55 //\r
56 UINT32 UnitIdentification;\r
57\r
58 //\r
59 // Hardware revision - ACPI _HRV value\r
60 //\r
61 UINT32 HardwareRevision;\r
62\r
63 //\r
64 // Pointer to a data structure containing the controller\r
65 // resources and configuration. At a minimum this points\r
66 // to an EFI_PHYSICAL_ADDRESS for the base address of the\r
67 // MMIO device.\r
68 //\r
69 CONST VOID *DriverResources;\r
70\r
71 //\r
72 // Number of protocols in the array\r
73 //\r
74 UINTN ProtocolCount;\r
75\r
76 //\r
77 // List of protocols to define\r
78 //\r
79 CONST EFI_MMIO_DEVICE_PROTOCOL_ITEM *ProtocolArray;\r
80};\r
81\r
82extern EFI_GUID gEfiMmioDeviceProtocolGuid;\r
83\r
84#endif // __MMIO_DEVICE_H__\r