]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Remove gEfiNetworkInterfaceIdentifierProtocolGuid reference from code base. Only...
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 13 Nov 2007 09:08:17 +0000 (09:08 +0000)
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 13 Nov 2007 09:08:17 +0000 (09:08 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4295 6f19259b-4bc3-4df7-8a09-765794883524

13 files changed:
MdeModulePkg/Bus/Pci/UndiRuntimeDxe/Decode.c
MdeModulePkg/Bus/Pci/UndiRuntimeDxe/E100b.h
MdeModulePkg/Bus/Pci/UndiRuntimeDxe/Init.c
MdeModulePkg/Bus/Pci/UndiRuntimeDxe/Undi32.h
MdeModulePkg/Bus/Pci/UndiRuntimeDxe/UndiRuntimeDxe.inf
MdeModulePkg/Universal/Network/PxeBcDxe/Bc.c
MdeModulePkg/Universal/Network/PxeBcDxe/PxeBcDxe.inf
MdeModulePkg/Universal/Network/SnpDxe/get_status.c
MdeModulePkg/Universal/Network/SnpDxe/receive.c
MdeModulePkg/Universal/Network/SnpDxe/snp.c
MdeModulePkg/Universal/Network/SnpDxe/snp.h
MdeModulePkg/Universal/Network/SnpDxe/start.c
MdeModulePkg/Universal/Network/SnpDxe/transmit.c

index cb7fa89749b01f0142fe97a5d97dd2fa8f49cd75..3e81c9eab7f498b56b8c31820d3e658315f1a9a9 100644 (file)
@@ -1290,52 +1290,6 @@ Returns:
   return ;\r
 }\r
 \r
   return ;\r
 }\r
 \r
-VOID\r
-UNDI_APIEntry_old (\r
-  IN  UINT64 cdb\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-  This is the main SW UNDI API entry using the older nii protocol.\r
-  The parameter passed in is a 64 bit flat model virtual\r
-  address of the cdb.  We then jump into the common routine for both old and\r
-  new nii protocol entries.\r
-\r
-Arguments:\r
-  CdbPtr            - Pointer to the command descriptor block.\r
-  AdapterInfo       - Pointer to the NIC data structure information which the UNDI driver is layering on..\r
-\r
-Returns:\r
-  None\r
-\r
---*/\r
-// TODO:    cdb - add argument and description to function comment\r
-{\r
-  PXE_CDB           *CdbPtr;\r
-  NIC_DATA_INSTANCE *AdapterInfo;\r
-\r
-  if (cdb == (UINT64) 0) {\r
-    return ;\r
-\r
-  }\r
-\r
-  CdbPtr = (PXE_CDB *) (UINTN) cdb;\r
-\r
-  if (CdbPtr->IFnum >= pxe->IFcnt) {\r
-    CdbPtr->StatFlags = PXE_STATFLAGS_COMMAND_FAILED;\r
-    CdbPtr->StatCode  = PXE_STATCODE_INVALID_CDB;\r
-    return ;\r
-  }\r
-\r
-  AdapterInfo               = &(UNDI32DeviceList[CdbPtr->IFnum]->NicInfo);\r
-\r
-  //\r
-  // entering from older entry point\r
-  //\r
-  AdapterInfo->VersionFlag  = 0x30;\r
-  UNDI_APIEntry_Common (cdb);\r
-}\r
 \r
 VOID\r
 UNDI_APIEntry_new (\r
 \r
 VOID\r
 UNDI_APIEntry_new (\r
@@ -1580,8 +1534,7 @@ Returns:
 \r
 VOID\r
 PxeStructInit (\r
 \r
 VOID\r
 PxeStructInit (\r
-  IN PXE_SW_UNDI *PxePtr,\r
-  IN UINTN       VersionFlag\r
+  IN PXE_SW_UNDI *PxePtr\r
   )\r
 /*++\r
 \r
   )\r
 /*++\r
 \r
@@ -1629,12 +1582,8 @@ Returns:
     PXE_ROMID_IMP_SOFTWARE_INT_SUPPORTED |\r
     PXE_ROMID_IMP_PACKET_RX_INT_SUPPORTED;\r
 \r
     PXE_ROMID_IMP_SOFTWARE_INT_SUPPORTED |\r
     PXE_ROMID_IMP_PACKET_RX_INT_SUPPORTED;\r
 \r
-  if (VersionFlag == 0x30) {\r
-    PxePtr->EntryPoint = (UINT64) UNDI_APIEntry_old;\r
-  } else {\r
-    PxePtr->EntryPoint  = (UINT64) UNDI_APIEntry_new;\r
-    PxePtr->MinorVer    = PXE_ROMID_MINORVER_31;\r
-  }\r
+  PxePtr->EntryPoint  = (UINT64) UNDI_APIEntry_new;\r
+  PxePtr->MinorVer    = PXE_ROMID_MINORVER_31;\r
 \r
   PxePtr->reserved2[0]  = 0;\r
   PxePtr->reserved2[1]  = 0;\r
 \r
   PxePtr->reserved2[0]  = 0;\r
   PxePtr->reserved2[1]  = 0;\r
index 80c90b5a6f1df579676062f25f7a3892b39e4a5d..d1107ddba7f9a11bc0f19b227fcec74d8488404e 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
 /*++\r
 \r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -630,7 +630,7 @@ typedef struct s_data_instance {
   UINT8 Rx_Filter;\r
   UINT8 VersionFlag;  // UNDI30 or UNDI31??\r
   UINT8 rsvd[3];\r
   UINT8 Rx_Filter;\r
   UINT8 VersionFlag;  // UNDI30 or UNDI31??\r
   UINT8 rsvd[3];\r
-  \r
+\r
   struct mc{\r
     UINT16 reserved [3]; // padding for this structure to make it 8 byte aligned\r
     UINT16 list_len;\r
   struct mc{\r
     UINT16 reserved [3]; // padding for this structure to make it 8 byte aligned\r
     UINT16 list_len;\r
index 3e3391ebee3be4160b7e22181608e0490dbd9c16..b79c5fe7a676f91a632f5f95ff25e4dc3170b675 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
 /*++\r
 \r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -26,10 +26,9 @@ Revision History
 //\r
 // Global Variables\r
 //\r
 //\r
 // Global Variables\r
 //\r
-PXE_SW_UNDI             *pxe = 0;     // 3.0 entry point\r
-PXE_SW_UNDI             *pxe_31 = 0;  // 3.1 entry\r
-UNDI32_DEV              *UNDI32DeviceList[MAX_NIC_INTERFACES];\r
 \r
 \r
+PXE_SW_UNDI             *pxe_31 = NULL;  // 3.1 entry\r
+UNDI32_DEV              *UNDI32DeviceList[MAX_NIC_INTERFACES];\r
 NII_TABLE               *UndiDataPointer = NULL;\r
 \r
 VOID\r
 NII_TABLE               *UndiDataPointer = NULL;\r
 \r
 VOID\r
@@ -381,16 +380,10 @@ Returns:
     } else {\r
       pxe_31 = (PXE_SW_UNDI *) TmpPxePointer;\r
     }\r
     } else {\r
       pxe_31 = (PXE_SW_UNDI *) TmpPxePointer;\r
     }\r
-    //\r
-    // assuming that the sizeof pxe_31 is a 16 byte multiple\r
-    //\r
-    pxe = (PXE_SW_UNDI *) ((CHAR8 *) (pxe_31) + sizeof (PXE_SW_UNDI));\r
 \r
 \r
-    PxeStructInit (pxe, 0x30);\r
-    PxeStructInit (pxe_31, 0x31);\r
+    PxeStructInit (pxe_31);\r
   }\r
 \r
   }\r
 \r
-  UNDI32Device->NIIProtocol.ID    = (UINT64) (UINTN) (pxe);\r
   UNDI32Device->NIIProtocol_31.ID = (UINT64) (UINTN) (pxe_31);\r
 \r
   Status = PciIoFncs->Attributes (\r
   UNDI32Device->NIIProtocol_31.ID = (UINT64) (UINTN) (pxe_31);\r
 \r
   Status = PciIoFncs->Attributes (\r
@@ -454,15 +447,13 @@ Returns:
   // the IfNum index for the current interface will be the total number\r
   // of interfaces initialized so far\r
   //\r
   // the IfNum index for the current interface will be the total number\r
   // of interfaces initialized so far\r
   //\r
-  UNDI32Device->NIIProtocol.IfNum     = pxe->IFcnt;\r
   UNDI32Device->NIIProtocol_31.IfNum  = pxe_31->IFcnt;\r
 \r
   UNDI32Device->NIIProtocol_31.IfNum  = pxe_31->IFcnt;\r
 \r
-  PxeUpdate (&UNDI32Device->NicInfo, pxe);\r
   PxeUpdate (&UNDI32Device->NicInfo, pxe_31);\r
 \r
   PxeUpdate (&UNDI32Device->NicInfo, pxe_31);\r
 \r
-  UNDI32Device->NicInfo.Io_Function                 = PciIoFncs;\r
-  UNDI32DeviceList[UNDI32Device->NIIProtocol.IfNum] = UNDI32Device;\r
-  UNDI32Device->Undi32BaseDevPath                   = UndiDevicePath;\r
+  UNDI32Device->NicInfo.Io_Function                    = PciIoFncs;\r
+  UNDI32DeviceList[UNDI32Device->NIIProtocol_31.IfNum] = UNDI32Device;\r
+  UNDI32Device->Undi32BaseDevPath                      = UndiDevicePath;\r
 \r
   Status = AppendMac2DevPath (\r
             &UNDI32Device->Undi32DevPath,\r
 \r
   Status = AppendMac2DevPath (\r
             &UNDI32Device->Undi32DevPath,\r
@@ -476,19 +467,6 @@ Returns:
 \r
   UNDI32Device->Signature                     = UNDI_DEV_SIGNATURE;\r
 \r
 \r
   UNDI32Device->Signature                     = UNDI_DEV_SIGNATURE;\r
 \r
-  UNDI32Device->NIIProtocol.Revision          = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION;\r
-  UNDI32Device->NIIProtocol.Type              = EfiNetworkInterfaceUndi;\r
-  UNDI32Device->NIIProtocol.MajorVer          = PXE_ROMID_MAJORVER;\r
-  UNDI32Device->NIIProtocol.MinorVer          = PXE_ROMID_MINORVER;\r
-  UNDI32Device->NIIProtocol.ImageSize         = 0;\r
-  UNDI32Device->NIIProtocol.ImageAddr         = 0;\r
-  UNDI32Device->NIIProtocol.Ipv6Supported     = FALSE;\r
-\r
-  UNDI32Device->NIIProtocol.StringId[0]       = 'U';\r
-  UNDI32Device->NIIProtocol.StringId[1]       = 'N';\r
-  UNDI32Device->NIIProtocol.StringId[2]       = 'D';\r
-  UNDI32Device->NIIProtocol.StringId[3]       = 'I';\r
-\r
   UNDI32Device->NIIProtocol_31.Revision       = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION_31;\r
   UNDI32Device->NIIProtocol_31.Type           = EfiNetworkInterfaceUndi;\r
   UNDI32Device->NIIProtocol_31.MajorVer       = PXE_ROMID_MAJORVER;\r
   UNDI32Device->NIIProtocol_31.Revision       = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION_31;\r
   UNDI32Device->NIIProtocol_31.Type           = EfiNetworkInterfaceUndi;\r
   UNDI32Device->NIIProtocol_31.MajorVer       = PXE_ROMID_MAJORVER;\r
@@ -511,8 +489,6 @@ Returns:
                   &UNDI32Device->DeviceHandle,\r
                   &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
                   &UNDI32Device->NIIProtocol_31,\r
                   &UNDI32Device->DeviceHandle,\r
                   &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
                   &UNDI32Device->NIIProtocol_31,\r
-                  &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-                  &UNDI32Device->NIIProtocol,\r
                   &gEfiDevicePathProtocolGuid,\r
                   UNDI32Device->Undi32DevPath,\r
                   NULL\r
                   &gEfiDevicePathProtocolGuid,\r
                   UNDI32Device->Undi32DevPath,\r
                   NULL\r
@@ -557,19 +533,16 @@ UndiErrorAllocDataPointer:
                   &UNDI32Device->DeviceHandle,\r
                   &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
                   &UNDI32Device->NIIProtocol_31,\r
                   &UNDI32Device->DeviceHandle,\r
                   &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
                   &UNDI32Device->NIIProtocol_31,\r
-                  &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-                  &UNDI32Device->NIIProtocol,\r
                   &gEfiDevicePathProtocolGuid,\r
                   UNDI32Device->Undi32DevPath,\r
                   NULL\r
                   );\r
 \r
 UndiErrorDeleteDevicePath:\r
                   &gEfiDevicePathProtocolGuid,\r
                   UNDI32Device->Undi32DevPath,\r
                   NULL\r
                   );\r
 \r
 UndiErrorDeleteDevicePath:\r
-  UNDI32DeviceList[UNDI32Device->NIIProtocol.IfNum] = NULL;\r
+  UNDI32DeviceList[UNDI32Device->NIIProtocol_31.IfNum] = NULL;\r
   gBS->FreePool (UNDI32Device->Undi32DevPath);\r
 \r
 UndiErrorDeletePxe:\r
   gBS->FreePool (UNDI32Device->Undi32DevPath);\r
 \r
 UndiErrorDeletePxe:\r
-  PxeUpdate (NULL, pxe);\r
   PxeUpdate (NULL, pxe_31);\r
   if (TmpPxePointer != NULL) {\r
     gBS->FreePool (TmpPxePointer);\r
   PxeUpdate (NULL, pxe_31);\r
   if (TmpPxePointer != NULL) {\r
     gBS->FreePool (TmpPxePointer);\r
@@ -673,7 +646,7 @@ Returns:
 \r
     Status = gBS->OpenProtocol (\r
                     ChildHandleBuffer[Index],\r
 \r
     Status = gBS->OpenProtocol (\r
                     ChildHandleBuffer[Index],\r
-                    &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
+                    &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
                     (VOID **) &NIIProtocol,\r
                     This->DriverBindingHandle,\r
                     Controller,\r
                     (VOID **) &NIIProtocol,\r
                     This->DriverBindingHandle,\r
                     Controller,\r
@@ -707,8 +680,6 @@ Returns:
                       UNDI32Device->Undi32DevPath,\r
                       &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
                       &UNDI32Device->NIIProtocol_31,\r
                       UNDI32Device->Undi32DevPath,\r
                       &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
                       &UNDI32Device->NIIProtocol_31,\r
-                      &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-                      &UNDI32Device->NIIProtocol,\r
                       NULL\r
                       );\r
 \r
                       NULL\r
                       );\r
 \r
index 12691bb1f0a79665aa240069ed900ce034e7dcfb..32f80fa8f2742411d2c9e8ddb6a60d3591a55f8c 100644 (file)
@@ -1,7 +1,7 @@
 \r
 /*++\r
 \r
 \r
 /*++\r
 \r
-Copyright (c) 2006, Intel Corporation.\r
+Copyright (c) 2006 - 2007, Intel Corporation.\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -61,12 +61,11 @@ Revision History
 #define MUST_BE_INITIALIZED 2\r
 \r
 #define UNDI_DEV_SIGNATURE   EFI_SIGNATURE_32('u','n','d','i')\r
 #define MUST_BE_INITIALIZED 2\r
 \r
 #define UNDI_DEV_SIGNATURE   EFI_SIGNATURE_32('u','n','d','i')\r
-#define UNDI_DEV_FROM_THIS(a) CR(a, UNDI32_DEV, NIIProtocol, UNDI_DEV_SIGNATURE)\r
+#define UNDI_DEV_FROM_THIS(a) CR(a, UNDI32_DEV, NIIProtocol_31, UNDI_DEV_SIGNATURE)\r
 #define UNDI_DEV_FROM_NIC(a) CR(a, UNDI32_DEV, NicInfo, UNDI_DEV_SIGNATURE)\r
 \r
 typedef struct {\r
   UINTN                                     Signature;\r
 #define UNDI_DEV_FROM_NIC(a) CR(a, UNDI32_DEV, NicInfo, UNDI_DEV_SIGNATURE)\r
 \r
 typedef struct {\r
   UINTN                                     Signature;\r
-  EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL NIIProtocol;\r
   EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL NIIProtocol_31;\r
   EFI_HANDLE                                DeviceHandle;\r
   EFI_DEVICE_PATH_PROTOCOL                  *Undi32BaseDevPath;\r
   EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL NIIProtocol_31;\r
   EFI_HANDLE                                DeviceHandle;\r
   EFI_DEVICE_PATH_PROTOCOL                  *Undi32BaseDevPath;\r
@@ -110,7 +109,6 @@ typedef VOID (*unmap_mem)(UINT64, UINT64, UINT32, UINT32, UINT64);
 typedef VOID (*sync_mem)(UINT64, UINT64, UINT32, UINT32, UINT64);\r
 \r
 extern UNDI_CALL_TABLE  api_table[];\r
 typedef VOID (*sync_mem)(UINT64, UINT64, UINT32, UINT32, UINT64);\r
 \r
 extern UNDI_CALL_TABLE  api_table[];\r
-extern PXE_SW_UNDI      *pxe;     // !pxe structure\r
 extern PXE_SW_UNDI      *pxe_31;  // !pxe structure for 3.1 drivers\r
 extern UNDI32_DEV       *UNDI32DeviceList[MAX_NIC_INTERFACES];\r
 \r
 extern PXE_SW_UNDI      *pxe_31;  // !pxe structure for 3.1 drivers\r
 extern UNDI32_DEV       *UNDI32DeviceList[MAX_NIC_INTERFACES];\r
 \r
@@ -362,13 +360,12 @@ UNDI_Receive (
   );\r
 \r
 VOID UNDI_APIEntry_new(UINT64);\r
   );\r
 \r
 VOID UNDI_APIEntry_new(UINT64);\r
-VOID UNDI_APIEntry_old(UINT64);\r
 VOID UNDI_APIEntry_Common(UINT64);\r
 \r
 PXE_IPV4 convert_mcip(PXE_MAC_ADDR *);\r
 INT32 validate_mcip (PXE_MAC_ADDR *MCastAddr);\r
 \r
 VOID UNDI_APIEntry_Common(UINT64);\r
 \r
 PXE_IPV4 convert_mcip(PXE_MAC_ADDR *);\r
 INT32 validate_mcip (PXE_MAC_ADDR *MCastAddr);\r
 \r
-VOID PxeStructInit (PXE_SW_UNDI *PxePtr, UINTN VersionFlag);\r
+VOID PxeStructInit (PXE_SW_UNDI *PxePtr);\r
 VOID PxeUpdate (NIC_DATA_INSTANCE *NicPtr, PXE_SW_UNDI *PxePtr);\r
 \r
 #endif\r
 VOID PxeUpdate (NIC_DATA_INSTANCE *NicPtr, PXE_SW_UNDI *PxePtr);\r
 \r
 #endif\r
index fc500c6a98d06b30c1b55f4c2090d3e8d6516f8f..5dc37e1bc57d1955e86ee04e7fd8a5a0b4cc0da8 100644 (file)
 \r
 \r
 [Guids]\r
 \r
 \r
 [Guids]\r
-  gEfiEventExitBootServicesGuid                \r
-  gEfiEventVirtualAddressChangeGuid            \r
+  gEfiEventExitBootServicesGuid\r
+  gEfiEventVirtualAddressChangeGuid\r
 \r
 \r
 [Protocols]\r
   gEfiNetworkInterfaceIdentifierProtocolGuid_31\r
 \r
 \r
 [Protocols]\r
   gEfiNetworkInterfaceIdentifierProtocolGuid_31\r
-  gEfiNetworkInterfaceIdentifierProtocolGuid   \r
-  gEfiPciIoProtocolGuid                        \r
-  gEfiDevicePathProtocolGuid                   \r
+  gEfiPciIoProtocolGuid\r
+  gEfiDevicePathProtocolGuid\r
 \r
 \r
index 63d11d2fe1b82b24de19fe8dad027b27298a875b..a59f189f92fe321602b155b5de3bc4d91f1a555c 100644 (file)
@@ -2172,19 +2172,9 @@ PxeBcDriverStart (
                   );\r
 \r
   if (EFI_ERROR (Status)) {\r
                   );\r
 \r
   if (EFI_ERROR (Status)) {\r
-    Status = gBS->OpenProtocol (\r
-                    Controller,\r
-                    &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-                    (VOID **) &Private->NiiPtr,\r
-                    This->DriverBindingHandle,\r
-                    Controller,\r
-                    EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-                    );\r
-\r
-    if (EFI_ERROR (Status)) {\r
-      goto PxeBcError;\r
-    }\r
+    goto PxeBcError;\r
   }\r
   }\r
+  \r
   //\r
   // Get the Snp interface\r
   //\r
   //\r
   // Get the Snp interface\r
   //\r
index 4bcd46ee94a46047a3cbbfe99d7859abedb2b61e..99c5363d63b6f0939dddef9d6d3e3c0e7ebd2442 100644 (file)
@@ -86,7 +86,6 @@
   gEfiLoadFileProtocolGuid                        # PROTOCOL ALWAYS_CONSUMED\r
   gEfiSimpleNetworkProtocolGuid                   # PROTOCOL ALWAYS_CONSUMED\r
   gEfiDevicePathProtocolGuid                      # PROTOCOL ALWAYS_CONSUMED\r
   gEfiLoadFileProtocolGuid                        # PROTOCOL ALWAYS_CONSUMED\r
   gEfiSimpleNetworkProtocolGuid                   # PROTOCOL ALWAYS_CONSUMED\r
   gEfiDevicePathProtocolGuid                      # PROTOCOL ALWAYS_CONSUMED\r
-  gEfiNetworkInterfaceIdentifierProtocolGuid      # PROTOCOL ALWAYS_CONSUMED\r
   gEfiTcpProtocolGuid                             # PROTOCOL ALWAYS_CONSUMED\r
   gEfiNetworkInterfaceIdentifierProtocolGuid_31   # PROTOCOL ALWAYS_CONSUMED\r
 \r
   gEfiTcpProtocolGuid                             # PROTOCOL ALWAYS_CONSUMED\r
   gEfiNetworkInterfaceIdentifierProtocolGuid_31   # PROTOCOL ALWAYS_CONSUMED\r
 \r
index 0c1cd8a68edfba7e1f9a561f08d9bc4b83cc48b9..d1fa2627fccfb02cabc5789ef3890b25eba81a78 100644 (file)
@@ -42,7 +42,6 @@ pxe_getstatus (
 {\r
   PXE_DB_GET_STATUS *db;\r
   UINT16            InterruptFlags;\r
 {\r
   PXE_DB_GET_STATUS *db;\r
   UINT16            InterruptFlags;\r
-  UINT64            TempData;\r
 \r
   db                = snp->db;\r
   snp->cdb.OpCode   = PXE_OPCODE_GET_STATUS;\r
 \r
   db                = snp->db;\r
   snp->cdb.OpCode   = PXE_OPCODE_GET_STATUS;\r
@@ -122,10 +121,6 @@ pxe_getstatus (
         (snp->cdb.StatFlags & PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY)\r
       ) ? 0 : (VOID *) (UINTN) db->TxBuffer[0];\r
 \r
         (snp->cdb.StatFlags & PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY)\r
       ) ? 0 : (VOID *) (UINTN) db->TxBuffer[0];\r
 \r
-    TempData = (UINT64) (UINTN) (*TransmitBufferListPtr);\r
-    if (snp->IsOldUndi && (TempData >= FOUR_GIGABYTES)) {\r
-      del_v2p ((VOID *) (UINTN) (db->TxBuffer[0]));\r
-    }\r
   }\r
 \r
   return EFI_SUCCESS;\r
   }\r
 \r
   return EFI_SUCCESS;\r
index 58bfa34f90fbcdeeff1b169611899cdb8399ee0d..b6f0c55ddeb83dafdd13249d63327e74e5caa100 100644 (file)
@@ -54,47 +54,13 @@ pxe_receive (
   PXE_CPB_RECEIVE *cpb;\r
   PXE_DB_RECEIVE  *db;\r
   UINTN           buf_size;\r
   PXE_CPB_RECEIVE *cpb;\r
   PXE_DB_RECEIVE  *db;\r
   UINTN           buf_size;\r
-  UINT64          TempData;\r
 \r
   cpb       = snp->cpb;\r
   db        = snp->db;\r
   buf_size  = *BuffSizePtr;\r
 \r
   cpb       = snp->cpb;\r
   db        = snp->db;\r
   buf_size  = *BuffSizePtr;\r
-  //\r
-  // IMPORTANT NOTE:\r
-  // In case of the older 3.0 UNDI, if the input buffer address is beyond 4GB,\r
-  // DO NOT call the map function on the given buffer, instead use\r
-  // a global buffer. The reason is that UNDI3.0 has some unnecessary check of\r
-  // making sure that all the addresses (whether or not they will be given\r
-  // to the NIC ) supplied to it are below 4GB. It may or may not use\r
-  // the mapped address after all (like in case of CPB and DB)!\r
-  // Instead of using the global buffer whose address is allocated within the\r
-  // 2GB limit if I start mapping the given buffer we lose the data, here is\r
-  // why!!!\r
-  // if our address is > 4GB, the map call creates another buffer below 2GB and\r
-  // copies data to/from the original buffer to the mapped buffer either at\r
-  // map time or unmap time depending on the map direction.\r
-  // UNDI will not complain since we already mapped the buffer to be\r
-  // within the 2GB limit but will not use (I know undi) the mapped address\r
-  // since it does not give the user buffers to the NIC's receive unit,\r
-  // It just copies the received packet into the user buffer using the virtual\r
-  // (CPU) address rather than the mapped (device or physical) address.\r
-  // When the UNDI call returns, if we then unmap the buffer, we will lose\r
-  // the contents because unmap copies the contents of the mapped buffer into\r
-  // the original buffer (since the direction is FROM_DEVICE) !!!\r
-  //\r
-  // this is not a problem in Undi 3.1 because this undi uses it's map callback\r
-  // routine to map a cpu address to device address and it does it only if\r
-  // it is giving the address to the device and unmaps it before using the cpu\r
-  // address!\r
-  //\r
-  TempData = (UINT64) (UINTN) BufferPtr;\r
-  if (snp->IsOldUndi && (TempData >= FOUR_GIGABYTES)) {\r
-    cpb->BufferAddr = (UINT64)(UINTN) snp->receive_buf;\r
-    cpb->BufferLen  = (UINT32) (snp->init_info.MediaHeaderLen + snp->init_info.FrameDataLen);\r
-  } else {\r
-    cpb->BufferAddr = (UINT64)(UINTN) BufferPtr;\r
-    cpb->BufferLen  = (UINT32) *BuffSizePtr;\r
-  }\r
+\r
+  cpb->BufferAddr = (UINT64)(UINTN) BufferPtr;\r
+  cpb->BufferLen  = (UINT32) *BuffSizePtr;\r
 \r
   cpb->reserved       = 0;\r
 \r
 \r
   cpb->reserved       = 0;\r
 \r
@@ -162,11 +128,6 @@ pxe_receive (
     *ProtocolPtr = (UINT16) PXE_SWAP_UINT16 (db->Protocol); /*  we need to do the byte swapping */\r
   }\r
 \r
     *ProtocolPtr = (UINT16) PXE_SWAP_UINT16 (db->Protocol); /*  we need to do the byte swapping */\r
   }\r
 \r
-  TempData = (UINT64) (UINTN) BufferPtr;\r
-  if (snp->IsOldUndi && (TempData >= FOUR_GIGABYTES)) {\r
-    CopyMem (BufferPtr, snp->receive_buf, snp->init_info.MediaHeaderLen + snp->init_info.FrameDataLen);\r
-  }\r
-\r
   return (*BuffSizePtr <= buf_size) ? EFI_SUCCESS : EFI_BUFFER_TOO_SMALL;\r
 }\r
 \r
   return (*BuffSizePtr <= buf_size) ? EFI_SUCCESS : EFI_BUFFER_TOO_SMALL;\r
 }\r
 \r
index 2f88c71ae8dd781d929e805e90872ac65e997b22..31b5022bd08f9f5d2c15f116262891447de7e67d 100644 (file)
@@ -329,9 +329,7 @@ SimpleNetworkDriverSupported (
   EFI_STATUS                                Status;\r
   EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *NiiProtocol;\r
   PXE_UNDI                                  *pxe;\r
   EFI_STATUS                                Status;\r
   EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *NiiProtocol;\r
   PXE_UNDI                                  *pxe;\r
-  BOOLEAN                                   IsUndi31;\r
 \r
 \r
-  IsUndi31 = FALSE;\r
   Status = gBS->OpenProtocol (\r
                   Controller,\r
                   &gEfiDevicePathProtocolGuid,\r
   Status = gBS->OpenProtocol (\r
                   Controller,\r
                   &gEfiDevicePathProtocolGuid,\r
@@ -352,34 +350,16 @@ SimpleNetworkDriverSupported (
                   Controller,\r
                   EFI_OPEN_PROTOCOL_BY_DRIVER\r
                   );\r
                   Controller,\r
                   EFI_OPEN_PROTOCOL_BY_DRIVER\r
                   );\r
-  if (Status == EFI_ALREADY_STARTED)\r
-  {\r
-    DEBUG ((EFI_D_INFO, "Support(): Already Started. on handle %x\n", Controller));\r
-    return EFI_ALREADY_STARTED;\r
-  }\r
 \r
 \r
-  if (!EFI_ERROR (Status))\r
-  {\r
-    DEBUG ((EFI_D_INFO, "Support(): UNDI3.1 found on handle %x\n", Controller));\r
-    IsUndi31 = TRUE;\r
-  } else {\r
-    //\r
-    // try the older 3.0 driver\r
-    //\r
-    Status = gBS->OpenProtocol (\r
-                    Controller,\r
-                    &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-                    (VOID **) &NiiProtocol,\r
-                    This->DriverBindingHandle,\r
-                    Controller,\r
-                    EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                    );\r
-    if (EFI_ERROR (Status)) {\r
-      return Status;\r
+  if (EFI_ERROR (Status)) {\r
+    if (Status == EFI_ALREADY_STARTED) {\r
+      DEBUG ((EFI_D_INFO, "Support(): Already Started. on handle %x\n", Controller));\r
     }\r
     }\r
-\r
-    DEBUG ((EFI_D_INFO, "Support(): UNDI3.0 found on handle %x\n", Controller));\r
+    return Status;\r
   }\r
   }\r
+\r
+  DEBUG ((EFI_D_INFO, "Support(): UNDI3.1 found on handle %x\n", Controller));\r
+\r
   //\r
   // check the version, we don't want to connect to the undi16\r
   //\r
   //\r
   // check the version, we don't want to connect to the undi16\r
   //\r
@@ -445,22 +425,12 @@ SimpleNetworkDriverSupported (
   DEBUG ((EFI_D_INFO, "Support(): supported on %x\n", Controller));\r
 \r
 Done:\r
   DEBUG ((EFI_D_INFO, "Support(): supported on %x\n", Controller));\r
 \r
 Done:\r
-  if (IsUndi31) {\r
-    gBS->CloseProtocol (\r
-          Controller,\r
-          &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
-          This->DriverBindingHandle,\r
-          Controller\r
-          );\r
-\r
-  } else {\r
-    gBS->CloseProtocol (\r
-          Controller,\r
-          &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-          This->DriverBindingHandle,\r
-          Controller\r
-          );\r
-  }\r
+  gBS->CloseProtocol (\r
+        Controller,\r
+        &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
+        This->DriverBindingHandle,\r
+        Controller\r
+        );\r
 \r
   return Status;\r
 }\r
 \r
   return Status;\r
 }\r
@@ -491,11 +461,7 @@ SimpleNetworkDriverStart (
   PXE_UNDI                                  *pxe;\r
   SNP_DRIVER                                *snp;\r
   VOID                                      *addr;\r
   PXE_UNDI                                  *pxe;\r
   SNP_DRIVER                                *snp;\r
   VOID                                      *addr;\r
-  VOID                                      *addrUnmap;\r
-  EFI_PHYSICAL_ADDRESS                      paddr;\r
   EFI_HANDLE                                Handle;\r
   EFI_HANDLE                                Handle;\r
-  UINTN                                     Size;\r
-  BOOLEAN                                   UndiNew;\r
   PXE_PCI_CONFIG_INFO                       ConfigInfo;\r
   PCI_TYPE00                                *ConfigHeader;\r
   UINT32                                    *TempBar;\r
   PXE_PCI_CONFIG_INFO                       ConfigInfo;\r
   PCI_TYPE00                                *ConfigHeader;\r
   UINT32                                    *TempBar;\r
@@ -539,8 +505,7 @@ SimpleNetworkDriverStart (
     return Status;\r
   }\r
   //\r
     return Status;\r
   }\r
   //\r
-  // Get the NII interface. look for 3.1 undi first, if it is not there\r
-  // then look for 3.0, validate the interface.\r
+  // Get the NII interface.\r
   //\r
   Status = gBS->OpenProtocol (\r
                   Controller,\r
   //\r
   Status = gBS->OpenProtocol (\r
                   Controller,\r
@@ -550,7 +515,7 @@ SimpleNetworkDriverStart (
                   Controller,\r
                   EFI_OPEN_PROTOCOL_BY_DRIVER\r
                   );\r
                   Controller,\r
                   EFI_OPEN_PROTOCOL_BY_DRIVER\r
                   );\r
-  if (Status == EFI_ALREADY_STARTED) {\r
+  if (EFI_ERROR (Status)) {\r
     gBS->CloseProtocol (\r
           Controller,\r
           &gEfiDevicePathProtocolGuid,\r
     gBS->CloseProtocol (\r
           Controller,\r
           &gEfiDevicePathProtocolGuid,\r
@@ -560,36 +525,7 @@ SimpleNetworkDriverStart (
     return Status;\r
   }\r
 \r
     return Status;\r
   }\r
 \r
-  if (!EFI_ERROR (Status)) {\r
-    //\r
-    // probably not a 3.1 UNDI\r
-    //\r
-    UndiNew = TRUE;\r
-    DEBUG ((EFI_D_INFO, "Start(): UNDI3.1 found\n"));\r
-\r
-  } else {\r
-    UndiNew = FALSE;\r
-    Status = gBS->OpenProtocol (\r
-                    Controller,\r
-                    &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-                    (VOID **) &Nii,\r
-                    This->DriverBindingHandle,\r
-                    Controller,\r
-                    EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                    );\r
-    if (EFI_ERROR (Status)) {\r
-      gBS->CloseProtocol (\r
-            Controller,\r
-            &gEfiDevicePathProtocolGuid,\r
-            This->DriverBindingHandle,\r
-            Controller\r
-            );\r
-\r
-      return Status;\r
-    }\r
-\r
-    DEBUG ((EFI_D_INFO, "Start(): UNDI3.0 found\n"));\r
-  }\r
+  DEBUG ((EFI_D_INFO, "Start(): UNDI3.1 found\n"));\r
 \r
   pxe = (PXE_UNDI *) (UINTN) (Nii->ID);\r
 \r
 \r
   pxe = (PXE_UNDI *) (UINTN) (Nii->ID);\r
 \r
@@ -632,30 +568,9 @@ SimpleNetworkDriverStart (
 \r
   snp = (SNP_DRIVER *) (UINTN) addr;\r
 \r
 \r
   snp = (SNP_DRIVER *) (UINTN) addr;\r
 \r
-  if (!UndiNew) {\r
-    Size = SNP_MEM_PAGES (sizeof (SNP_DRIVER));\r
-\r
-    Status = mPciIoFncs->Map (\r
-                          mPciIoFncs,\r
-                          EfiPciIoOperationBusMasterCommonBuffer,\r
-                          addr,\r
-                          &Size,\r
-                          &paddr,\r
-                          &addrUnmap\r
-                          );\r
-\r
-    ASSERT (paddr);\r
-\r
-    DEBUG ((EFI_D_NET, "\nSNP_DRIVER @ %Xh, sizeof(SNP_DRIVER) == %d", addr, sizeof (SNP_DRIVER)));\r
-    snp                 = (SNP_DRIVER *) (UINTN) paddr;\r
-    snp->SnpDriverUnmap = addrUnmap;\r
-  }\r
-\r
   ZeroMem (snp, sizeof (SNP_DRIVER));\r
 \r
   snp->IoFncs     = mPciIoFncs;\r
   ZeroMem (snp, sizeof (SNP_DRIVER));\r
 \r
   snp->IoFncs     = mPciIoFncs;\r
-  snp->IsOldUndi  = (BOOLEAN) (!UndiNew);\r
-\r
   snp->Signature  = SNP_DRIVER_SIGNATURE;\r
 \r
   EfiInitializeLock (&snp->lock, TPL_NOTIFY);\r
   snp->Signature  = SNP_DRIVER_SIGNATURE;\r
 \r
   EfiInitializeLock (&snp->lock, TPL_NOTIFY);\r
@@ -725,26 +640,9 @@ SimpleNetworkDriverStart (
     goto Error_DeleteSNP;\r
   }\r
 \r
     goto Error_DeleteSNP;\r
   }\r
 \r
-  if (snp->IsOldUndi) {\r
-    Size = SNP_MEM_PAGES (4096);\r
-\r
-    Status = mPciIoFncs->Map (\r
-                          mPciIoFncs,\r
-                          EfiPciIoOperationBusMasterCommonBuffer,\r
-                          addr,\r
-                          &Size,\r
-                          &paddr,\r
-                          &snp->CpbUnmap\r
-                          );\r
+  snp->cpb  = (VOID *) (UINTN) addr;\r
+  snp->db   = (VOID *) ((UINTN) addr + 2048);\r
 \r
 \r
-    ASSERT (paddr);\r
-\r
-    snp->cpb  = (VOID *) (UINTN) paddr;\r
-    snp->db   = (VOID *) ((UINTN) paddr + 2048);\r
-  } else {\r
-    snp->cpb  = (VOID *) (UINTN) addr;\r
-    snp->db   = (VOID *) ((UINTN) addr + 2048);\r
-  }\r
   //\r
   // pxe_start call is going to give the callback functions to UNDI, these callback\r
   // functions use the BarIndex values from the snp structure, so these must be initialized\r
   //\r
   // pxe_start call is going to give the callback functions to UNDI, these callback\r
   // functions use the BarIndex values from the snp structure, so these must be initialized\r
@@ -762,7 +660,7 @@ SimpleNetworkDriverStart (
   Status = pxe_start (snp);\r
 \r
   if (Status != EFI_SUCCESS) {\r
   Status = pxe_start (snp);\r
 \r
   if (Status != EFI_SUCCESS) {\r
-    goto Error_DeleteCPBDB;\r
+    goto Error_DeleteSNP;\r
   }\r
 \r
   snp->cdb.OpCode     = PXE_OPCODE_GET_INIT_INFO;\r
   }\r
 \r
   snp->cdb.OpCode     = PXE_OPCODE_GET_INIT_INFO;\r
@@ -792,7 +690,7 @@ SimpleNetworkDriverStart (
   if (snp->cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
     DEBUG ((EFI_D_NET, "\nsnp->undi.init_info()  %xh:%xh\n", snp->cdb.StatFlags, snp->cdb.StatCode));\r
     pxe_stop (snp);\r
   if (snp->cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
     DEBUG ((EFI_D_NET, "\nsnp->undi.init_info()  %xh:%xh\n", snp->cdb.StatFlags, snp->cdb.StatCode));\r
     pxe_stop (snp);\r
-    goto Error_DeleteCPBDB;\r
+    goto Error_DeleteSNP;\r
   }\r
 \r
   snp->cdb.OpCode     = PXE_OPCODE_GET_CONFIG_INFO;\r
   }\r
 \r
   snp->cdb.OpCode     = PXE_OPCODE_GET_CONFIG_INFO;\r
@@ -817,7 +715,7 @@ SimpleNetworkDriverStart (
   if (snp->cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
     DEBUG ((EFI_D_NET, "\nsnp->undi.config_info()  %xh:%xh\n", snp->cdb.StatFlags, snp->cdb.StatCode));\r
     pxe_stop (snp);\r
   if (snp->cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
     DEBUG ((EFI_D_NET, "\nsnp->undi.config_info()  %xh:%xh\n", snp->cdb.StatFlags, snp->cdb.StatCode));\r
     pxe_stop (snp);\r
-    goto Error_DeleteCPBDB;\r
+    goto Error_DeleteSNP;\r
   }\r
   //\r
   // Find the correct BAR to do IO.\r
   }\r
   //\r
   // Find the correct BAR to do IO.\r
@@ -846,79 +744,6 @@ SimpleNetworkDriverStart (
     TempBar++;\r
   }\r
 \r
     TempBar++;\r
   }\r
 \r
-  //\r
-  // We allocate 2 more global buffers for undi 3.0 interface. We use these\r
-  // buffers to pass to undi when the user buffers are beyond 4GB.\r
-  // UNDI 3.0 wants all the addresses passed to it to be\r
-  // within 2GB limit, create them here and map them so that when undi calls\r
-  // v2p callback to check if the physical address is < 2gb, we will pass.\r
-  //\r
-  // For 3.1 and later UNDIs, we do not do this because undi is\r
-  // going to call the map() callback if and only if it wants to use the\r
-  // device address for any address it receives.\r
-  //\r
-  if (snp->IsOldUndi) {\r
-    //\r
-    // buffer for receive\r
-    //\r
-    Size = SNP_MEM_PAGES (snp->init_info.MediaHeaderLen + snp->init_info.FrameDataLen);\r
-    Status = mPciIoFncs->AllocateBuffer (\r
-                          mPciIoFncs,\r
-                          AllocateAnyPages,\r
-                          EfiBootServicesData,\r
-                          Size,\r
-                          &addr,\r
-                          0\r
-                          );\r
-\r
-    if (Status != EFI_SUCCESS) {\r
-      DEBUG ((EFI_D_ERROR, "\nCould not allocate receive buffer.\n"));\r
-      goto Error_DeleteCPBDB;\r
-    }\r
-\r
-    Status = mPciIoFncs->Map (\r
-                          mPciIoFncs,\r
-                          EfiPciIoOperationBusMasterCommonBuffer,\r
-                          addr,\r
-                          &Size,\r
-                          &paddr,\r
-                          &snp->ReceiveBufUnmap\r
-                          );\r
-\r
-    ASSERT (paddr);\r
-\r
-    snp->receive_buf = (UINT8 *) (UINTN) paddr;\r
-\r
-    //\r
-    // buffer for fill_header\r
-    //\r
-    Size = SNP_MEM_PAGES (snp->init_info.MediaHeaderLen);\r
-    Status = mPciIoFncs->AllocateBuffer (\r
-                          mPciIoFncs,\r
-                          AllocateAnyPages,\r
-                          EfiBootServicesData,\r
-                          Size,\r
-                          &addr,\r
-                          0\r
-                          );\r
-\r
-    if (Status != EFI_SUCCESS) {\r
-      DEBUG ((EFI_D_ERROR, "\nCould not allocate fill_header buffer.\n"));\r
-      goto Error_DeleteRCVBuf;\r
-    }\r
-\r
-    Status = mPciIoFncs->Map (\r
-                          mPciIoFncs,\r
-                          EfiPciIoOperationBusMasterCommonBuffer,\r
-                          addr,\r
-                          &Size,\r
-                          &paddr,\r
-                          &snp->FillHdrBufUnmap\r
-                          );\r
-\r
-    ASSERT (paddr);\r
-    snp->fill_hdr_buf = (UINT8 *) (UINTN) paddr;\r
-  }\r
   //\r
   //  Initialize simple network protocol mode structure\r
   //\r
   //\r
   //  Initialize simple network protocol mode structure\r
   //\r
@@ -992,7 +817,7 @@ SimpleNetworkDriverStart (
 \r
   if (Status) {\r
     pxe_stop (snp);\r
 \r
   if (Status) {\r
     pxe_stop (snp);\r
-    goto Error_DeleteHdrBuf;\r
+    goto Error_DeleteSNP;\r
   }\r
 \r
   Status = pxe_get_stn_addr (snp);\r
   }\r
 \r
   Status = pxe_get_stn_addr (snp);\r
@@ -1001,7 +826,7 @@ SimpleNetworkDriverStart (
     DEBUG ((EFI_D_ERROR, "\nsnp->undi.get_station_addr()  failed.\n"));\r
     pxe_shutdown (snp);\r
     pxe_stop (snp);\r
     DEBUG ((EFI_D_ERROR, "\nsnp->undi.get_station_addr()  failed.\n"));\r
     pxe_shutdown (snp);\r
     pxe_stop (snp);\r
-    goto Error_DeleteHdrBuf;\r
+    goto Error_DeleteSNP;\r
   }\r
 \r
   snp->mode.MediaPresent = FALSE;\r
   }\r
 \r
   snp->mode.MediaPresent = FALSE;\r
@@ -1033,43 +858,6 @@ SimpleNetworkDriverStart (
     return Status;\r
   }\r
 \r
     return Status;\r
   }\r
 \r
-Error_DeleteHdrBuf:\r
-  if (snp->IsOldUndi) {\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          snp->FillHdrBufUnmap\r
-                          );\r
-    Size = SNP_MEM_PAGES (snp->init_info.MediaHeaderLen);\r
-    mPciIoFncs->FreeBuffer (\r
-                  mPciIoFncs,\r
-                  Size,\r
-                  snp->fill_hdr_buf\r
-                  );\r
-  }\r
-\r
-Error_DeleteRCVBuf:\r
-  if (snp->IsOldUndi) {\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          snp->ReceiveBufUnmap\r
-                          );\r
-    Size = SNP_MEM_PAGES (snp->init_info.MediaHeaderLen + snp->init_info.FrameDataLen);\r
-    mPciIoFncs->FreeBuffer (\r
-                  mPciIoFncs,\r
-                  Size,\r
-                  snp->receive_buf\r
-                  );\r
-\r
-  }\r
-\r
-Error_DeleteCPBDB:\r
-  if (snp->IsOldUndi) {\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          snp->CpbUnmap\r
-                          );\r
-  }\r
-\r
   Status = mPciIoFncs->FreeBuffer (\r
                         mPciIoFncs,\r
                         SNP_MEM_PAGES (4096),\r
   Status = mPciIoFncs->FreeBuffer (\r
                         mPciIoFncs,\r
                         SNP_MEM_PAGES (4096),\r
@@ -1077,12 +865,6 @@ Error_DeleteCPBDB:
                         );\r
 \r
 Error_DeleteSNP:\r
                         );\r
 \r
 Error_DeleteSNP:\r
-  if (snp->IsOldUndi) {\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          snp->SnpDriverUnmap\r
-                          );\r
-  }\r
 \r
   mPciIoFncs->FreeBuffer (\r
                 mPciIoFncs,\r
 \r
   mPciIoFncs->FreeBuffer (\r
                 mPciIoFncs,\r
@@ -1090,21 +872,12 @@ Error_DeleteSNP:
                 snp\r
                 );\r
 NiiError:\r
                 snp\r
                 );\r
 NiiError:\r
-  if (!UndiNew) {\r
-    gBS->CloseProtocol (\r
-          Controller,\r
-          &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-          This->DriverBindingHandle,\r
-          Controller\r
-          );\r
-  } else {\r
-    gBS->CloseProtocol (\r
-          Controller,\r
-          &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
-          This->DriverBindingHandle,\r
-          Controller\r
-          );\r
-  }\r
+  gBS->CloseProtocol (\r
+        Controller,\r
+        &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
+        This->DriverBindingHandle,\r
+        Controller\r
+        );\r
 \r
   gBS->CloseProtocol (\r
         Controller,\r
 \r
   gBS->CloseProtocol (\r
         Controller,\r
@@ -1163,21 +936,12 @@ SimpleNetworkDriverStop (
     return Status;\r
   }\r
 \r
     return Status;\r
   }\r
 \r
-  if (!Snp->IsOldUndi) {\r
-    Status = gBS->CloseProtocol (\r
-                    Controller,\r
-                    &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
-                    This->DriverBindingHandle,\r
-                    Controller\r
-                    );\r
-  } else {\r
-    Status = gBS->CloseProtocol (\r
-                    Controller,\r
-                    &gEfiNetworkInterfaceIdentifierProtocolGuid,\r
-                    This->DriverBindingHandle,\r
-                    Controller\r
-                    );\r
-  }\r
+  Status = gBS->CloseProtocol (\r
+                  Controller,\r
+                  &gEfiNetworkInterfaceIdentifierProtocolGuid_31,\r
+                  This->DriverBindingHandle,\r
+                  Controller\r
+                  );\r
 \r
   Status = gBS->CloseProtocol (\r
                   Controller,\r
 \r
   Status = gBS->CloseProtocol (\r
                   Controller,\r
@@ -1189,38 +953,6 @@ SimpleNetworkDriverStop (
   pxe_shutdown (Snp);\r
   pxe_stop (Snp);\r
 \r
   pxe_shutdown (Snp);\r
   pxe_stop (Snp);\r
 \r
-  if (Snp->IsOldUndi) {\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          Snp->FillHdrBufUnmap\r
-                          );\r
-\r
-    mPciIoFncs->FreeBuffer (\r
-                  mPciIoFncs,\r
-                  SNP_MEM_PAGES (Snp->init_info.MediaHeaderLen),\r
-                  Snp->fill_hdr_buf\r
-                  );\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          Snp->ReceiveBufUnmap\r
-                          );\r
-\r
-    mPciIoFncs->FreeBuffer (\r
-                  mPciIoFncs,\r
-                  SNP_MEM_PAGES (Snp->init_info.MediaHeaderLen + Snp->init_info.FrameDataLen),\r
-                  Snp->receive_buf\r
-                  );\r
-\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          Snp->CpbUnmap\r
-                          );\r
-    Status = mPciIoFncs->Unmap (\r
-                          mPciIoFncs,\r
-                          Snp->SnpDriverUnmap\r
-                          );\r
-  }\r
-\r
   mPciIoFncs->FreeBuffer (\r
                 mPciIoFncs,\r
                 SNP_MEM_PAGES (4096),\r
   mPciIoFncs->FreeBuffer (\r
                 mPciIoFncs,\r
                 SNP_MEM_PAGES (4096),\r
index 01f428d2f113fa76253f092b602dd5a89dee8400..b6e58c4d27bb59c4153607c24ad283bf51abc8b8 100644 (file)
@@ -95,7 +95,7 @@ typedef struct {
   EFI_PCI_IO_PROTOCOL   *IoFncs;\r
   UINT8                 IoBarIndex;\r
   UINT8                 MemoryBarIndex;\r
   EFI_PCI_IO_PROTOCOL   *IoFncs;\r
   UINT8                 IoBarIndex;\r
   UINT8                 MemoryBarIndex;\r
-  BOOLEAN               IsOldUndi;  // true for EFI1.0 UNDI (3.0) drivers\r
+\r
   //\r
   // Buffers for command descriptor block, command parameter block\r
   // and data block.\r
   //\r
   // Buffers for command descriptor block, command parameter block\r
   // and data block.\r
index 10c9554a0f3e8d55050d9f90f8cb7dd17d989893..eaba03c57dbe657cf8c914ab6d7f2d6990843b6d 100644 (file)
@@ -33,10 +33,8 @@ pxe_start (
   SNP_DRIVER *snp\r
   )\r
 {\r
   SNP_DRIVER *snp\r
   )\r
 {\r
-  PXE_CPB_START_30  *cpb;\r
   PXE_CPB_START_31  *cpb_31;\r
 \r
   PXE_CPB_START_31  *cpb_31;\r
 \r
-  cpb     = snp->cpb;\r
   cpb_31  = snp->cpb;\r
   //\r
   // Initialize UNDI Start CDB for H/W UNDI\r
   cpb_31  = snp->cpb;\r
   //\r
   // Initialize UNDI Start CDB for H/W UNDI\r
@@ -57,37 +55,23 @@ pxe_start (
   // a S/W UNDI.\r
   //\r
   if (snp->is_swundi) {\r
   // a S/W UNDI.\r
   //\r
   if (snp->is_swundi) {\r
-    if (snp->IsOldUndi) {\r
-      snp->cdb.CPBsize  = sizeof (PXE_CPB_START_30);\r
-      snp->cdb.CPBaddr  = (UINT64)(UINTN) cpb;\r
-\r
-      cpb->Delay        = (UINT64)(UINTN) &snp_undi32_callback_delay_30;\r
-      cpb->Block        = (UINT64)(UINTN) &snp_undi32_callback_block_30;\r
-\r
-      //\r
-      // Virtual == Physical.  This can be set to zero.\r
-      //\r
-      cpb->Virt2Phys  = (UINT64)(UINTN) &snp_undi32_callback_v2p_30;\r
-      cpb->Mem_IO     = (UINT64)(UINTN) &snp_undi32_callback_memio_30;\r
-    } else {\r
-      snp->cdb.CPBsize  = sizeof (PXE_CPB_START_31);\r
-      snp->cdb.CPBaddr  = (UINT64)(UINTN) cpb_31;\r
-\r
-      cpb_31->Delay     = (UINT64)(UINTN) &snp_undi32_callback_delay;\r
-      cpb_31->Block     = (UINT64)(UINTN) &snp_undi32_callback_block;\r
-\r
-      //\r
-      // Virtual == Physical.  This can be set to zero.\r
-      //\r
-      cpb_31->Virt2Phys = (UINT64)(UINTN) 0;\r
-      cpb_31->Mem_IO    = (UINT64)(UINTN) &snp_undi32_callback_memio;\r
-\r
-      cpb_31->Map_Mem   = (UINT64)(UINTN) &snp_undi32_callback_map;\r
-      cpb_31->UnMap_Mem = (UINT64)(UINTN) &snp_undi32_callback_unmap;\r
-      cpb_31->Sync_Mem  = (UINT64)(UINTN) &snp_undi32_callback_sync;\r
-\r
-      cpb_31->Unique_ID = (UINT64)(UINTN) snp;\r
-    }\r
+    snp->cdb.CPBsize  = sizeof (PXE_CPB_START_31);\r
+    snp->cdb.CPBaddr  = (UINT64)(UINTN) cpb_31;\r
+\r
+    cpb_31->Delay     = (UINT64)(UINTN) &snp_undi32_callback_delay;\r
+    cpb_31->Block     = (UINT64)(UINTN) &snp_undi32_callback_block;\r
+\r
+    //\r
+    // Virtual == Physical.  This can be set to zero.\r
+    //\r
+    cpb_31->Virt2Phys = (UINT64)(UINTN) 0;\r
+    cpb_31->Mem_IO    = (UINT64)(UINTN) &snp_undi32_callback_memio;\r
+\r
+    cpb_31->Map_Mem   = (UINT64)(UINTN) &snp_undi32_callback_map;\r
+    cpb_31->UnMap_Mem = (UINT64)(UINTN) &snp_undi32_callback_unmap;\r
+    cpb_31->Sync_Mem  = (UINT64)(UINTN) &snp_undi32_callback_sync;\r
+\r
+    cpb_31->Unique_ID = (UINT64)(UINTN) snp;\r
   }\r
   //\r
   // Issue UNDI command and check result.\r
   }\r
   //\r
   // Issue UNDI command and check result.\r
index d113edec962b70087246f27ad86886440d001492..8ee0cad566632a2aeffac06347233d8670be9172 100644 (file)
@@ -52,9 +52,6 @@ pxe_fillheader (
   )\r
 {\r
   PXE_CPB_FILL_HEADER_FRAGMENTED  *cpb;\r
   )\r
 {\r
   PXE_CPB_FILL_HEADER_FRAGMENTED  *cpb;\r
-  EFI_STATUS                      Status;\r
-  struct s_v2p                    *pkt_v2p;\r
-  UINT64                          TempData;\r
 \r
   cpb = snp->cpb;\r
   if (SourceAddrPtr) {\r
 \r
   cpb = snp->cpb;\r
   if (SourceAddrPtr) {\r
@@ -95,35 +92,6 @@ pxe_fillheader (
 \r
   cpb->FragDesc[0].reserved = cpb->FragDesc[1].reserved = 0;\r
 \r
 \r
   cpb->FragDesc[0].reserved = cpb->FragDesc[1].reserved = 0;\r
 \r
-  if (snp->IsOldUndi) {\r
-    TempData = (UINT64) (UINTN) MacHeaderPtr;\r
-    if (TempData >= FOUR_GIGABYTES) {\r
-      cpb->FragDesc[0].FragAddr = (UINT64) (UINTN) snp->fill_hdr_buf;\r
-      cpb->FragDesc[0].FragLen  = (UINT32) snp->init_info.MediaHeaderLen;\r
-    }\r
-\r
-    TempData = (UINT64) (UINTN) (BufferPtr);\r
-    if (TempData >= FOUR_GIGABYTES) {\r
-      //\r
-      // Let the device just read this buffer\r
-      //\r
-      Status = add_v2p (\r
-                &pkt_v2p,\r
-                EfiPciIoOperationBusMasterRead,\r
-                BufferPtr,\r
-                BufferLength\r
-                );\r
-      if (Status != EFI_SUCCESS) {\r
-        return Status;\r
-      }\r
-      //\r
-      // give the virtual address to UNDI and it will call back on Virt2Phys\r
-      // to get the mapped address, if it needs it\r
-      //\r
-      cpb->FragDesc[1].FragLen = (UINT32) pkt_v2p->bsize;\r
-    }\r
-  }\r
-\r
   snp->cdb.OpCode     = PXE_OPCODE_FILL_HEADER;\r
   snp->cdb.OpFlags    = PXE_OPFLAGS_FILL_HEADER_FRAGMENTED;\r
 \r
   snp->cdb.OpCode     = PXE_OPCODE_FILL_HEADER;\r
   snp->cdb.OpFlags    = PXE_OPFLAGS_FILL_HEADER_FRAGMENTED;\r
 \r
@@ -145,24 +113,6 @@ pxe_fillheader (
 \r
   (*snp->issue_undi32_command) ((UINT64) (UINTN) &snp->cdb);\r
 \r
 \r
   (*snp->issue_undi32_command) ((UINT64) (UINTN) &snp->cdb);\r
 \r
-  if (snp->IsOldUndi) {\r
-    TempData = (UINT64) (UINTN) (BufferPtr);\r
-    if (TempData >= FOUR_GIGABYTES) {\r
-      del_v2p (BufferPtr);\r
-    }\r
-    //\r
-    // if we used the global buffer for header, copy the contents\r
-    //\r
-    TempData = (UINT64) (UINTN) MacHeaderPtr;\r
-    if (TempData >= FOUR_GIGABYTES) {\r
-      CopyMem (\r
-        MacHeaderPtr,\r
-        snp->fill_hdr_buf,\r
-        snp->init_info.MediaHeaderLen\r
-        );\r
-    }\r
-  }\r
-\r
   switch (snp->cdb.StatCode) {\r
   case PXE_STATCODE_SUCCESS:\r
     return EFI_SUCCESS;\r
   switch (snp->cdb.StatCode) {\r
   case PXE_STATCODE_SUCCESS:\r
     return EFI_SUCCESS;\r
@@ -211,32 +161,10 @@ pxe_transmit (
 {\r
   PXE_CPB_TRANSMIT  *cpb;\r
   EFI_STATUS        Status;\r
 {\r
   PXE_CPB_TRANSMIT  *cpb;\r
   EFI_STATUS        Status;\r
-  struct s_v2p      *v2p;\r
-  UINT64            TempData;\r
 \r
   cpb             = snp->cpb;\r
   cpb->FrameAddr  = (UINT64) (UINTN) BufferPtr;\r
   cpb->DataLen    = (UINT32) BufferLength;\r
 \r
   cpb             = snp->cpb;\r
   cpb->FrameAddr  = (UINT64) (UINTN) BufferPtr;\r
   cpb->DataLen    = (UINT32) BufferLength;\r
-  \r
-  TempData = (UINT64) (UINTN) BufferPtr;\r
-  if (snp->IsOldUndi && (TempData >= FOUR_GIGABYTES)) {\r
-    //\r
-    // we need to create a mapping now and give it to the undi when it calls\r
-    // the Virt2Phys on this address.\r
-    // this is a transmit, just map it for the device to READ\r
-    //\r
-    Status = add_v2p (\r
-              &v2p,\r
-              EfiPciIoOperationBusMasterRead,\r
-              BufferPtr,\r
-              BufferLength\r
-              );\r
-    if (Status != EFI_SUCCESS) {\r
-      return Status;\r
-    }\r
-\r
-    cpb->DataLen = (UINT32) v2p->bsize;\r
-  }\r
 \r
   cpb->MediaheaderLen = 0;\r
   cpb->reserved       = 0;\r
 \r
   cpb->MediaheaderLen = 0;\r
   cpb->reserved       = 0;\r