Re: [edk2] [PATCH edk2-non-osi v2 3/4] Hisilicon/D06: Add binary modules

2018-08-16 Thread Leif Lindholm
On Thu, Aug 16, 2018 at 10:14:14AM +0800, Ming wrote:
> 在 8/15/2018 11:27 PM, Leif Lindholm 写道:
> > Thanks, this commit message is a lot better.
> > 
> > My only concern with this patch is that the binaries are built with a
> > truly ancient toolchain. Is there some particular reason for this?
> 
> In internally, we share build server with product project, so we follow
> product project rhythm for upgrade toolchain.

Fully understandable.

However, I would strongly recommend upgrading _that_ toolchain.
4.8 was the first version of GCC that supported AArch64 upstream.
There have been very many improvements made, both in performance and
code correctness, since then.

Also, anything < GCC5 will miss out on link-time optimisation.
But this is a conversation we can have off-line Linaro<->Hisilicon.

Anyway, for this patch:
Reviewed-by: Leif Lindholm 
(I will push it with the corresponding edk2-platforms patch when
ready.)

/
Leif

> > 
> > /
> > Leif
> > 
> > On Tue, Aug 14, 2018 at 04:04:50PM +0800, Ming Huang wrote:
> >> Description per Module:
> >> GetInfoFromBmc:
> >>   Get board infomation from BMC and install a protocal.
> >> IoInitDxe:
> >>   Serdes initialization and PCIe port initialization and SMMU workaround.
> >> IpmiInterfacePei:
> >>   Install PEI ipmi interface PPI.
> >> IpmiInterfaceDxe:
> >>   Install DXE ipmi interface protocal.
> >> IpmiMiscOpDxe:
> >>   Send some OEM info to BMC via ipmi protocal.
> >> IpmiWatchdogDxe:
> >>   Manage the out of band watchdog timer in BMC.
> >> SnpDxe:
> >>   Snp driver for D06 debug on board net card.
> >> PcieRasInitDxe:
> >>   Initialize PCIe RAS function for all PCIe root port and end point.
> >> RasInitDxe:
> >>   Configure and enable RAS.
> >> SfcDxeDriver:
> >>   SPI flash driver.
> >> SasDxeDriver:
> >>   SAS driver for on board SAS controller.
> >> UefiSmi:
> >>   VGA driver for on board VGA device(SM750).
> >> TransSmbiosInfo:
> >>   Send SMBIOS infomation to BMC via ipmi.
> >> OemAddressMapD06:
> >>   Provide function for configuration components of chips.
> >> MemoryInitPeim:
> >>   Peim for memory initialization.
> >> Hi1620SerdesLib:
> >>   Library for initialization Hi1620 serdes.
> >> LpcLib:
> >>   Include LpcInit, LpcByteWrite and LpcByteRead functions.
> >> PlatformSysCtrlLibHi1620:
> >>   Provide Misc function needed by other modules.
> >> FVMAIN_SEC.Fv:
> >>   A Fv for SEC binary.
> >> bl1.bin/fip.bin:
> >>   Trusted Firmware module.
> >>
> >> Build commit infomation:
> >> edk2:   871c57754c1d
> >> edk2-platforms: 820af7623c42
> >> HwPkg:  a7947372749e
> >> TrustedFirmware: cccdae6ff768
> >> Tools:  6b286b119422
> >>
> >> Contributed-under: TianoCore Contribution Agreement 1.1
> >> Signed-off-by: Ming Huang 
> >> ---
> >>  Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf  
> >>  |  26 
> >>  Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.inf
> >>  |  27 
> >>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf 
> >>  |  28 +
> >>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf 
> >>  |  27 
> >>  Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf
> >>  |  27 
> >>  Platform/Hisilicon/D06/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf
> >>  |  27 
> >>  Platform/Hisilicon/D06/Drivers/Net/SnpHi1620NewDxe/SnpDxe.inf 
> >>  |  27 
> >>  Platform/Hisilicon/D06/Drivers/PcieRasInitDxe/PcieRasInitDxe.inf  
> >>  |  26 
> >>  Platform/Hisilicon/D06/Drivers/RasInitDxe/RasInitDxe.inf  
> >>  |  25 
> >>  Platform/Hisilicon/D06/Drivers/SFC/SfcDxeDriver.inf   
> >>  |  27 
> >>  Platform/Hisilicon/D06/Drivers/Sas/SasDxeDriver.inf   
> >>  |  27 
> >>  Platform/Hisilicon/D06/Drivers/Sm750Dxe/UefiSmi.inf   
> >>  |  32 +++
> >>  Platform/Hisilicon/D06/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf 
> >>  |  26 
> >>  Platform/Hisilicon/D06/Library/OemAddressMapD06/OemAddressMapD06.inf  
> >>  |  40 ++
> >>  Platform/Hisilicon/D06/MemoryInitPei/MemoryInitPeim.inf   
> >>  |  28 +
> >>  Silicon/Hisilicon/Hi1620/Library/Hi1620Serdes/Hi1620SerdesLib.inf 
> >>  |  43 
> >>  Silicon/Hisilicon/Hi1620/Library/LpcLibHi1620/LpcLib.inf  
> >>  |  39 ++
> >>  
> >> Silicon/Hisilicon/Hi1620/Library/PlatformSysCtrlLibHi1620/PlatformSysCtrlLibHi1620.inf
> >>  |  43 
> >>  

Re: [edk2] [PATCH edk2-non-osi v2 3/4] Hisilicon/D06: Add binary modules

2018-08-15 Thread Ming


在 8/15/2018 11:27 PM, Leif Lindholm 写道:
> Thanks, this commit message is a lot better.
> 
> My only concern with this patch is that the binaries are built with a
> truly ancient toolchain. Is there some particular reason for this?

In internally, we share build server with product project, so we follow
product project rhythm for upgrade toolchain.

> 
> /
> Leif
> 
> On Tue, Aug 14, 2018 at 04:04:50PM +0800, Ming Huang wrote:
>> Description per Module:
>> GetInfoFromBmc:
>>   Get board infomation from BMC and install a protocal.
>> IoInitDxe:
>>   Serdes initialization and PCIe port initialization and SMMU workaround.
>> IpmiInterfacePei:
>>   Install PEI ipmi interface PPI.
>> IpmiInterfaceDxe:
>>   Install DXE ipmi interface protocal.
>> IpmiMiscOpDxe:
>>   Send some OEM info to BMC via ipmi protocal.
>> IpmiWatchdogDxe:
>>   Manage the out of band watchdog timer in BMC.
>> SnpDxe:
>>   Snp driver for D06 debug on board net card.
>> PcieRasInitDxe:
>>   Initialize PCIe RAS function for all PCIe root port and end point.
>> RasInitDxe:
>>   Configure and enable RAS.
>> SfcDxeDriver:
>>   SPI flash driver.
>> SasDxeDriver:
>>   SAS driver for on board SAS controller.
>> UefiSmi:
>>   VGA driver for on board VGA device(SM750).
>> TransSmbiosInfo:
>>   Send SMBIOS infomation to BMC via ipmi.
>> OemAddressMapD06:
>>   Provide function for configuration components of chips.
>> MemoryInitPeim:
>>   Peim for memory initialization.
>> Hi1620SerdesLib:
>>   Library for initialization Hi1620 serdes.
>> LpcLib:
>>   Include LpcInit, LpcByteWrite and LpcByteRead functions.
>> PlatformSysCtrlLibHi1620:
>>   Provide Misc function needed by other modules.
>> FVMAIN_SEC.Fv:
>>   A Fv for SEC binary.
>> bl1.bin/fip.bin:
>>   Trusted Firmware module.
>>
>> Build commit infomation:
>> edk2:   871c57754c1d
>> edk2-platforms: 820af7623c42
>> HwPkg:  a7947372749e
>> TrustedFirmware: cccdae6ff768
>> Tools:  6b286b119422
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Ming Huang 
>> ---
>>  Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf
>>|  26 
>>  Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.inf  
>>|  27 
>>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf   
>>|  28 +
>>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf   
>>|  27 
>>  Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf  
>>|  27 
>>  Platform/Hisilicon/D06/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf  
>>|  27 
>>  Platform/Hisilicon/D06/Drivers/Net/SnpHi1620NewDxe/SnpDxe.inf   
>>|  27 
>>  Platform/Hisilicon/D06/Drivers/PcieRasInitDxe/PcieRasInitDxe.inf
>>|  26 
>>  Platform/Hisilicon/D06/Drivers/RasInitDxe/RasInitDxe.inf
>>|  25 
>>  Platform/Hisilicon/D06/Drivers/SFC/SfcDxeDriver.inf 
>>|  27 
>>  Platform/Hisilicon/D06/Drivers/Sas/SasDxeDriver.inf 
>>|  27 
>>  Platform/Hisilicon/D06/Drivers/Sm750Dxe/UefiSmi.inf 
>>|  32 +++
>>  Platform/Hisilicon/D06/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf   
>>|  26 
>>  Platform/Hisilicon/D06/Library/OemAddressMapD06/OemAddressMapD06.inf
>>|  40 ++
>>  Platform/Hisilicon/D06/MemoryInitPei/MemoryInitPeim.inf 
>>|  28 +
>>  Silicon/Hisilicon/Hi1620/Library/Hi1620Serdes/Hi1620SerdesLib.inf   
>>|  43 
>>  Silicon/Hisilicon/Hi1620/Library/LpcLibHi1620/LpcLib.inf
>>|  39 ++
>>  
>> Silicon/Hisilicon/Hi1620/Library/PlatformSysCtrlLibHi1620/PlatformSysCtrlLibHi1620.inf
>>  |  43 
>>  Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.depex  
>>| Bin 0 -> 18 bytes
>>  Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi
>>| Bin 0 -> 20480 bytes
>>  Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.depex
>>| Bin 0 -> 18 bytes
>>  Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.efi  
>>| Bin 0 -> 229216 bytes
>>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.depex 
>>| Bin 0 -> 18 bytes
>>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi   
>>| Bin 0 -> 29440 bytes
>>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.depex 
>>| Bin 0 -> 18 bytes
>>  

Re: [edk2] [PATCH edk2-non-osi v2 3/4] Hisilicon/D06: Add binary modules

2018-08-15 Thread Leif Lindholm
Thanks, this commit message is a lot better.

My only concern with this patch is that the binaries are built with a
truly ancient toolchain. Is there some particular reason for this?

/
Leif

On Tue, Aug 14, 2018 at 04:04:50PM +0800, Ming Huang wrote:
> Description per Module:
> GetInfoFromBmc:
>   Get board infomation from BMC and install a protocal.
> IoInitDxe:
>   Serdes initialization and PCIe port initialization and SMMU workaround.
> IpmiInterfacePei:
>   Install PEI ipmi interface PPI.
> IpmiInterfaceDxe:
>   Install DXE ipmi interface protocal.
> IpmiMiscOpDxe:
>   Send some OEM info to BMC via ipmi protocal.
> IpmiWatchdogDxe:
>   Manage the out of band watchdog timer in BMC.
> SnpDxe:
>   Snp driver for D06 debug on board net card.
> PcieRasInitDxe:
>   Initialize PCIe RAS function for all PCIe root port and end point.
> RasInitDxe:
>   Configure and enable RAS.
> SfcDxeDriver:
>   SPI flash driver.
> SasDxeDriver:
>   SAS driver for on board SAS controller.
> UefiSmi:
>   VGA driver for on board VGA device(SM750).
> TransSmbiosInfo:
>   Send SMBIOS infomation to BMC via ipmi.
> OemAddressMapD06:
>   Provide function for configuration components of chips.
> MemoryInitPeim:
>   Peim for memory initialization.
> Hi1620SerdesLib:
>   Library for initialization Hi1620 serdes.
> LpcLib:
>   Include LpcInit, LpcByteWrite and LpcByteRead functions.
> PlatformSysCtrlLibHi1620:
>   Provide Misc function needed by other modules.
> FVMAIN_SEC.Fv:
>   A Fv for SEC binary.
> bl1.bin/fip.bin:
>   Trusted Firmware module.
> 
> Build commit infomation:
> edk2:   871c57754c1d
> edk2-platforms: 820af7623c42
> HwPkg:  a7947372749e
> TrustedFirmware: cccdae6ff768
> Tools:  6b286b119422
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ming Huang 
> ---
>  Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf 
>   |  26 
>  Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.inf   
>   |  27 
>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf
>   |  28 +
>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf
>   |  27 
>  Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf   
>   |  27 
>  Platform/Hisilicon/D06/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf   
>   |  27 
>  Platform/Hisilicon/D06/Drivers/Net/SnpHi1620NewDxe/SnpDxe.inf
>   |  27 
>  Platform/Hisilicon/D06/Drivers/PcieRasInitDxe/PcieRasInitDxe.inf 
>   |  26 
>  Platform/Hisilicon/D06/Drivers/RasInitDxe/RasInitDxe.inf 
>   |  25 
>  Platform/Hisilicon/D06/Drivers/SFC/SfcDxeDriver.inf  
>   |  27 
>  Platform/Hisilicon/D06/Drivers/Sas/SasDxeDriver.inf  
>   |  27 
>  Platform/Hisilicon/D06/Drivers/Sm750Dxe/UefiSmi.inf  
>   |  32 +++
>  Platform/Hisilicon/D06/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf
>   |  26 
>  Platform/Hisilicon/D06/Library/OemAddressMapD06/OemAddressMapD06.inf 
>   |  40 ++
>  Platform/Hisilicon/D06/MemoryInitPei/MemoryInitPeim.inf  
>   |  28 +
>  Silicon/Hisilicon/Hi1620/Library/Hi1620Serdes/Hi1620SerdesLib.inf
>   |  43 
>  Silicon/Hisilicon/Hi1620/Library/LpcLibHi1620/LpcLib.inf 
>   |  39 ++
>  
> Silicon/Hisilicon/Hi1620/Library/PlatformSysCtrlLibHi1620/PlatformSysCtrlLibHi1620.inf
>  |  43 
>  Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.depex   
>   | Bin 0 -> 18 bytes
>  Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi 
>   | Bin 0 -> 20480 bytes
>  Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.depex 
>   | Bin 0 -> 18 bytes
>  Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.efi   
>   | Bin 0 -> 229216 bytes
>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.depex  
>   | Bin 0 -> 18 bytes
>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi
>   | Bin 0 -> 29440 bytes
>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.depex  
>   | Bin 0 -> 18 bytes
>  Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi
>   | Bin 0 -> 21664 bytes
>  Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOp.depex
>   | Bin 0 -> 36 bytes
>  Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi  
> 

[edk2] [PATCH edk2-non-osi v2 3/4] Hisilicon/D06: Add binary modules

2018-08-14 Thread Ming Huang
Description per Module:
GetInfoFromBmc:
  Get board infomation from BMC and install a protocal.
IoInitDxe:
  Serdes initialization and PCIe port initialization and SMMU workaround.
IpmiInterfacePei:
  Install PEI ipmi interface PPI.
IpmiInterfaceDxe:
  Install DXE ipmi interface protocal.
IpmiMiscOpDxe:
  Send some OEM info to BMC via ipmi protocal.
IpmiWatchdogDxe:
  Manage the out of band watchdog timer in BMC.
SnpDxe:
  Snp driver for D06 debug on board net card.
PcieRasInitDxe:
  Initialize PCIe RAS function for all PCIe root port and end point.
RasInitDxe:
  Configure and enable RAS.
SfcDxeDriver:
  SPI flash driver.
SasDxeDriver:
  SAS driver for on board SAS controller.
UefiSmi:
  VGA driver for on board VGA device(SM750).
TransSmbiosInfo:
  Send SMBIOS infomation to BMC via ipmi.
OemAddressMapD06:
  Provide function for configuration components of chips.
MemoryInitPeim:
  Peim for memory initialization.
Hi1620SerdesLib:
  Library for initialization Hi1620 serdes.
LpcLib:
  Include LpcInit, LpcByteWrite and LpcByteRead functions.
PlatformSysCtrlLibHi1620:
  Provide Misc function needed by other modules.
FVMAIN_SEC.Fv:
  A Fv for SEC binary.
bl1.bin/fip.bin:
  Trusted Firmware module.

Build commit infomation:
edk2:   871c57754c1d
edk2-platforms: 820af7623c42
HwPkg:  a7947372749e
TrustedFirmware: cccdae6ff768
Tools:  6b286b119422

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang 
---
 Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.inf   
|  26 
 Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.inf 
|  27 
 Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.inf  
|  28 +
 Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.inf  
|  27 
 Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOpDxe.inf 
|  27 
 Platform/Hisilicon/D06/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.inf 
|  27 
 Platform/Hisilicon/D06/Drivers/Net/SnpHi1620NewDxe/SnpDxe.inf  
|  27 
 Platform/Hisilicon/D06/Drivers/PcieRasInitDxe/PcieRasInitDxe.inf   
|  26 
 Platform/Hisilicon/D06/Drivers/RasInitDxe/RasInitDxe.inf   
|  25 
 Platform/Hisilicon/D06/Drivers/SFC/SfcDxeDriver.inf
|  27 
 Platform/Hisilicon/D06/Drivers/Sas/SasDxeDriver.inf
|  27 
 Platform/Hisilicon/D06/Drivers/Sm750Dxe/UefiSmi.inf
|  32 +++
 Platform/Hisilicon/D06/Drivers/TransferSmbiosInfo/TransSmbiosInfo.inf  
|  26 
 Platform/Hisilicon/D06/Library/OemAddressMapD06/OemAddressMapD06.inf   
|  40 ++
 Platform/Hisilicon/D06/MemoryInitPei/MemoryInitPeim.inf
|  28 +
 Silicon/Hisilicon/Hi1620/Library/Hi1620Serdes/Hi1620SerdesLib.inf  
|  43 
 Silicon/Hisilicon/Hi1620/Library/LpcLibHi1620/LpcLib.inf   
|  39 ++
 
Silicon/Hisilicon/Hi1620/Library/PlatformSysCtrlLibHi1620/PlatformSysCtrlLibHi1620.inf
 |  43 
 Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.depex 
| Bin 0 -> 18 bytes
 Platform/Hisilicon/D06/Drivers/GetInfoFromBmc/GetInfoFromBmc.efi   
| Bin 0 -> 20480 bytes
 Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.depex   
| Bin 0 -> 18 bytes
 Platform/Hisilicon/D06/Drivers/IoInitDxe/IoInitDxe.efi 
| Bin 0 -> 229216 bytes
 Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.depex
| Bin 0 -> 18 bytes
 Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfaceDxe/IpmiInterfaceDxe.efi  
| Bin 0 -> 29440 bytes
 Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.depex
| Bin 0 -> 18 bytes
 Platform/Hisilicon/D06/Drivers/Ipmi/IpmiInterfacePei/IpmiInterfacePei.efi  
| Bin 0 -> 21664 bytes
 Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOp.depex  
| Bin 0 -> 36 bytes
 Platform/Hisilicon/D06/Drivers/IpmiMiscOpDxe/IpmiMiscOp.efi
| Bin 0 -> 24736 bytes
 Platform/Hisilicon/D06/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.depex   
| Bin 0 -> 36 bytes
 Platform/Hisilicon/D06/Drivers/IpmiWatchdogDxe/IpmiWatchdogDxe.efi 
| Bin 0 -> 20768 bytes
 Platform/Hisilicon/D06/Drivers/Net/SnpHi1620NewDxe/SnpPV600Dxe.efi 
| Bin 0 -> 75040 bytes
 Platform/Hisilicon/D06/Drivers/PcieRasInitDxe/PcieRasInitDxe.depex 
| Bin 0 -> 36 bytes