From 12384f9b2657946052fab05cbe86d147124c71bf Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Fri, 14 Jun 2013 07:40:05 +0000 Subject: OvmfPkg: VirtioNetDxe: add SNP.Initialize and shared dependencies Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Jordan Justen Reviewed-by: Stefan Hajnoczi git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14410 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c (limited to 'OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c') diff --git a/OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c b/OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c new file mode 100644 index 0000000000..9fedb72fdb --- /dev/null +++ b/OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c @@ -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 + +#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); +} -- cgit v1.2.3