]> git.proxmox.com Git - mirror_edk2.git/blame - EmbeddedPkg/Include/Protocol/EmbeddedDevice.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / EmbeddedPkg / Include / Protocol / EmbeddedDevice.h
CommitLineData
2ef2b01e
A
1/** @file\r
2 Deal with devices that just exist in memory space.\r
3402aac7 3\r
2ef2b01e 4 To follow the EFI driver model you need a root handle to start with. An\r
3402aac7
RC
5 EFI driver will have a driver binding protocol (Supported, Start, Stop)\r
6 that is used to layer on top of a handle via a gBS->ConnectController.\r
2ef2b01e 7 The first handle has to just be in the system to make that work. For\r
3402aac7
RC
8 PCI it is a PCI Root Bridge IO protocol that provides the root.\r
9\r
10 On an embedded system with MMIO device we need a handle to just\r
11 show up. That handle will have this protocol and a device path\r
12 protocol on it.\r
13\r
2ef2b01e
A
14 For an ethernet device the device path must contain a MAC address device path\r
15 node.\r
16\r
60274cca 17 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
2ef2b01e 18\r
878b807a 19 SPDX-License-Identifier: BSD-2-Clause-Patent\r
2ef2b01e
A
20\r
21**/\r
22\r
23#ifndef __EMBEDDED_DEVICE_PROTOCOL_H__\r
24#define __EMBEDDED_DEVICE_PROTOCOL_H__\r
25\r
2ef2b01e
A
26//\r
27// Protocol GUID\r
28//\r
29// BF4B9D10-13EC-43dd-8880-E90B718F27DE\r
30\r
31#define EMBEDDED_DEVICE_PROTOCOL_GUID \\r
32 { 0xbf4b9d10, 0x13ec, 0x43dd, { 0x88, 0x80, 0xe9, 0xb, 0x71, 0x8f, 0x27, 0xde } }\r
33\r
2ef2b01e 34typedef struct {\r
e7108d0e
MK
35 UINT16 VendorId;\r
36 UINT16 DeviceId;\r
37 UINT16 RevisionId;\r
38 UINT16 SubsystemId;\r
39 UINT16 SubsystemVendorId;\r
40 UINT8 ClassCode[3];\r
41 UINT8 HeaderSize;\r
42 UINTN BaseAddress;\r
2ef2b01e
A
43} EMBEDDED_DEVICE_PROTOCOL;\r
44\r
e7108d0e 45extern EFI_GUID gEmbeddedDeviceGuid;\r
2ef2b01e
A
46\r
47#endif\r