https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Deal with devices that just exist in memory space.
 | |
| 
 | |
|   To follow the EFI driver model you need a root handle to start with. An
 | |
|   EFI driver will have a driver binding protocol (Supported, Start, Stop)
 | |
|   that is used to layer on top of a handle via a gBS->ConnectController.
 | |
|   The first handle has to just be in the system to make that work. For
 | |
|   PCI it is a PCI Root Bridge IO protocol that provides the root.
 | |
| 
 | |
|   On an embedded system with MMIO device we need a handle to just
 | |
|   show up. That handle will have this protocol and a device path
 | |
|   protocol on it.
 | |
| 
 | |
|   For an ethernet device the device path must contain a MAC address device path
 | |
|   node.
 | |
| 
 | |
|   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __EMBEDDED_DEVICE_PROTOCOL_H__
 | |
| #define __EMBEDDED_DEVICE_PROTOCOL_H__
 | |
| 
 | |
| 
 | |
| //
 | |
| // Protocol GUID
 | |
| //
 | |
| // BF4B9D10-13EC-43dd-8880-E90B718F27DE
 | |
| 
 | |
| #define EMBEDDED_DEVICE_PROTOCOL_GUID \
 | |
|   { 0xbf4b9d10, 0x13ec, 0x43dd, { 0x88, 0x80, 0xe9, 0xb, 0x71, 0x8f, 0x27, 0xde } }
 | |
| 
 | |
| 
 | |
| 
 | |
| typedef struct {
 | |
|   UINT16          VendorId;
 | |
|   UINT16          DeviceId;
 | |
|   UINT16          RevisionId;
 | |
|   UINT16          SubsystemId;
 | |
|   UINT16          SubsystemVendorId;
 | |
|   UINT8           ClassCode[3];
 | |
|   UINT8           HeaderSize;
 | |
|   UINTN           BaseAddress;
 | |
| } EMBEDDED_DEVICE_PROTOCOL;
 | |
| 
 | |
| extern EFI_GUID gEmbeddedDeviceGuid;
 | |
| 
 | |
| #endif
 | |
| 
 | |
| 
 |