Hi all,
In linaro-aspen project,we have had a problem in Android fastboot module
of the UEFI. Unfortunately the USB interfaces on our board can't work in
device mode, we can't update and debug the system via the USB port in
Android fastboot.Therefor, we tried to implement the data transmission
with TCP/IP protocol.But we have no idea about whether the plan is
effective or not.
#1.Could you please give us some advises about that plan?
#2.Are there any platforms that have ever implemented TCP/IP transport
in UEFI fastboot module?How can I get the reference code?
#3.I checked the source code of UEFI and found there are several NetWork
drivers in MdeModulePkg/Universal/Network/ folder. Do you know which
platform that have used these drivers successfully?
#4.The last and most important,if we could implemented the TCP/IP
transport in UEFI fastboot module, does the Google fastboot tool on the
Host side could support update and debug the board via TCP/IP transport?
Thank you.
Best regards,
Wengang
Support the feature that BIOS get boot option from BMC and set
it to the first boot order.
The feature works dependding on this patch and the OPP patch
"Hisilicon/D03/D05: get boot option from BMC" both be added.
And it have a limitation, only set the boot order by type, can't by
the specfic devices.
example: there have 4 ethernet ports at D05 board, it can only be booted
from the ethernet port, but which port can not be defined. so it try from
the first port to the end.
so is there any solution? expect your comments.
Signed-off-by: Huang ming <huangming23(a)linaro.org>
Signed-off-by: Chenhui Sun <chenhui.sun(a)linaro.org>
---
.../Universal/BdsDxe/BdsEntry.c | 44 ++++++++++++----------
1 file changed, 24 insertions(+), 20 deletions(-)
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c
index bf81de4..ee51055 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c
@@ -36,7 +36,6 @@ EFI_BDS_ARCH_PROTOCOL gBds = {
BdsEntry
};
-UINT16 *mBootNext = NULL;
///
/// The read-only variables defined in UEFI Spec.
@@ -123,6 +122,9 @@ BdsBootDeviceSelect (
BOOLEAN BootNextExist;
LIST_ENTRY *LinkBootNext;
EFI_EVENT ConnectConInEvent;
+ UINTN BootNextSize;
+ UINT16 *BootNext = NULL;
+ UINT16 Index;
//
// Got the latest boot option
@@ -154,7 +156,16 @@ BdsBootDeviceSelect (
}
}
- if (mBootNext != NULL) {
+ //
+ // Check if we have the boot next option
+ //
+ BootNext = BdsLibGetVariableAndSize (
+ L"BootNext",
+ &gEfiGlobalVariableGuid,
+ &BootNextSize
+ );
+
+ if (BootNext != NULL) {
//
// Indicate we have the boot next variable, so this time
// boot will always have this boot option
@@ -179,17 +190,19 @@ BdsBootDeviceSelect (
//
// Add the boot next boot option
//
- UnicodeSPrint (Buffer, sizeof (Buffer), L"Boot%04x", *mBootNext);
- BootOption = BdsLibVariableToOption (&BootLists, Buffer);
+ for (Index = 0; Index < (BootNextSize/sizeof(UINT16)); Index++) {
+ UnicodeSPrint (Buffer, sizeof (Buffer), L"Boot%04x", BootNext[Index]);
+ BootOption = BdsLibVariableToOption (&BootLists, Buffer);
- //
- // If fail to get boot option from variable, just return and do nothing.
- //
- if (BootOption == NULL) {
- return;
- }
+ //
+ // If fail to get boot option from variable, just return and do nothing.
+ //
+ if (BootOption == NULL) {
+ return;
+ }
- BootOption->BootCurrent = *mBootNext;
+ BootOption->BootCurrent = BootNext[Index];
+ }
}
//
// Parse the boot order to get boot option
@@ -528,7 +541,6 @@ BdsEntry (
{
LIST_ENTRY DriverOptionList;
LIST_ENTRY BootOptionList;
- UINTN BootNextSize;
CHAR16 *FirmwareVendor;
EFI_STATUS Status;
UINT16 BootTimeOut;
@@ -638,14 +650,6 @@ BdsEntry (
if (!IsListEmpty (&DriverOptionList)) {
BdsLibLoadDrivers (&DriverOptionList);
}
- //
- // Check if we have the boot next option
- //
- mBootNext = BdsLibGetVariableAndSize (
- L"BootNext",
- &gEfiGlobalVariableGuid,
- &BootNextSize
- );
//
// Setup some platform policy here
--
1.9.1
Hi,
I submit a second version of a patchset with the ComPhy library upgrade.
v1 was thoruoghly cleaned-up, so that every remark could be answered -
it occurred to be quite huge amount of work:) Anyway, now the code
looks more like a proper edk2 one, without redundancies, etc. The details
can be found in a changelog below.
The commits are also available in the github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp…
Under the tag one can also find an initial version of 10G link
support in Pp2Dxe driver, which allowed to validate SFI ComPhy.
It will be submitted soon, along with other network changes.
Any remarks or comments will be very welcome.
Best regards,
Marcin
Changelog:
v1 -> v2
* Improve commit message in first patch
* Split first patch to three new:
- Fix lane assignment
- Rename to KR to SFI
- Update .dsc to the newest changes around serdes
* Add 'Reviewed-by' in patch 4
* Remove redundancy in Gx_SETy registers description - use
common offsets and masks, improve naming
* Improve comments
* Use Mmio... functions instead of custom ones
* Make setting parameters more readable
* Last patch - rename PCD, clean-up whitespaces, fix comment.
Marcin Wojtas (8):
Platforms/Marvell: ComPhyLib: Cleanup and fix SerDes lanes assignment
Platforms/Marvell: ComPhyLib: Rename KR to SFI
Platforms/Marvell: Update SerDes types on A70x0 development board
Platforms/Marvell: ComPhyLib: Mark failing lane as unconnected
Platforms/Marvell: ComPhyLib: Configure analog parameters for SATA
Platforms/Marvell: ComPhyLib: Configure analog parameters for PCIE
Platforms/Marvell: ComPhyLib: Add missing SFI and RXAUI configuration
Platforms/Marvell: ComPhyLib: Move devices description to MvHwDescLib
Documentation/Marvell/PortingGuide/ComPhy.txt | 64 +-
Platforms/Marvell/Armada/Armada70x0.dsc | 13 +-
Platforms/Marvell/Include/Library/MvComPhyLib.h | 5 +
Platforms/Marvell/Include/Library/MvHwDescLib.h | 38 +
Platforms/Marvell/Library/ComPhyLib/ComPhyCp110.c | 851 +++++++++++++++++++++-
Platforms/Marvell/Library/ComPhyLib/ComPhyLib.c | 97 ++-
Platforms/Marvell/Library/ComPhyLib/ComPhyLib.h | 273 +++++--
Platforms/Marvell/Library/ComPhyLib/ComPhyLib.inf | 26 +-
Platforms/Marvell/Marvell.dec | 28 +-
9 files changed, 1174 insertions(+), 221 deletions(-)
--
1.8.3.1
Hi all,
I have started the prototyping of moving the existing OpenPlatformPkg
ports into edk2-platforms (and edk2-non-osi).
Doing some due dilligence, I've spotted that the "Contributed-under: "
tag has been left out from some commits. Clearly, most of those were
mine (oops), so let me just formally state that:
b9ac9979d4ddc4da77fa41a99dbbf68d26520a22
1c90ac121061b221a83bc052a7e22371d0da3c01
2146aa238a2b687a4a8ed408ca784f5b70321444
979db78c884e538626a3d026996eb348a84c6787
were indeed Contributed-under: TianoCore Contribution Agreement 1.0
Ard, could you confirm the same for:
084445120e94910025e02fe66ac528a3f4cc303a
df47cec139b01f9491d7e9608d832dd0c34fa363
and Ryan for:
50babddd0cb440742bf4d0341f319239317eba5d
?
Ard, there are also some missing Reviewed-by - do you agree with me
that this is not an issue (they are all implicitly reviewed by either
you or me), just something to be more careful of in future?
Regards,
Leif
Fix a case where MarvellYukonDriverStart attempted to free a buffer
before it was allocated.
Fix another case where the function returned without freeing the same
buffer. Also correct the error message for that case, which was copied
verbatim from the preceding if-statement.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm(a)linaro.org>
---
Drivers/Net/MarvellYukonDxe/DriverBinding.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Drivers/Net/MarvellYukonDxe/DriverBinding.c b/Drivers/Net/MarvellYukonDxe/DriverBinding.c
index 947d738b10..cbe8ad34e4 100644
--- a/Drivers/Net/MarvellYukonDxe/DriverBinding.c
+++ b/Drivers/Net/MarvellYukonDxe/DriverBinding.c
@@ -127,7 +127,6 @@ MarvellYukonDriverStart (
if (EFI_ERROR (Status)) {
DEBUG ((EFI_D_ERROR, "Marvell Yukon: OpenProtocol: EFI_PCI_IO_PROTOCOL ERROR Status = %r\n", Status));
- gBS->FreePool (YukonDriver);
return Status;
}
@@ -156,7 +155,8 @@ MarvellYukonDriverStart (
}
if (ScData->msk_if[Port] == NULL) {
- DEBUG ((DEBUG_ERROR, "Marvell Yukon: AllocatePool() failed with Status = %r\n", EFI_BAD_BUFFER_SIZE));
+ DEBUG ((DEBUG_ERROR, "Marvell Yukon: invalid buffer size\n"));
+ gBS->FreePool (YukonDriver);
return EFI_BAD_BUFFER_SIZE;
}
--
2.11.0