From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 0F4F421A0BA9C for ; Mon, 22 May 2017 00:36:21 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 May 2017 00:36:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,377,1491289200"; d="scan'208";a="859850682" Received: from jiaxinwu-mobl2.ccr.corp.intel.com ([10.239.196.66]) by FMSMGA003.fm.intel.com with ESMTP; 22 May 2017 00:36:19 -0700 From: Jiaxin Wu To: edk2-devel@lists.01.org Cc: Ye Ting , Fu Siyuan , Wu Jiaxin Date: Mon, 22 May 2017 15:36:15 +0800 Message-Id: <1495438575-9900-3-git-send-email-jiaxin.wu@intel.com> X-Mailer: git-send-email 1.9.5.msysgit.1 In-Reply-To: <1495438575-9900-1-git-send-email-jiaxin.wu@intel.com> References: <1495438575-9900-1-git-send-email-jiaxin.wu@intel.com> Subject: [Patch 2/2] MdeModulePkg/UefiPxeBcDxe: Refine the PXE boot displayed information X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 May 2017 07:36:21 -0000 This path is to refine the PXE boot displayed information so as to in line with NetworkPkg/UefiPxeBcDxe driver. Cc: Ye Ting Cc: Fu Siyuan Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin --- .../Universal/Network/UefiPxeBcDxe/PxeBcImpl.c | 18 ++++++++++++++++++ .../Universal/Network/UefiPxeBcDxe/PxeBcSupport.c | 22 +++++++++++++++++++++- .../Universal/Network/UefiPxeBcDxe/PxeBcSupport.h | 16 +++++++++++++++- 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c index 259568e..6d4f33f 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c @@ -336,10 +336,12 @@ EfiPxeBcStart ( // IPv6 is not supported now. // return EFI_UNSUPPORTED; } + AsciiPrint ("\n>>Start PXE over IPv4"); + // // Configure the udp4 instance to let it receive data // Status = Private->Udp4Read->Configure ( Private->Udp4Read, @@ -665,10 +667,15 @@ EfiPxeBcDhcp ( // Check the selected offer to see whether BINL is required, if no or BINL is // finished, set the various Mode members. // Status = PxeBcCheckSelectedOffer (Private); + AsciiPrint ("\n Station IP address is "); + + PxeBcShowIp4Addr (&Private->StationIp.v4); + AsciiPrint ("\n"); + ON_EXIT: if (EFI_ERROR (Status)) { Dhcp4->Stop (Dhcp4); Dhcp4->Configure (Dhcp4, NULL); } else { @@ -2738,10 +2745,18 @@ DiscoverBootFile ( ); } Private->FileSize = (UINTN) *BufferSize; + // + // Display all the information: boot server address, boot file name and boot file size. + // + AsciiPrint ("\n Server IP address is "); + PxeBcShowIp4Addr (&Private->ServerIp.v4); + AsciiPrint ("\n NBP filename is %a", Private->BootFileName); + AsciiPrint ("\n NBP filesize is %d Bytes", Private->FileSize); + return Status; } /** Causes the driver to load a specified file. @@ -2853,10 +2868,11 @@ EfiPxeLoadFile ( Status = DiscoverBootFile (Private, &TmpBufSize, Buffer); if (sizeof (UINTN) < sizeof (UINT64) && (TmpBufSize > 0xFFFFFFFF)) { Status = EFI_DEVICE_ERROR; } else if (TmpBufSize > 0 && *BufferSize >= (UINTN) TmpBufSize && Buffer != NULL) { + AsciiPrint ("\n Downloading NBP file...\n"); *BufferSize = (UINTN) TmpBufSize; Status = PxeBc->Mtftp ( PxeBc, EFI_PXE_BASE_CODE_TFTP_READ_FILE, Buffer, @@ -2877,10 +2893,11 @@ EfiPxeLoadFile ( Status = EFI_BUFFER_TOO_SMALL; } else { // // Download the file. // + AsciiPrint ("\n Downloading NBP file...\n"); TmpBufSize = (UINT64) (*BufferSize); Status = PxeBc->Mtftp ( PxeBc, EFI_PXE_BASE_CODE_TFTP_READ_FILE, Buffer, @@ -2911,10 +2928,11 @@ EfiPxeLoadFile ( // // Check download status // if (Status == EFI_SUCCESS) { + AsciiPrint ("\n NBP file downloaded successfully.\n"); // // The DHCP4 can have only one configured child instance so we need to stop // reset the DHCP4 child before we return. Otherwise the other programs which // also need to use DHCP4 will be impacted. // The functionality of PXE Base Code protocol will not be stopped, diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.c index 0779056..c1cabca 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.c +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.c @@ -1,9 +1,9 @@ /** @file Support routines for PxeBc. -Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
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 @@ -112,10 +112,30 @@ PxeBcConfigureUdpWriteInstance ( } return Status; } +/** + This function is to display the IPv4 address. + + @param[in] Ip The pointer to the IPv4 address. + +**/ +VOID +PxeBcShowIp4Addr ( + IN EFI_IPv4_ADDRESS *Ip + ) +{ + UINTN Index; + + for (Index = 0; Index < 4; Index++) { + AsciiPrint ("%d", Ip->Addr[Index]); + if (Index < 3) { + AsciiPrint ("."); + } + } +} /** Convert number to ASCII value. @param Number Numeric value to convert to decimal ASCII value. diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.h b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.h index 16ac05e..59e9b32 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.h +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcSupport.h @@ -1,8 +1,8 @@ /** @file Support routines for PxeBc. -Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
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 @@ -65,10 +65,24 @@ PxeBcConfigureUdpWriteInstance ( IN EFI_IPv4_ADDRESS *Gateway, IN OUT UINT16 *SrcPort, IN UINT8 Ttl, IN UINT8 ToS ); + + +/** + This function is to display the IPv4 address. + + @param[in] Ip The pointer to the IPv4 address. + +**/ +VOID +PxeBcShowIp4Addr ( + IN EFI_IPv4_ADDRESS *Ip + ); + + /** Convert number to ASCII value. @param Number Numeric value to convert to decimal ASCII value. @param Buffer Buffer to place ASCII version of the Number. -- 1.9.5.msysgit.1