From 8f586b85c3f617ba802e663b4b3b303e06140863 Mon Sep 17 00:00:00 2001 From: Randy Pawell Date: Thu, 4 Dec 2014 00:55:50 +0000 Subject: NetworkPkg: Source fixes and cleanup for ARMGCC compiles - Fix EFI_IPv4_ADDRESS usages to use a macro to copy the structure instead of direct assignment, to avoid runtime alignment errors. - Delete excess local variables that are initialized but otherwise unused. - Add LibraryClasses.ARM & AARCH64 section in NetworkPkg.dsc file, containing a CompilerIntrinsicsLib null-library, required for successful standalone package builds (copied from MdeModulePkg.dsc). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Randy Pawell Reviewed-by: Fu Siyuan Reviewed-by: Ye Ting git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16472 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/TcpDxe/TcpDispatcher.c | 31 ++++++++++++++++++++----------- NetworkPkg/TcpDxe/TcpMain.c | 7 ++++--- NetworkPkg/TcpDxe/TcpMisc.c | 3 +-- 3 files changed, 25 insertions(+), 16 deletions(-) (limited to 'NetworkPkg/TcpDxe') diff --git a/NetworkPkg/TcpDxe/TcpDispatcher.c b/NetworkPkg/TcpDxe/TcpDispatcher.c index 7b3d14dace..d4bc8ace55 100644 --- a/NetworkPkg/TcpDxe/TcpDispatcher.c +++ b/NetworkPkg/TcpDxe/TcpDispatcher.c @@ -1,6 +1,7 @@ /** @file The implementation of a dispatch routine for processing TCP requests. + (C) Copyright 2014 Hewlett-Packard Development Company, L.P.
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials @@ -98,12 +99,12 @@ Tcp4GetMode ( AccessPoint->UseDefaultAddress = Tcb->UseDefaultAddr; - CopyMem (&AccessPoint->StationAddress, &Tcb->LocalEnd.Ip, sizeof (EFI_IPv4_ADDRESS)); + IP4_COPY_ADDRESS (&AccessPoint->StationAddress, &Tcb->LocalEnd.Ip); - AccessPoint->SubnetMask = Tcb->SubnetMask; + IP4_COPY_ADDRESS (&AccessPoint->SubnetMask, &Tcb->SubnetMask); AccessPoint->StationPort = NTOHS (Tcb->LocalEnd.Port); - CopyMem (&AccessPoint->RemoteAddress, &Tcb->RemoteEnd.Ip, sizeof (EFI_IPv4_ADDRESS)); + IP4_COPY_ADDRESS (&AccessPoint->RemoteAddress, &Tcb->RemoteEnd.Ip); AccessPoint->RemotePort = NTOHS (Tcb->RemoteEnd.Port); AccessPoint->ActiveFlag = (BOOLEAN) (Tcb->State != TCP_LISTEN); @@ -239,7 +240,7 @@ TcpBind ( UINT16 *RandomPort; if (IpVersion == IP_VERSION_4) { - CopyMem (&Local, &TcpAp->Tcp4Ap.StationAddress, sizeof (EFI_IPv4_ADDRESS)); + IP4_COPY_ADDRESS (&Local, &TcpAp->Tcp4Ap.StationAddress); Port = &TcpAp->Tcp4Ap.StationPort; RandomPort = &mTcp4RandomPort; } else { @@ -495,12 +496,14 @@ TcpConfigurePcb ( IpCfgData.Ip4CfgData.TypeOfService = CfgData->Tcp4CfgData.TypeOfService; IpCfgData.Ip4CfgData.TimeToLive = CfgData->Tcp4CfgData.TimeToLive; IpCfgData.Ip4CfgData.UseDefaultAddress = CfgData->Tcp4CfgData.AccessPoint.UseDefaultAddress; - IpCfgData.Ip4CfgData.SubnetMask = CfgData->Tcp4CfgData.AccessPoint.SubnetMask; + IP4_COPY_ADDRESS ( + &IpCfgData.Ip4CfgData.SubnetMask, + &CfgData->Tcp4CfgData.AccessPoint.SubnetMask + ); IpCfgData.Ip4CfgData.ReceiveTimeout = (UINT32) (-1); - CopyMem ( + IP4_COPY_ADDRESS ( &IpCfgData.Ip4CfgData.StationAddress, - &CfgData->Tcp4CfgData.AccessPoint.StationAddress, - sizeof (EFI_IPv4_ADDRESS) + &CfgData->Tcp4CfgData.AccessPoint.StationAddress ); } else { @@ -533,8 +536,14 @@ TcpConfigurePcb ( // // Get the default address information if the instance is configured to use default address. // - CfgData->Tcp4CfgData.AccessPoint.StationAddress = IpCfgData.Ip4CfgData.StationAddress; - CfgData->Tcp4CfgData.AccessPoint.SubnetMask = IpCfgData.Ip4CfgData.SubnetMask; + IP4_COPY_ADDRESS ( + &CfgData->Tcp4CfgData.AccessPoint.StationAddress, + &IpCfgData.Ip4CfgData.StationAddress + ); + IP4_COPY_ADDRESS ( + &CfgData->Tcp4CfgData.AccessPoint.SubnetMask, + &IpCfgData.Ip4CfgData.SubnetMask + ); TcpAp = (TCP_ACCESS_POINT *) &CfgData->Tcp4CfgData.AccessPoint; } else { @@ -601,7 +610,7 @@ TcpConfigurePcb ( CopyMem (&Tcb->LocalEnd.Ip, &CfgData->Tcp4CfgData.AccessPoint.StationAddress, sizeof (IP4_ADDR)); Tcb->LocalEnd.Port = HTONS (CfgData->Tcp4CfgData.AccessPoint.StationPort); - Tcb->SubnetMask = CfgData->Tcp4CfgData.AccessPoint.SubnetMask; + IP4_COPY_ADDRESS (&Tcb->SubnetMask, &CfgData->Tcp4CfgData.AccessPoint.SubnetMask); CopyMem (&Tcb->RemoteEnd.Ip, &CfgData->Tcp4CfgData.AccessPoint.RemoteAddress, sizeof (IP4_ADDR)); Tcb->RemoteEnd.Port = HTONS (CfgData->Tcp4CfgData.AccessPoint.RemotePort); diff --git a/NetworkPkg/TcpDxe/TcpMain.c b/NetworkPkg/TcpDxe/TcpMain.c index 3c103444bd..66a09c41ea 100644 --- a/NetworkPkg/TcpDxe/TcpMain.c +++ b/NetworkPkg/TcpDxe/TcpMain.c @@ -1,6 +1,7 @@ /** @file Implementation of EFI_TCP4_PROTOCOL and EFI_TCP6_PROTOCOL. + (C) Copyright 2014 Hewlett-Packard Development Company, L.P.
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials @@ -229,9 +230,9 @@ Tcp4Routes ( Sock = SOCK_FROM_THIS (This); RouteInfo.DeleteRoute = DeleteRoute; - RouteInfo.SubnetAddress = SubnetAddress; - RouteInfo.SubnetMask = SubnetMask; - RouteInfo.GatewayAddress = GatewayAddress; + IP4_COPY_ADDRESS (&RouteInfo.SubnetAddress, &SubnetAddress); + IP4_COPY_ADDRESS (&RouteInfo.SubnetMask, &SubnetMask); + IP4_COPY_ADDRESS (&RouteInfo.GatewayAddress, &GatewayAddress); return SockRoute (Sock, &RouteInfo); } diff --git a/NetworkPkg/TcpDxe/TcpMisc.c b/NetworkPkg/TcpDxe/TcpMisc.c index 5394f7d1ca..0a4eda37c8 100644 --- a/NetworkPkg/TcpDxe/TcpMisc.c +++ b/NetworkPkg/TcpDxe/TcpMisc.c @@ -1,6 +1,7 @@ /** @file Misc support routines for TCP driver. + (C) Copyright 2014 Hewlett-Packard Development Company, L.P.
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials @@ -428,7 +429,6 @@ TcpInsertTcb ( LIST_ENTRY *Entry; LIST_ENTRY *Head; TCP_CB *Node; - TCP_PROTO_DATA *TcpProto; ASSERT ( (Tcb != NULL) && @@ -466,7 +466,6 @@ TcpInsertTcb ( InsertHeadList (Head, &Tcb->List); - TcpProto = (TCP_PROTO_DATA *) Tcb->Sk->ProtoReserved; return 0; } -- cgit v1.2.3