mirror of https://github.com/acidanthera/audk.git
1. Introduce PcdTftpBlockSize to let platform DSC customize block size.
2. Roll back the default block size to handle all link layers. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10803 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
5b9fc2f089
commit
cfbc1a7537
|
@ -352,6 +352,11 @@
|
||||||
## Smbios version
|
## Smbios version
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0206|UINT16|0x00010055
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0206|UINT16|0x00010055
|
||||||
|
|
||||||
|
## TFTP BlockSize. Initial value 0 means using default block size which is (MTU-IP_HEADER-UDP_HEADER-TFTP_HEADER)
|
||||||
|
# to handle all link layers. If the value is non zero, the PCD value will be used as block size.
|
||||||
|
#
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x30001026
|
||||||
|
|
||||||
[PcdsFixedAtBuild,PcdsPatchableInModule]
|
[PcdsFixedAtBuild,PcdsPatchableInModule]
|
||||||
## Maximun number of performance log entries during PEI phase.
|
## Maximun number of performance log entries during PEI phase.
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f
|
||||||
|
|
|
@ -347,7 +347,19 @@ EfiPxeBcStart (
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
Private->BlockSize = 0x8000;
|
|
||||||
|
//
|
||||||
|
// Configure block size for TFTP as a default value to handle all link layers.
|
||||||
|
//
|
||||||
|
Private->BlockSize = (UINTN) (MIN (Private->Ip4MaxPacketSize, PXEBC_DEFAULT_PACKET_SIZE) -
|
||||||
|
PXEBC_DEFAULT_UDP_OVERHEAD_SIZE - PXEBC_DEFAULT_TFTP_OVERHEAD_SIZE);
|
||||||
|
//
|
||||||
|
// If PcdTftpBlockSize is set to non-zero, override the default value.
|
||||||
|
//
|
||||||
|
if (PcdGet64 (PcdTftpBlockSize) != 0) {
|
||||||
|
Private->BlockSize = (UINTN) PcdGet64 (PcdTftpBlockSize);
|
||||||
|
}
|
||||||
|
|
||||||
Private->AddressIsOk = FALSE;
|
Private->AddressIsOk = FALSE;
|
||||||
|
|
||||||
ZeroMem (Mode, sizeof (EFI_PXE_BASE_CODE_MODE));
|
ZeroMem (Mode, sizeof (EFI_PXE_BASE_CODE_MODE));
|
||||||
|
|
|
@ -40,6 +40,7 @@ typedef struct _PXEBC_PRIVATE_DATA PXEBC_PRIVATE_DATA;
|
||||||
#include <Library/BaseLib.h>
|
#include <Library/BaseLib.h>
|
||||||
#include <Library/NetLib.h>
|
#include <Library/NetLib.h>
|
||||||
#include <Library/DpcLib.h>
|
#include <Library/DpcLib.h>
|
||||||
|
#include <Library/PcdLib.h>
|
||||||
|
|
||||||
#include "PxeBcDriver.h"
|
#include "PxeBcDriver.h"
|
||||||
#include "PxeBcDhcp.h"
|
#include "PxeBcDhcp.h"
|
||||||
|
|
|
@ -64,6 +64,7 @@
|
||||||
DebugLib
|
DebugLib
|
||||||
NetLib
|
NetLib
|
||||||
DpcLib
|
DpcLib
|
||||||
|
PcdLib
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gEfiSmbiosTableGuid # ALWAYS_CONSUMED
|
gEfiSmbiosTableGuid # ALWAYS_CONSUMED
|
||||||
|
@ -83,3 +84,6 @@
|
||||||
gEfiNetworkInterfaceIdentifierProtocolGuid_31 ## SOMETIMES_CONSUMES
|
gEfiNetworkInterfaceIdentifierProtocolGuid_31 ## SOMETIMES_CONSUMES
|
||||||
gEfiIp4ServiceBindingProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiIp4ServiceBindingProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
||||||
gEfiIp4ProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiIp4ProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
||||||
|
|
||||||
|
[Pcd]
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize ## CONSUMES
|
||||||
|
|
Loading…
Reference in New Issue