On Sat, Feb 10, 2018 at 01:31:06AM +0800, Haojian Zhuang wrote:
With the SerialPortLib and DebugLib, Dxe runtime driver can't be executed well on HiKey. Serial logs are missing.
"Can't be executed well"? Does this mean it crashes?
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Haojian Zhuang haojian.zhuang@linaro.org
Platform/Hisilicon/D02/Pv660D02.dsc | 2 ++ Platform/Hisilicon/D03/D03.dsc | 1 + Platform/Hisilicon/D05/D05.dsc | 1 + Silicon/Hisilicon/Hisilicon.dsc.inc | 2 -- 4 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Platform/Hisilicon/D02/Pv660D02.dsc b/Platform/Hisilicon/D02/Pv660D02.dsc index 9e826ae..018e149 100644 --- a/Platform/Hisilicon/D02/Pv660D02.dsc +++ b/Platform/Hisilicon/D02/Pv660D02.dsc @@ -80,6 +80,8 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER] I2CLib|Silicon/Hisilicon/Library/I2CLib/I2CLibRuntime.inf
- SerialPortLib|Silicon/Hisilicon/Library/Dw8250SerialPortRuntimeLib/Dw8250SerialPortRuntimeLib.inf
This change I agree with - this is a clear fix.
- DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
But this one just causes duplication of boilerplate. Could you instead put the fragment in Hisilicon.dsc.inc ...
[BuildOptions] GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/Silicon/Hisilicon/Pv660/Include diff --git a/Platform/Hisilicon/D03/D03.dsc b/Platform/Hisilicon/D03/D03.dsc index c496306..b9bce66 100644 --- a/Platform/Hisilicon/D03/D03.dsc +++ b/Platform/Hisilicon/D03/D03.dsc @@ -97,6 +97,7 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER] I2CLib|Silicon/Hisilicon/Library/I2CLib/I2CLibRuntime.inf SerialPortLib|Silicon/Hisilicon/Hi1610/Library/Uart/LpcSerialPortLib/LpcSerialPortLib.inf
- DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
[BuildOptions] GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/Silicon/Hisilicon/Hi1610/Include diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc index 0792b08..dfee09b 100644 --- a/Platform/Hisilicon/D05/D05.dsc +++ b/Platform/Hisilicon/D05/D05.dsc @@ -105,6 +105,7 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER] I2CLib|Silicon/Hisilicon/Library/I2CLib/I2CLibRuntime.inf SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
- DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
[BuildOptions] GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/Silicon/Hisilicon/Hi1616/Include diff --git a/Silicon/Hisilicon/Hisilicon.dsc.inc b/Silicon/Hisilicon/Hisilicon.dsc.inc index 5766829..b5b9e7e 100644 --- a/Silicon/Hisilicon/Hisilicon.dsc.inc +++ b/Silicon/Hisilicon/Hisilicon.dsc.inc @@ -208,8 +208,6 @@ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
- SerialPortLib|Silicon/Hisilicon/Library/Dw8250SerialPortRuntimeLib/Dw8250SerialPortRuntimeLib.inf
... behind a conditional like
!ifndef CONFIG_NO_DEBUGLIB
- DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
!endif
?
And correspondingly set CONFIG_NO_DEBUGLIB in hikey/hikey960 .dscs?
Also, if this is a problem causes by using Hisilicon.dsc.inc, it should really go in before 2/4. This is great, by the way - I was not expecting that you would be able to reuse that, I thought there would be a separate .inc for hikey/hikey960.
/ Leif
[LibraryClasses.AARCH64] ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf -- 2.7.4