OvmfPkg: VirtioNetDxe: add SNP.Initialize and shared dependencies
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14410 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
53
OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c
Normal file
53
OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c
Normal file
@@ -0,0 +1,53 @@
|
||||
/** @file
|
||||
|
||||
Helper functions used by at least two Simple Network Protocol methods.
|
||||
|
||||
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.
|
||||
|
||||
**/
|
||||
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
|
||||
#include "VirtioNet.h"
|
||||
|
||||
/**
|
||||
Release RX and TX resources on the boundary of the
|
||||
EfiSimpleNetworkInitialized state.
|
||||
|
||||
These functions contribute to rolling back a partial, failed initialization
|
||||
of the virtio-net SNP driver instance, or to shutting down a fully
|
||||
initialized, running instance.
|
||||
|
||||
They are only callable by the VirtioNetInitialize() and the
|
||||
VirtioNetShutdown() SNP methods. See the state diagram in "VirtioNet.h".
|
||||
|
||||
@param[in,out] Dev The VNET_DEV driver instance being shut down, or whose
|
||||
partial, failed initialization is being rolled back.
|
||||
*/
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
VirtioNetShutdownRx (
|
||||
IN OUT VNET_DEV *Dev
|
||||
)
|
||||
{
|
||||
FreePool (Dev->RxBuf);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
VirtioNetShutdownTx (
|
||||
IN OUT VNET_DEV *Dev
|
||||
)
|
||||
{
|
||||
FreePool (Dev->TxFreeStack);
|
||||
}
|
Reference in New Issue
Block a user