This change replaces the accesses to the PCI bus from the Block, Scsi and Net drivers by the use of the new VIRTIO_DEVICE_PROTOCOL protocol that abstracts the transport layer. It means these drivers can be used on PCI and MMIO transport layer. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> v5: - VirtioFlush(): update comment block in VirtioLib.[hc]; error code is propagated from VirtIo->SetQueueNotify(). - VirtioBlkInit(): jump to Failed label if SetPageSize() fails - VirtioBlkInit(): fixup comment, and add error handling, near SetQueueNum() call - VirtioBlkDriverBindingStart(): remove redundant (always false) check for a subsystem device ID different from VIRTIO_SUBSYSTEM_BLOCK_DEVICE; VirtioBlkDriverBindingSupported() handles it already - VirtioNetGetFeatures(): update stale comment block - VirtioNetGetFeatures(): retrieve MAC address byte for byte (open-coded loop) - VirtioNetDriverBindingStart(): remove redundant (always false) check for a subsystem device ID different from VIRTIO_SUBSYSTEM_NETWORK_CARD; VirtioNetDriverBindingSupported() handles it already - VirtioNetInitRing(): call SetQueueNum() and SetQueueAlign() for proper MMIO operation - VirtioNetInitialize(): fix destination error label for when SetPageSize() fails - VirtioScsi.c: fix comment block of VIRTIO_CFG_WRITE()/VIRTIO_CFG_READ() - VirtioScsiInit(): fix destination error label for when SetPageSize() fails - VirtioScsiInit(): call SetQueueNum() and SetQueueAlign() for proper MMIO operation Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14966 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @file
 | |
| #
 | |
| # This driver produces Simple Network Protocol instances for virtio-net
 | |
| # devices.
 | |
| #
 | |
| # Copyright (C) 2013, Red Hat, Inc.
 | |
| #
 | |
| # This program and the accompanying materials are licensed and made available
 | |
| # under the terms and conditions of the BSD License which accompanies this
 | |
| # distribution. The full text of the license may be found at
 | |
| # http://opensource.org/licenses/bsd-license.php
 | |
| #
 | |
| # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
 | |
| # WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| #
 | |
| ##
 | |
| 
 | |
| [Defines]
 | |
|   INF_VERSION                    = 0x00010005
 | |
|   BASE_NAME                      = VirtioNetDxe
 | |
|   FILE_GUID                      = A92CDB4B-82F1-4E0B-A516-8A655D371524
 | |
|   MODULE_TYPE                    = UEFI_DRIVER
 | |
|   VERSION_STRING                 = 1.0
 | |
|   ENTRY_POINT                    = VirtioNetEntryPoint
 | |
| 
 | |
| [Sources]
 | |
|   ComponentName.c
 | |
|   DriverBinding.c
 | |
|   EntryPoint.c
 | |
|   Events.c
 | |
|   SnpGetStatus.c
 | |
|   SnpInitialize.c
 | |
|   SnpMcastIpToMac.c
 | |
|   SnpReceive.c
 | |
|   SnpReceiveFilters.c
 | |
|   SnpSharedHelpers.c
 | |
|   SnpShutdown.c
 | |
|   SnpStart.c
 | |
|   SnpStop.c
 | |
|   SnpTransmit.c
 | |
|   SnpUnsupported.c
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
|   OvmfPkg/OvmfPkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   BaseMemoryLib
 | |
|   DebugLib
 | |
|   DevicePathLib
 | |
|   MemoryAllocationLib
 | |
|   UefiBootServicesTableLib
 | |
|   UefiDriverEntryPoint
 | |
|   UefiLib
 | |
|   VirtioLib
 | |
| 
 | |
| [Protocols]
 | |
|   gEfiSimpleNetworkProtocolGuid  ## BY_START
 | |
|   gEfiDevicePathProtocolGuid     ## BY_START
 | |
|   gVirtioDeviceProtocolGuid      ## TO_START
 |