diff options
author | Randy Pawell <randy_pawell@hp.com> | 2014-12-04 00:55:50 +0000 |
---|---|---|
committer | sfu5 <sfu5@Edk2> | 2014-12-04 00:55:50 +0000 |
commit | 8f586b85c3f617ba802e663b4b3b303e06140863 (patch) | |
tree | b5fb144b5039b9ebe8598c748e11936ac27f3a73 | |
parent | 35f910f08b58e978bc9251872635075d6f422e48 (diff) | |
download | edk2-8f586b85c3f617ba802e663b4b3b303e06140863.tar.gz edk2-8f586b85c3f617ba802e663b4b3b303e06140863.tar.bz2 edk2-8f586b85c3f617ba802e663b4b3b303e06140863.zip |
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 <randy_pawell@hp.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16472 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | NetworkPkg/Dhcp6Dxe/Dhcp6Io.c | 5 | ||||
-rw-r--r-- | NetworkPkg/Ip6Dxe/Ip6Impl.c | 3 | ||||
-rw-r--r-- | NetworkPkg/NetworkPkg.dsc | 11 | ||||
-rw-r--r-- | NetworkPkg/TcpDxe/TcpDispatcher.c | 31 | ||||
-rw-r--r-- | NetworkPkg/TcpDxe/TcpMain.c | 7 | ||||
-rw-r--r-- | NetworkPkg/TcpDxe/TcpMisc.c | 3 | ||||
-rw-r--r-- | NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c | 3 | ||||
-rw-r--r-- | NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c | 3 |
8 files changed, 39 insertions, 27 deletions
diff --git a/NetworkPkg/Dhcp6Dxe/Dhcp6Io.c b/NetworkPkg/Dhcp6Dxe/Dhcp6Io.c index e0a2b4b15f..b231479525 100644 --- a/NetworkPkg/Dhcp6Dxe/Dhcp6Io.c +++ b/NetworkPkg/Dhcp6Dxe/Dhcp6Io.c @@ -1,6 +1,7 @@ /** @file
Dhcp6 internal functions implementation.
+ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
@@ -544,7 +545,6 @@ Dhcp6UpdateIaInfo ( )
{
EFI_STATUS Status;
- EFI_DHCP6_STATE State;
UINT8 *Option;
UINT8 *IaInnerOpt;
UINT16 IaInnerLen;
@@ -565,7 +565,6 @@ Dhcp6UpdateIaInfo ( //
// See details in the section-18.1.8 of rfc-3315.
//
- State = Dhcp6Init;
Option = Dhcp6SeekIaOption (
Packet->Dhcp6.Option,
Packet->Length - sizeof (EFI_DHCP6_HEADER),
@@ -2428,14 +2427,12 @@ Dhcp6HandleAdvertiseMsg ( {
EFI_STATUS Status;
UINT8 *Option;
- UINT16 StsCode;
BOOLEAN Timeout;
ASSERT(Instance->Config);
ASSERT(Instance->IaCb.Ia);
Timeout = FALSE;
- StsCode = Dhcp6StsSuccess;
//
// If the client does receives a valid reply message that includes a rapid
diff --git a/NetworkPkg/Ip6Dxe/Ip6Impl.c b/NetworkPkg/Ip6Dxe/Ip6Impl.c index 621879b1ea..b186c0af20 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Impl.c +++ b/NetworkPkg/Ip6Dxe/Ip6Impl.c @@ -1,6 +1,7 @@ /** @file
Implementation of EFI_IP6_PROTOCOL protocol interfaces.
+ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
@@ -1761,7 +1762,6 @@ EfiIp6Cancel ( )
{
IP6_PROTOCOL *IpInstance;
- IP6_SERVICE *IpSb;
EFI_STATUS Status;
EFI_TPL OldTpl;
@@ -1770,7 +1770,6 @@ EfiIp6Cancel ( }
IpInstance = IP6_INSTANCE_FROM_PROTOCOL (This);
- IpSb = IpInstance->Service;
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc index 491abd2b8c..80685dd645 100644 --- a/NetworkPkg/NetworkPkg.dsc +++ b/NetworkPkg/NetworkPkg.dsc @@ -1,6 +1,7 @@ ## @file
# UEFI 2.4 Network Module Package for All Architectures
#
+# (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
@@ -19,7 +20,7 @@ PLATFORM_VERSION = 0.95
DSC_SPECIFICATION = 0x00010005
OUTPUT_DIRECTORY = Build/NetworkPkg
- SUPPORTED_ARCHITECTURES = IA32|IPF|X64|EBC|ARM
+ SUPPORTED_ARCHITECTURES = IA32|IPF|X64|EBC|ARM|AARCH64
BUILD_TARGETS = DEBUG|RELEASE
SKUID_IDENTIFIER = DEFAULT
@@ -57,6 +58,14 @@ SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+ #
+ # It is not possible to prevent ARM compiler calls to generic intrinsic functions.
+ # This library provides the instrinsic functions generated by a given compiler.
+ # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
+ #
+ NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+
[PcdsFeatureFlag]
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
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.<BR>
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
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.<BR>
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
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.<BR>
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
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;
}
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c index b71998b405..111224cea2 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c @@ -1,6 +1,7 @@ /** @file
Functions implementation related with DHCPv6 for UefiPxeBc Driver.
+ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
@@ -664,7 +665,6 @@ PxeBcRequestBootService ( {
EFI_PXE_BASE_CODE_UDP_PORT SrcPort;
EFI_PXE_BASE_CODE_UDP_PORT DestPort;
- EFI_PXE_BASE_CODE_MODE *Mode;
EFI_PXE_BASE_CODE_PROTOCOL *PxeBc;
EFI_PXE_BASE_CODE_DHCPV6_PACKET *Discover;
UINTN DiscoverLen;
@@ -682,7 +682,6 @@ PxeBcRequestBootService ( UINT8 *Option;
PxeBc = &Private->PxeBc;
- Mode = PxeBc->Mode;
Request = Private->Dhcp6Request;
ProxyOffer = &Private->OfferBuffer[Index].Dhcp6.Packet.Offer;
SrcPort = PXEBC_BS_DISCOVER_PORT;
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c index 8ee831f521..92fd1f19df 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c @@ -1,6 +1,7 @@ /** @file
Driver Binding functions implementationfor for UefiPxeBc Driver.
+ (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
@@ -1400,7 +1401,6 @@ PxeBcStop ( EFI_LOAD_FILE_PROTOCOL *LoadFile;
EFI_STATUS Status;
EFI_HANDLE NicHandle;
- BOOLEAN IsIpv6;
PXEBC_PRIVATE_PROTOCOL *Id;
Private = NULL;
@@ -1408,7 +1408,6 @@ PxeBcStop ( VirtualNic = NULL;
LoadFile = NULL;
Id = NULL;
- IsIpv6 = FALSE;
Status = gBS->OpenProtocol (
ControllerHandle,
|