]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/SnpDxe/Start.c
NetworkPkg: Move Network library and drivers from MdeModulePkg to NetworkPkg
[mirror_edk2.git] / MdeModulePkg / Universal / Network / SnpDxe / Start.c
diff --git a/MdeModulePkg/Universal/Network/SnpDxe/Start.c b/MdeModulePkg/Universal/Network/SnpDxe/Start.c
deleted file mode 100644 (file)
index 033ca22..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/** @file\r
-    Implementation of starting a network adapter.\r
-\r
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "Snp.h"\r
-\r
-\r
-/**\r
-  Call UNDI to start the interface and changes the snp state.\r
-\r
-  @param  Snp                    pointer to snp driver structure.\r
-\r
-  @retval EFI_SUCCESS            UNDI is started successfully.\r
-  @retval EFI_DEVICE_ERROR       UNDI could not be started.\r
-\r
-**/\r
-EFI_STATUS\r
-PxeStart (\r
-  IN SNP_DRIVER *Snp\r
-  )\r
-{\r
-  PXE_CPB_START_31  *Cpb31;\r
-\r
-  Cpb31  = Snp->Cpb;\r
-  //\r
-  // Initialize UNDI Start CDB for H/W UNDI\r
-  //\r
-  Snp->Cdb.OpCode     = PXE_OPCODE_START;\r
-  Snp->Cdb.OpFlags    = PXE_OPFLAGS_NOT_USED;\r
-  Snp->Cdb.CPBsize    = PXE_CPBSIZE_NOT_USED;\r
-  Snp->Cdb.DBsize     = PXE_DBSIZE_NOT_USED;\r
-  Snp->Cdb.CPBaddr    = PXE_CPBADDR_NOT_USED;\r
-  Snp->Cdb.DBaddr     = PXE_DBADDR_NOT_USED;\r
-  Snp->Cdb.StatCode   = PXE_STATCODE_INITIALIZE;\r
-  Snp->Cdb.StatFlags  = PXE_STATFLAGS_INITIALIZE;\r
-  Snp->Cdb.IFnum      = Snp->IfNum;\r
-  Snp->Cdb.Control    = PXE_CONTROL_LAST_CDB_IN_LIST;\r
-\r
-  //\r
-  // Make changes to H/W UNDI Start CDB if this is\r
-  // a S/W UNDI.\r
-  //\r
-  if (Snp->IsSwUndi) {\r
-    Snp->Cdb.CPBsize  = (UINT16) sizeof (PXE_CPB_START_31);\r
-    Snp->Cdb.CPBaddr  = (UINT64)(UINTN) Cpb31;\r
-\r
-    Cpb31->Delay     = (UINT64)(UINTN) &SnpUndi32CallbackDelay;\r
-    Cpb31->Block     = (UINT64)(UINTN) &SnpUndi32CallbackBlock;\r
-\r
-    //\r
-    // Virtual == Physical.  This can be set to zero.\r
-    //\r
-    Cpb31->Virt2Phys = (UINT64)(UINTN) 0;\r
-    Cpb31->Mem_IO    = (UINT64)(UINTN) &SnpUndi32CallbackMemio;\r
-\r
-    Cpb31->Map_Mem   = (UINT64)(UINTN) &SnpUndi32CallbackMap;\r
-    Cpb31->UnMap_Mem = (UINT64)(UINTN) &SnpUndi32CallbackUnmap;\r
-    Cpb31->Sync_Mem  = (UINT64)(UINTN) &SnpUndi32CallbackSync;\r
-\r
-    Cpb31->Unique_ID = (UINT64)(UINTN) Snp;\r
-  }\r
-  //\r
-  // Issue UNDI command and check result.\r
-  //\r
-  DEBUG ((EFI_D_NET, "\nsnp->undi.start()  "));\r
-\r
-  (*Snp->IssueUndi32Command) ((UINT64)(UINTN) &Snp->Cdb);\r
-\r
-  if (Snp->Cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
-    //\r
-    // UNDI could not be started. Return UNDI error.\r
-    //\r
-    DEBUG (\r
-      (EFI_D_ERROR,\r
-      "\nsnp->undi.start()  %xh:%xh\n",\r
-      Snp->Cdb.StatCode,\r
-      Snp->Cdb.StatFlags)\r
-      );\r
-\r
-    return EFI_DEVICE_ERROR;\r
-  }\r
-  //\r
-  // Set simple network state to Started and return success.\r
-  //\r
-  Snp->Mode.State = EfiSimpleNetworkStarted;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Change the state of a network interface from "stopped" to "started."\r
-\r
-  This function starts a network interface. If the network interface successfully\r
-  starts, then EFI_SUCCESS will be returned.\r
-\r
-  @param  This                   A pointer to the EFI_SIMPLE_NETWORK_PROTOCOL instance.\r
-\r
-  @retval EFI_SUCCESS            The network interface was started.\r
-  @retval EFI_ALREADY_STARTED    The network interface is already in the started state.\r
-  @retval EFI_INVALID_PARAMETER  This parameter was NULL or did not point to a valid\r
-                                 EFI_SIMPLE_NETWORK_PROTOCOL structure.\r
-  @retval EFI_DEVICE_ERROR       The command could not be sent to the network interface.\r
-  @retval EFI_UNSUPPORTED        This function is not supported by the network interface.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-SnpUndi32Start (\r
-  IN EFI_SIMPLE_NETWORK_PROTOCOL *This\r
-  )\r
-{\r
-  SNP_DRIVER  *Snp;\r
-  EFI_STATUS  Status;\r
-  UINTN       Index;\r
-  EFI_TPL     OldTpl;\r
-\r
-  if (This == NULL) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  Snp = EFI_SIMPLE_NETWORK_DEV_FROM_THIS (This);\r
-\r
-  OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
-\r
-  switch (Snp->Mode.State) {\r
-  case EfiSimpleNetworkStopped:\r
-    break;\r
-\r
-  case EfiSimpleNetworkStarted:\r
-  case EfiSimpleNetworkInitialized:\r
-    Status = EFI_ALREADY_STARTED;\r
-    goto ON_EXIT;\r
-\r
-  default:\r
-    Status = EFI_DEVICE_ERROR;\r
-    goto ON_EXIT;\r
-  }\r
-\r
-  Status = PxeStart (Snp);\r
-  if (EFI_ERROR (Status)) {\r
-    goto ON_EXIT;\r
-  }\r
-  //\r
-  // clear the map_list in SNP structure\r
-  //\r
-  for (Index = 0; Index < MAX_MAP_LENGTH; Index++) {\r
-    Snp->MapList[Index].VirtualAddress = 0;\r
-    Snp->MapList[Index].MapCookie      = 0;\r
-  }\r
-\r
-  Snp->Mode.MCastFilterCount = 0;\r
-\r
-ON_EXIT:\r
-  gBS->RestoreTPL (OldTpl);\r
-\r
-  return Status;\r
-}\r