Re: [edk2] [PATCH v1] MdeModulePkg/Mtftp4Dxe: Fix invalid configuration of MTFTP local port.
Reviewed-by: Fu Siyuan > -Original Message- > From: Wu, Jiaxin > Sent: Monday, November 5, 2018 2:58 PM > To: edk2-devel@lists.01.org > Cc: Ye, Ting ; Fu, Siyuan ; Wu, > Jiaxin > Subject: [PATCH v1] MdeModulePkg/Mtftp4Dxe: Fix invalid configuration of > MTFTP local port. > > This patch is to fix the invalid setting of MTFTP local port. The > issue can be reproduced by tftp shell command by using [-l port] > option. > > Cc: Ye Ting > Cc: Fu Siyuan > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Wu Jiaxin > --- > MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Impl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Impl.c > b/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Impl.c > index f442e6d7ac..793ad77b1e 100644 > --- a/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Impl.c > +++ b/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Impl.c > @@ -309,11 +309,11 @@ Mtftp4ConfigUnicastPort ( >UdpConfig.ReceiveTimeout = 0; >UdpConfig.TransmitTimeout= 0; >UdpConfig.UseDefaultAddress = Config->UseDefaultSetting; >IP4_COPY_ADDRESS (, >StationIp); >IP4_COPY_ADDRESS (, >SubnetMask); > - UdpConfig.StationPort= 0; > + UdpConfig.StationPort= Config->LocalPort; >UdpConfig.RemotePort = 0; > >Ip = HTONL (Instance->ServerIp); >IP4_COPY_ADDRESS (, ); > > -- > 2.17.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v1] ShellPkg/TftpDynamicCommand: Clarify the retry count option in command.
Reviewed-by: Fu Siyuan > -Original Message- > From: Wu, Jiaxin > Sent: Monday, November 5, 2018 2:59 PM > To: edk2-devel@lists.01.org > Cc: Carsey, Jaben ; Ye, Ting ; > Fu, Siyuan ; Wu, Jiaxin > Subject: [PATCH v1] ShellPkg/TftpDynamicCommand: Clarify the retry count > option in command. > > [-c ] is to define the number of times to transmit request > packets and wait for a response. The default value is 6. But it doesn't > specify the behavior of zero value. Here, The patch is to clear that: > Set to zero also means to use the default value. > > Cc: Carsey Jaben > Cc: Ye Ting > Cc: Fu Siyuan > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Wu Jiaxin > --- > ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c | 6 +- > ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni | 3 ++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > index ac2813efc3..028686e1ff 100644 > --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > @@ -216,11 +216,11 @@ EFI_MTFTP4_CONFIG_DATA DefaultMtftp4ConfigData = { >{ { 0, 0, 0, 0 } }, // SubnetMask- Not relevant > as UseDefaultSetting=TRUE >0,// LocalPort - Automatically > assigned port number. >{ { 0, 0, 0, 0 } }, // GatewayIp - Not relevant > as UseDefaultSetting=TRUE >{ { 0, 0, 0, 0 } }, // ServerIp - Not known yet >69, // InitialServerPort - Standard TFTP > server port > - 6,// TryCount - Max number of > retransmissions. > + 6,// TryCount - The number of > times to transmit request packets and wait for a response. >4 // TimeoutValue - Retransmission > timeout in seconds. > }; > > STATIC CONST SHELL_PARAM_ITEM ParamList[] = { >{L"-i", TypeValue}, > @@ -419,10 +419,14 @@ RunTftp ( >ValueStr = ShellCommandLineGetValue (CheckPackage, L"-c"); >if (ValueStr != NULL) { > if (!StringToUint16 (ValueStr, )) { >goto Error; > } > + > +if (Mtftp4ConfigData.TryCount == 0) { > + Mtftp4ConfigData.TryCount = 6; > +} >} > >ValueStr = ShellCommandLineGetValue (CheckPackage, L"-t"); >if (ValueStr != NULL) { > if (!StringToUint16 (ValueStr, )) { > diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > index 654e42ad23..ff64912564 100644 > --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > @@ -56,11 +56,12 @@ > " -i interface - Specifies an adapter name, i.e., eth0.\r\n" > " -l port - Specifies the local port number. Default value is > 0\r\n" > " and the port number is automatically assigned.\r\n" > " -r port - Specifies the remote port number. Default value is > 69.\r\n" > " -c - The number of times to transmit request packets > and\r\n" > -" wait for a response. The default value is 6.\r\n" > +" wait for a response. The default value is 6. Set to > zero\r\n" > +" also means to use the default value.\r\n" > " -t - The number of seconds to wait for a response > after\r\n" > " sending a request packet. Default value is 4s.\r\n" > " -s - Specifies the TFTP blksize option as defined in RFC > 2348.\r\n" > " Valid range is between 8 and 65464, default value > is 512.\r\n" > " -w - Specifies the TFTP windowsize option as defined in > RFC 7440.\r\n" > -- > 2.17.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH] UefiCpuPkg/SmmCpu: Block SMM read-out only when static paging is used
From: Jiewen Yao Today's implementation blocks SMM read-out no matter static paging is enabled or not. But certain platform may need to read non-SMM content from SMM code. These platforms don't have a way to disable the read-out blocking. The patch updates the policy to only block SMM read-out when static paging is enabled. So that the static paging can be disabled for those platforms that want SMM read-out. Setting PcdCpuSmmStaticPageTable to FALSE can disable the static paging. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jiewen Yao Signed-off-by: Ruiyu Ni Cc: Eric Dong Cc: Jiewen Yao Cc: Laszlo Ersek --- UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c index 5bb7d57238..117502dafa 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c @@ -1,7 +1,7 @@ /** @file Page Fault (#PF) handler for X64 processors -Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved. +Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved. Copyright (c) 2017, AMD Incorporated. All rights reserved. This program and the accompanying materials @@ -890,7 +890,7 @@ SmiPFHandler ( CpuDeadLoop (); } -if (IsSmmCommBufferForbiddenAddress (PFAddress)) { +if (mCpuSmmStaticPageTable && IsSmmCommBufferForbiddenAddress (PFAddress)) { DumpCpuContext (InterruptType, SystemContext); DEBUG ((DEBUG_ERROR, "Access SMM communication forbidden address (0x%lx)!\n", PFAddress)); DEBUG_CODE ( -- 2.16.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH edk2-platforms 01/27] Platform/Microsoft: Add OpteeClientPkg dec
Hi Sumit, > -Original Message- > From: Sumit Garg > > Hi Chris, > > On Sat, 3 Nov 2018 at 05:25, Chris Co wrote: > > > > Hi Sumit, > > > > > -Original Message- > > > From: Sumit Garg > > > > > > + OP-TEE ML. > > > > > > On Fri, 2 Nov 2018 at 06:11, Chris Co > wrote: > > > > > > > > Hi Sumit, > > > > > > > > Our full OpteeClientPkg has: > > > > - Our OpteeClientAPI implementation. I was monitoring the merge > > > > progress > > > on OpteeLib and will look into moving over now that it is available. > > > > - The fTPM and AuthVar TA binaries. In our current design, the TA > > > > binaries > > > are loaded at runtime. We could host the binaries themselves > > > elsewhere on the filesystem, but we do not want these binaries as > > > early/pseudo TAs. Is there a plan for OpteeLib to support loading full > > > TAs? > > > > > > Early TAs [1] are basically full TAs only, running in Secure EL0 mode. > > > So instead of loading TA from normal world file-system, they are > > > linked into a special data section in the OP-TEE core blob. > > > > > > Also I don't think loading TAs dynamically especially during boot > > > makes much sense due to following reasons: > > > 1. Increased boot time. > > > 2. Fixed TAs like in your case which could be linked as early TAs as well. > > > > > > > We prefer to load TAs dynamically for a more flexible servicing story. My > understanding is that Early TAs are coupled with the OP-TEE binary itself, so > to update an Early TA, a new OP-TEE binary would need to be created and > pushed. We want to avoid rolling a new OP-TEE and only update the TA > binary in this scenario. > > > > Are you referring to run-time updates on the device in the field? If this is > the > case then how do you think to update TAs, is it via some custom capsule > update method? > Yes, run-time TA updates. Currently, our fTPM and Authvar TAs get packaged inside our UEFI binary. So an update to a TA means a UEFI update via firmware capsule. The discussion of these TA binaries living on the filesystem were ideas we were discussing internally but are not fully baked or committed to. > I do consider these TAs used during boot as essential secure services provided > by the secure firmware (OP-TEE in this case). So these TAs should be part of > firmware itself and updates for them should come through firmware capsule > updates only. > I agree in principle and I think I see where the misalignment is, mostly coming from my end. The security guarantees (termed TCPS) we want to provide on the current hardware we support (NXP i.MX6), mean OP-TEE becomes prohibitively difficult to update. This is due to a hardware resource limitation (not enough fuse space). If this limitation were not present, we could freely update OP-TEE and package these TAs as EarlyTAs. Info on TCPS (whitepaper at bottom of post) - https://www.microsoft.com/en-us/microsoft-365/blog/2018/04/24/trusted-cyber-physical-systems-looks-to-protect-your-critical-infrastructure-from-modern-threats-in-the-world-of-iot/ I'm not sure how you want to handle this from an OpteeLib vs custom platform package perspective. > > > And you mentioned filesystem, are you referring to root filesystem? > > > > > > > We have not implemented this yet, but we were thinking to have the TA > binaries present in the EFI partition. > > > > AFAIK, EFI partition is shared among Linux and UEFI. This provides Linux > access to secure firmware TAs that could be a security concern (denial of > service could be one of them). > Note - we are booting Windows, though your point here is still valid. The TAs living in the filesystem is not what is implemented today. It was an idea we were discussing internally. > > > > - We have two client drivers: a firmware TPM TA driver and an > > > authenticated variable TA driver. These talk through the > > > tee-supplicant to their respective TAs. > > > > > > > > > > Here from tee-supplicant apart from loading TAs, what other services > > > are you expecting? If you are looking for secure storage via RPMB, > > > that could be an enhancement to OpteeLib adding corresponding RPC > handling here [2]. > > > > > > > For RPC handling, we are looking for the following callback support: > > - OPTEE_SMC_RPC_FUNC_ALLOC > > - OPTEE_SMC_RPC_FUNC_FREE > > - OPTEE_SMC_RPC_FUNC_CMD > > - OPTEE_MSG_RPC_CMD_LOAD_TA > > Please see above comments for this. > > > - OPTEE_MSG_RPC_CMD_RPMB > > - OPTEE_MSG_RPC_CMD_GET_TIME > > Can you share the usage of OPTEE_MSG_RPC_CMD_GET_TIME? AFAIK, this is > used to get REE time from OP-TEE. > I dug further and found that this was being used in our fTPM TA for debug logs. It has since been deprecated so we do not need this RPC command. > > - OPTEE_MSG_RPC_CMD_SHM_ALLOC > > - OPTEE_MSG_RPC_CMD_SHM_FREE > > - OPTEE_MSG_RPC_CMD_WAIT_QUEUE > > I don't think we need OPTEE_MSG_RPC_CMD_WAIT_QUEUE implementation > in UEFI as its a single threaded
[edk2] [PATCH v3 1/1] ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF.
V3: Remove duplicate library added in v2 patch, since ArmVirtPkg.dsc.inc already have them. Just remove the if...end there is enough. V2: Add missing library instance for NetworkPkg iSCSI driver. This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively maintained and will be removed from edk2 master soon. Cc: Laszlo Ersek Cc: Ard Biesheuvel Cc: Julien Grall Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Fu Siyuan --- ArmVirtPkg/ArmVirt.dsc.inc | 2 -- ArmVirtPkg/ArmVirtQemu.dsc | 10 +++--- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 10 +++--- ArmVirtPkg/ArmVirtQemuKernel.dsc | 13 ++--- 4 files changed, 12 insertions(+), 23 deletions(-) diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index 70a0ac4d786c..ebabf3f47ec9 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc @@ -149,11 +149,9 @@ [LibraryClasses.common] # # CryptoPkg libraries needed by multiple firmware features # -!if ($(SECURE_BOOT_ENABLE) == TRUE) || ($(NETWORK_IP6_ENABLE) == TRUE) IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf -!endif # # Secure Boot dependencies diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc index 885c6b14b844..b3f1b23e3890 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -346,18 +346,14 @@ [Components.common] MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + NetworkPkg/TcpDxe/TcpDxe.inf + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE NetworkPkg/Ip6Dxe/Ip6Dxe.inf - NetworkPkg/TcpDxe/TcpDxe.inf NetworkPkg/Udp6Dxe/Udp6Dxe.inf NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE NetworkPkg/DnsDxe/DnsDxe.inf diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc index a6390bd4b841..3316f982695f 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -126,18 +126,14 @@ [FV.FvMain] INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF NetworkPkg/IScsiDxe/IScsiDxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf - INF NetworkPkg/TcpDxe/TcpDxe.inf INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE INF NetworkPkg/DnsDxe/DnsDxe.inf diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc index 434d6861a56f..4920a66f2fdb 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc @@ -67,6 +67,9 @@ [LibraryClasses.common] [LibraryClasses.common.UEFI_DRIVER] UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf + BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf + OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf + IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE] # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE @@ -335,18 +338,14 @@ [Components.common] MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + NetworkPkg/TcpDxe/TcpDxe.inf + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE NetworkPkg/Ip6Dxe/Ip6Dxe.inf - NetworkPkg/TcpDxe/TcpDxe.inf NetworkPkg/Udp6Dxe/Udp6Dxe.inf NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf -
[edk2] [PATCH v3 0/1] Delete TCP, PXE, iSCSI driver in MdeModulePkg.
V3 Update: 1. Changes for OvmfPkg and Vlv2TbltDevicePkg have been committed so not included in this v3 patch. 2. Remove ArmVirtPkg duplicate library added in v2 patch. V2 Update: 1. Changes for Nt32Pkg and EmulatorPkg have been committed so not included in this v2 patch. 2. Add missing library instance for NetworkPkg iSCSI driver. 3. The removal of the 3 modules from MdeModulePkg will not be included in edk2-stable201811 tag, so not included in this v2 patch. This patch series is to delete the Tcp4Dxe, UefiPxeBcDxe and IScsi4Dxe drivers in MdeModulePkg. These drivers will not be maintained and can't co-work with the dual-stack drivers in NetworkPkg. People should use below NetworkPkg drivers instead: NetworkPkg/IScsiDxe/IScsiDxe.inf NetworkPkg/TcpDxe/TcpDxe.inf NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf These drivers are actively maintained with more bug fixes and new feature support. The MdeModulePkg iSCSI driver implements its own Md5.c instead of using standard crypto API provided by OpenSSL, which is not allowed by edk2 security development guide line. NetworkPkg iSCSI driver doesn't have this issue and so need to be built with OpenSSL library instance now. Please add below library instance to your DSC file. [LibraryClasses.common.UEFI_DRIVER] BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf Patch 1~5 update edk2 platform DSC/FDF files to use NetworkPkg drivers. Patch 6 deletes the TCP,PXE,iSCSI driver in MdeModulePkg. Patch 7 removes some clarification in NetworkPkg drivers since the related driver has been deleted in Patch 6. Fu Siyuan (1): ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF. Cc: Laszlo Ersek Cc: Ard Biesheuvel Cc: Julien Grall ArmVirtPkg/ArmVirt.dsc.inc | 2 -- ArmVirtPkg/ArmVirtQemu.dsc | 10 +++--- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 10 +++--- ArmVirtPkg/ArmVirtQemuKernel.dsc | 13 ++--- 4 files changed, 12 insertions(+), 23 deletions(-) -- 2.19.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v1 0/7] Delete TCP, PXE, iSCSI driver in MdeModulePkg.
Hi, Leif and Laszlo > -Original Message- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Tuesday, November 6, 2018 6:12 AM > To: Leif Lindholm ; Fu, Siyuan > > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] [PATCH v1 0/7] Delete TCP, PXE, iSCSI driver in > MdeModulePkg. > > Hi Leif, > > On 10/31/18 11:59, Leif Lindholm wrote: > > Hi Fu Siyuan, > > > > Hmm, strange. > > > > Ming Huang (cc) has also had issues with this in his latest set (but > > not before). Can you guys work together to try to figure out what is > > going wrong? > > > > Can you start by testing with an older version of git? > > this is indeed a git regression. I ran into it myself recently, when I > upgraded git from v2.14.1 to v2.19.1. I dug a little into the git source > code, but couldn't spend much time on it. Ultimately I rolled back the > upgrade. > > The diffstats are still well-formed (not truncated) in the individual > patch emails, under v2.19.1, as long as the "recommended" options are > used on the cmdline. However, the cumulative diffstat is truncated > regardless. I couldn't convince git v2.19.1 to keep the previous > (desired) behavior. So should I rollback my Git to v2.14.1, or the new truncated cumulative diffstat is also acceptable? > > "Documentation/RelNotes/2.17.0.txt" has some words on "diffstat". > > Thanks > Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 2/3] ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF.
Hi, Laszlo > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Laszlo Ersek > Sent: Tuesday, November 6, 2018 6:37 AM > To: Fu, Siyuan > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] [PATCH v2 2/3] ArmVirtPkg: Replace obsoleted network > drivers from platform DSC/FDF. > > On 11/05/18 11:49, Fu Siyuan wrote: > > V2: > > Add missing library instance for NetworkPkg iSCSI driver. > > > > This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with > those > > ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being > actively > > maintained and will be removed from edk2 master soon. > > > > Cc: Laszlo Ersek > > Cc: Ard Biesheuvel > > Cc: Julien Grall > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Fu Siyuan > > --- > > ArmVirtPkg/ArmVirtQemu.dsc | 13 ++--- > > ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 10 +++--- > > ArmVirtPkg/ArmVirtQemuKernel.dsc | 13 ++--- > > 3 files changed, 15 insertions(+), 21 deletions(-) > > > > diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc > > index 885c6b14b844..0f403973bea0 100644 > > --- a/ArmVirtPkg/ArmVirtQemu.dsc > > +++ b/ArmVirtPkg/ArmVirtQemu.dsc > > @@ -70,6 +70,9 @@ [LibraryClasses.common.PEIM] > > > > [LibraryClasses.common.UEFI_DRIVER] > >UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf > > + BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > > + OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf > > + IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf > > (1) I couldn't participate in the discussion last week; I was away. On > my return, I have now seen multiple related threads. I guess I can > describe my general concern here. > > My general concern is that the edk2 network stack can no longer be built > without OpenSSL. (As long as we include the iSCSI driver in the "edk2 > network stack".) Is that intentional? > > I'm not asking for additional documentation regarding this fact, given > commit 0bcbdf9c7445 ("NetworkPkg/IScsiDxe: Add the clarification > compared to IScsiDxe in MdeModulePkg.", 2018-09-27). I'm just asking if > we've considered this and find it acceptable. The MdeModulePkg iSCSI driver can be built without OpenSSL because it writes its own crypto functions in IScsiDxe/Md5.c, that's not allowed by current edk2 security development guide line. We should always use the crypto APIs provided by OpenSSL instead of reinvent a new implementation. So yes, it's the intentional, and even if we decide not to delete the MdeModulePkg iSCSI driver, there will be another patch to delete its own Md5.c and use OpenSSL API. > > > (2) Once we remove the IPv4-only drivers, the INF file comments added in: > > 897720daef33 NetworkPkg/TcpDxe: Add the clarification compared to >Tcp4Dxe in MdeModulePkg. > 0bcbdf9c7445 NetworkPkg/IScsiDxe: Add the clarification compared to >IScsiDxe in MdeModulePkg. > 24c55f5dcc31 NetworkPkg/UefiPxeBcDxe: Add the clarification compared >to UefiPxeBcDxe in MdeModulePkg. > > should be updated, because the comparisons to MdeModulePkg drivers will > no longer make sense. You are right, my V1 patch 6/7 deletes the MdeModulePkg code and 7/7 removes these comments in NetworkPkg drivers' INF file. Since we decided to keep the MdeModulePkg driver in edk2-stable201811 tag, I removed the 6/7 and 7/7 in v2 patch. These changes will be sent out in a separate patch later. I will try to include more details in the patch description in future to let you known the background. > > > (3) These library class resolutions are already spelled out in > "ArmVirtPkg/ArmVirt.dsc.inc". Please see under the comment > > # > # CryptoPkg libraries needed by multiple firmware features > # > > We shouldn't duplicate those lib class resolutions. Just see it, will send out a v3 patch for the ARM package. > > > (4) In particular, the "CryptoPkg/Library/OpensslLib/OpensslLib.inf" > instance contains TLS support, and it is overkill for just IPv6. The > "OpensslLibCrypto.inf" instance is sufficient. > TLS is required by HTTP boot driver so I put OpensslLib instance as default, but it's a good suggestion. I will update the NetworkPkg Wiki page to tell platform owners to use the smaller crypto library instance if they don't need HTTP. > > > > > ## > ## > > # > > @@ -346,18 +349,14 @@ [Components.common] > >MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf > >MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf > >MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf > > + NetworkPkg/TcpDxe/TcpDxe.inf > > + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > > + NetworkPkg/IScsiDxe/IScsiDxe.inf > > !if $(NETWORK_IP6_ENABLE) == TRUE > >NetworkPkg/Ip6Dxe/Ip6Dxe.inf > > - NetworkPkg/TcpDxe/TcpDxe.inf > >
Re: [edk2] [PATCH v2 0/5] OvmfPkg: simply use the Bochs interface for vmsvga
(+PhilMD) On 11/02/18 04:23, yuchenlin via edk2-devel wrote: > From: yuchenlin > > In this series, replace the original vmsvga driver to Bochs > interface. > > Simply revert vmsvga driver implementation. After it, use Bochs > interface for initializing vmsvga. > > Because of the PCI BARs difference between std vga and vmsvga. > We can not simply recognize the "QEMU VMWare SVGA" as the > QEMU_VIDEO_BOCHS_MMIO variant. > > BAR |std vga | vmsvga > - > 0| Framebuffer | I/O space > 1| Reserved | Framebuffer > 2| MMIO | FIFO > > To overcome this problem, we remain variant QEMU_VIDEO_VMWARE_SVGA, > and use it for: > > (1) Get framebuffer from correct PCI BAR > (2) Prevent using BAR2 for MMIO > > We have tested on qemu before and after commit 104bd1dc70 and all > worked. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: yuchenlin > > Changelog: > v1 -> v2 > * use 'else' clause (Thanks Philippe). > * add more comment in revert patches (Thanks Philippe). > * reorder the revert patches, we should revert the last commit first. > * use correct framebuffer to ClearScreen. > * revert VMWare svga definitions. I'll have to ask for a bit more patience until I come to this series. I can process only so much email backlog in one day. :) And I don't want to butcher this review due to fatigue. Meanwhile, thank you both Phils for the v1 comments! Please comment on v2 as well, if you can! Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 3/3] OvmfPkg: Replace obsoleted network drivers from platform DSC/FDF.
On 11/05/18 11:49, Fu Siyuan wrote: > V2: > Add missed library instance for NetworkPkg iSCSI driver. > > This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those > ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively > maintained and will be removed from edk2 master soon. > > Cc: Jordan Justen > Cc: Laszlo Ersek > Cc: Ard Biesheuvel > Cc: Anthony Perard > Cc: Julien Grall > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Fu Siyuan > --- > OvmfPkg/OvmfPkgIa32.dsc| 14 -- > OvmfPkg/OvmfPkgIa32.fdf| 10 +++--- > OvmfPkg/OvmfPkgIa32X64.dsc | 14 -- > OvmfPkg/OvmfPkgIa32X64.fdf | 10 +++--- > OvmfPkg/OvmfPkgX64.dsc | 14 -- > OvmfPkg/OvmfPkgX64.fdf | 10 +++--- > 6 files changed, 21 insertions(+), 51 deletions(-) > > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index 9f07e75050c0..7160e88eaee4 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -189,9 +189,7 @@ [LibraryClasses] > !endif >VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf > > -!if $(NETWORK_IP6_ENABLE) == TRUE >TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf > -!endif > > !if $(HTTP_BOOT_ENABLE) == TRUE >HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf > @@ -790,18 +788,14 @@ [Components] >MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf >MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf >MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf > -!if $(NETWORK_IP6_ENABLE) == TRUE > - NetworkPkg/Ip6Dxe/Ip6Dxe.inf > + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf >NetworkPkg/TcpDxe/TcpDxe.inf > + NetworkPkg/IScsiDxe/IScsiDxe.inf > +!if $(NETWORK_IP6_ENABLE) == TRUE > + NetworkPkg/Ip6Dxe/Ip6Dxe.inf >NetworkPkg/Udp6Dxe/Udp6Dxe.inf >NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf >NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > - NetworkPkg/IScsiDxe/IScsiDxe.inf > -!else > - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf > - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf > - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf > !endif > !if $(HTTP_BOOT_ENABLE) == TRUE >NetworkPkg/DnsDxe/DnsDxe.inf > diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf > index 52b8b1fea1fc..1bc2e73bde16 100644 > --- a/OvmfPkg/OvmfPkgIa32.fdf > +++ b/OvmfPkg/OvmfPkgIa32.fdf > @@ -309,18 +309,14 @@ [FV.DXEFV] >INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf >INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf >INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf > + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > + INF NetworkPkg/TcpDxe/TcpDxe.inf > + INF NetworkPkg/IScsiDxe/IScsiDxe.inf > !if $(NETWORK_IP6_ENABLE) == TRUE >INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf > - INF NetworkPkg/TcpDxe/TcpDxe.inf >INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf >INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf >INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > - INF NetworkPkg/IScsiDxe/IScsiDxe.inf > -!else > - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf > - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf > - INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf > !endif > !if $(HTTP_BOOT_ENABLE) == TRUE >INF NetworkPkg/DnsDxe/DnsDxe.inf > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index a4eaeb808c6b..e83e7ffab5b5 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -194,9 +194,7 @@ [LibraryClasses] > !endif >VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf > > -!if $(NETWORK_IP6_ENABLE) == TRUE >TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf > -!endif > > !if $(HTTP_BOOT_ENABLE) == TRUE >HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf > @@ -799,18 +797,14 @@ [Components.X64] >MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf >MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf >MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf > -!if $(NETWORK_IP6_ENABLE) == TRUE > - NetworkPkg/Ip6Dxe/Ip6Dxe.inf > + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf >NetworkPkg/TcpDxe/TcpDxe.inf > + NetworkPkg/IScsiDxe/IScsiDxe.inf > +!if $(NETWORK_IP6_ENABLE) == TRUE > + NetworkPkg/Ip6Dxe/Ip6Dxe.inf >NetworkPkg/Udp6Dxe/Udp6Dxe.inf >NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf >NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > - NetworkPkg/IScsiDxe/IScsiDxe.inf > -!else > - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf > - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf > - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf > !endif > !if $(HTTP_BOOT_ENABLE) == TRUE >NetworkPkg/DnsDxe/DnsDxe.inf > diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf > index 70845d6972fd..f36c7e741c8e
Re: [edk2] [PATCH v2 2/3] ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF.
On 11/05/18 11:49, Fu Siyuan wrote: > V2: > Add missing library instance for NetworkPkg iSCSI driver. > > This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those > ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively > maintained and will be removed from edk2 master soon. > > Cc: Laszlo Ersek > Cc: Ard Biesheuvel > Cc: Julien Grall > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Fu Siyuan > --- > ArmVirtPkg/ArmVirtQemu.dsc | 13 ++--- > ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 10 +++--- > ArmVirtPkg/ArmVirtQemuKernel.dsc | 13 ++--- > 3 files changed, 15 insertions(+), 21 deletions(-) > > diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc > index 885c6b14b844..0f403973bea0 100644 > --- a/ArmVirtPkg/ArmVirtQemu.dsc > +++ b/ArmVirtPkg/ArmVirtQemu.dsc > @@ -70,6 +70,9 @@ [LibraryClasses.common.PEIM] > > [LibraryClasses.common.UEFI_DRIVER] >UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf > + BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > + OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf > + IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf (1) I couldn't participate in the discussion last week; I was away. On my return, I have now seen multiple related threads. I guess I can describe my general concern here. My general concern is that the edk2 network stack can no longer be built without OpenSSL. (As long as we include the iSCSI driver in the "edk2 network stack".) Is that intentional? I'm not asking for additional documentation regarding this fact, given commit 0bcbdf9c7445 ("NetworkPkg/IScsiDxe: Add the clarification compared to IScsiDxe in MdeModulePkg.", 2018-09-27). I'm just asking if we've considered this and find it acceptable. (2) Once we remove the IPv4-only drivers, the INF file comments added in: 897720daef33 NetworkPkg/TcpDxe: Add the clarification compared to Tcp4Dxe in MdeModulePkg. 0bcbdf9c7445 NetworkPkg/IScsiDxe: Add the clarification compared to IScsiDxe in MdeModulePkg. 24c55f5dcc31 NetworkPkg/UefiPxeBcDxe: Add the clarification compared to UefiPxeBcDxe in MdeModulePkg. should be updated, because the comparisons to MdeModulePkg drivers will no longer make sense. (3) These library class resolutions are already spelled out in "ArmVirtPkg/ArmVirt.dsc.inc". Please see under the comment # # CryptoPkg libraries needed by multiple firmware features # We shouldn't duplicate those lib class resolutions. (4) In particular, the "CryptoPkg/Library/OpensslLib/OpensslLib.inf" instance contains TLS support, and it is overkill for just IPv6. The "OpensslLibCrypto.inf" instance is sufficient. > > > > # > @@ -346,18 +349,14 @@ [Components.common] >MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf >MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf >MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf > + NetworkPkg/TcpDxe/TcpDxe.inf > + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > + NetworkPkg/IScsiDxe/IScsiDxe.inf > !if $(NETWORK_IP6_ENABLE) == TRUE >NetworkPkg/Ip6Dxe/Ip6Dxe.inf > - NetworkPkg/TcpDxe/TcpDxe.inf >NetworkPkg/Udp6Dxe/Udp6Dxe.inf >NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf >NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > - NetworkPkg/IScsiDxe/IScsiDxe.inf > -!else > - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf > - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf > - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf > !endif > !if $(HTTP_BOOT_ENABLE) == TRUE >NetworkPkg/DnsDxe/DnsDxe.inf (5) This change will break the build (without NETWORK_IP6_ENABLE). Namely, "NetworkPkg/IScsiDxe/IScsiDxe.inf" would be compiled unconditionally. However, "NetworkPkg/IScsiDxe/IScsiDxe.inf" depends on the TcpIoLib class -- as the sole driver in the edk2 tree --, and we only resolve that lib class (in "ArmVirtPkg/ArmVirt.dsc.inc") if NETWORK_IP6_ENABLE is defined. * If we decide that "NetworkPkg/IScsiDxe/IScsiDxe.inf" is an integral part of the edk2 network driver stack (even without NETWORK_IP6_ENABLE), then: - we should make the current TcpIoLib class resolution unconditional, - we should make the current IntrinsicLib / OpensslLib / BaseCryptLib resolutions unconditional, * Otherwise (= if we consider "NetworkPkg/IScsiDxe/IScsiDxe.inf" optional for networking), we should introduce NETWORK_ISCSI_ENABLE, and *replace* NETWORK_IP6_ENABLE with NETWORK_ISCSI_ENABLE in the above lib class resolutions. (And also make the DSC / FDF inclusion of "NetworkPkg/IScsiDxe/IScsiDxe.inf" dependent on the new NETWORK_ISCSI_ENABLE.) Thanks Laszlo > diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc > b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc > index a6390bd4b841..3316f982695f 100644 > ---
Re: [edk2] [PATCH v3 4/5] OvmfPkg: Remove EdkShellBinPkg in FDF
On 11/05/18 22:50, Laszlo Ersek wrote: > On 11/05/18 04:08, Shenglei Zhang wrote: >> From: shenglei >> >> Remove EdkShellBinPkg in OvmfPkgIa32.fdf, >> OvmfPkg/OvmfPkgIa32X64.fdf amd OvmfPkg/OvmfPkgX64.fdf. >> https://bugzilla.tianocore.org/show_bug.cgi?id=1108 >> >> v2: Remove USE_OLD_SHELL in DSC because it will be >> unnecessary to use it. >> >> Cc: Jordan Justen >> Cc: Laszlo Ersek >> Cc: Ard Biesheuvel >> Change-Id: I4db7068a3a1f68a1f6303079b73dc548c9feb2e3 > > (1) Please remove the Change-Id line from the commit message. > > (2) In order to be consistent with the other subject lines in the patch > set, I suggest updating "FDF" to "FDF and DSC". (See the Nt32Pkg patch > in particular.) (and then update the commit message body too pls; it currently only mentions the FDF files) ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v1] NetworkPkg/TlsDxe: Fix failure to process multiple TLS records.
On 10/31/18 06:42, Jiaxin Wu wrote: > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1290. > > Current implementation failed to parse the multiple TLS record > messages due to the incorrect pointer of TLS record header. This > patch is to resolve that problem. > > Cc: Ye Ting > Cc: Fu Siyuan > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Wu Jiaxin > --- > NetworkPkg/TlsDxe/TlsImpl.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/NetworkPkg/TlsDxe/TlsImpl.c b/NetworkPkg/TlsDxe/TlsImpl.c > index ea83dbd04f..2d4169b0a5 100644 > --- a/NetworkPkg/TlsDxe/TlsImpl.c > +++ b/NetworkPkg/TlsDxe/TlsImpl.c > @@ -142,11 +142,11 @@ TlsEncryptPacket ( > } > > BufferOutSize += ThisMessageSize; > > BufferInPtr += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize; > -TempRecordHeader += ThisMessageSize; > +TempRecordHeader = (TLS_RECORD_HEADER *)((UINT8 *)TempRecordHeader + > ThisMessageSize); >} > >FreePool (BufferIn); >BufferIn = NULL; > > @@ -315,11 +315,11 @@ TlsDecryptPacket ( > CopyMem (TempRecordHeader, RecordHeaderIn, TLS_RECORD_HEADER_LENGTH); > TempRecordHeader->Length = ThisPlainMessageSize; > BufferOutSize += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize; > > BufferInPtr += TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize; > -TempRecordHeader += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize; > +TempRecordHeader = (TLS_RECORD_HEADER *)((UINT8 *)TempRecordHeader + > TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize); >} > >FreePool (BufferIn); >BufferIn = NULL; > > What is the practical impact of this issue? In what scenario was it encountered? What were the symptoms? I realize the patch may have been pushed by now -- please consider adding the information to the BZ. (Or, please answer here, and then add the message URL to the BZ.) Thanks Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Linux kernel fails to boot after "Set boot script outside SMM after SmmReadyToLock"
On 10/31/18 13:54, Hristo Mihaylov wrote: > Hello, > > I'm building a custom x86_64 platform. It gets to BDS, where I select an USB > with Debian as a boot device. > > ``` > [Bds]Booting UEFI USB Flash Memory C412F52D6C89C0210002C15B > error: no suitable video mode found. > error: no video mode activated. > > > > GNU GRUB version 2.02~beta3-5 > > /\ > | Graphical install | > |*Install| > | Advanced options ... | > | Install with speech synthesis | > || > || > || > || > || > || > || > || > || > \/ > Use the ^ and v keys to select which entry is highlighted. > Press enter to boot the selected OS, `e' to edit the commands > before booting or `c' for a command-line. > > > > GNU GRUB version 2.02~beta3-5 > > /\ > |setparams 'Install' | > || > |set background_color=black | > |linux/install.amd/vmlinuz console=ttyS0,115200 | > |initrd /install.amd/initrd.gz | > || > || > || > || > || > || > || > || > \/ > > Minimum Emacs-like screen editing is supported. TAB lists > completions. Press Ctrl-x or F10 to boot, Ctrl-c or F2 for a > command-line or ESC to discard edits and return to the GRUB menu. > Booting a command list > > error: no suitable video mode found. > Booting in blind mode > ``` > > Here I set the serial console as a display device. Then I continue into > booting the USB stick where I see 2 fatal errors. > Afterwhich, the kernel starts booting, but fails to boot completely with no > error message or anything. The last few lines > Discover SATA devices. > > ``` > OnExitBootServices.. > IioInit Late Secure the Platform (TXT).. > S3BootScriptSaveMemWrite called > FATAL ERROR: Set boot script outside SMM after SmmReadyToLock!!! > S3BootScriptSaveMemWrite called > FATAL ERROR: Set boot script outside SMM after SmmReadyToLock!!! > SmmInstallProtocolInterface: 296EB418-C4C8-4E05-AB59-39E8AF56F00A 0 > SmmLockBoxSmmLib RestoreLockBox - Enter > SmmLockBoxSmmLib RestoreLockBox - Exit (Success) > SmmLockBoxSmmLib SaveLockBox - Enter > LockBoxGuid - B5AF1D7A-B8CF-4EB3-8925-A820E16B687D, SmramBuffer - 0x76F49000, > Length - 0x36F6 > SmmLockBoxSmmLib SaveLockBox - Exit (Success) > SmmLockBoxSmmLib SaveLockBox - Enter > LockBoxGuid - 627EE2DA-3BF9-439B-929F-2E0E6E9DBA62, SmramBuffer - 0x76F48000, > Length - 0x18 > SmmLockBoxSmmLib SaveLockBox - Exit (Success) > SmmLockBoxSmmLib SetLockBoxAttributes - Enter > SmmLockBoxSmmLib SetLockBoxAttributes - Exit (Success) > [0.00] Linux version 4.9.0-6-amd64 (debian-ker...@lists.debian.org) > (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian > 4.9.82-1+deb9u3 (2018-03-02) > [0.00] Command line: BOOT_IMAGE=/install.amd/vmlinuz > console=ttyS0,115200 > [0.00] Intel Spectre v2 broken microcode detected; disabling > Speculation Control > ``` > > Is this related to the SMM fatal errors? It's
Re: [edk2] [PATCH 1/3] Maintainers.txt: Remove EdkShellPkg and EkdShellBinPkg
Laszlo, thanks a bunch for this information. I hadn’t realized I had to do that manually. Jaben > On Nov 5, 2018, at 8:52 AM, Laszlo Ersek wrote: > >> On 11/01/18 12:31, Leif Lindholm wrote: >>> On Thu, Nov 01, 2018 at 06:03:22AM +, Zhang, Shenglei wrote: >>> Hi Leif, >>> >>> Thanks for your comments. Actually there is a cover letter. >>> https://lists.01.org/pipermail/edk2-devel/2018-October/031666.html >> >> Ah, I missed that one since I was on cc on the rest of the set, but >> not the cover letter. > > Indeed it is important to collect all CC's from the individual patches > and to add them to the cover letter. > > Laszlo > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 1/3] Maintainers.txt: Remove EdkShellPkg and EkdShellBinPkg
On 11/01/18 12:31, Leif Lindholm wrote: > On Thu, Nov 01, 2018 at 06:03:22AM +, Zhang, Shenglei wrote: >> Hi Leif, >> >> Thanks for your comments. Actually there is a cover letter. >> https://lists.01.org/pipermail/edk2-devel/2018-October/031666.html > > Ah, I missed that one since I was on cc on the rest of the set, but > not the cover letter. Indeed it is important to collect all CC's from the individual patches and to add them to the cover letter. Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 2/2] UefiCpuPkg/PiSmmCpuDxeSmm: Fix ASSERT for success.
On 10/31/18 20:55, Marvin Häuser wrote: > Hey Eric, > > I discovered it by accident, no tool was involved. [...] Please always post a 0/nnn cover letter, and manually CC the sum of all individual patch CC's on it. Otherwise the series quite falls apart in a threaded view. Thanks Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 0/3] Delete TCP, PXE, iSCSI driver in MdeModulePkg.
On 11/05/18 11:49, Fu Siyuan wrote: > V2 Update: > [...] My preliminary (meta) comments: https://lists.01.org/pipermail/edk2-devel/2018-November/031914.html Will follow up later. Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v3 0/5] Remove EdkShellBinPkg in FDF, DSC and DEC
On 11/05/18 04:08, Shenglei Zhang wrote: > Remove EdkShellBinPkg in CorebootPayloadPkg, EmulatorPkg, Nt32Pkg > and OvmfPkg. Replace EdkShellBinPkg with EdkShellPkg in > Vlv2TbltDevicePkg. > > v2: Remove 'USE_OLD_SHELL' in dsc files. > > v3: Remove FULL_BIN and change SHELL_TYPE from FULL_BIN > to UEFI_BIN. > > shenglei (5): > Nt32Pkg: Remove EdkShellBinPkg in FDF,DSC and DEC > Vlv2TbltDevicePkg: Remove EdkShellBinPkg with ShellPkg > EmulatorPkg: Remove EdkShellBinPkg in FDF and DEC > OvmfPkg: Remove EdkShellBinPkg in FDF > CorebootPayloadPkg: Remove EdkShellBinPkg in FDF > > CorebootPayloadPkg/CorebootPayloadPkg.fdf| 8 > CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc| 9 ++--- > CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 9 ++--- > EmulatorPkg/EmulatorPkg.dec | 2 +- > EmulatorPkg/EmulatorPkg.dsc | 4 > EmulatorPkg/EmulatorPkg.fdf | 4 > Nt32Pkg/Nt32Pkg.dec | 2 +- > Nt32Pkg/Nt32Pkg.dsc | 6 ++ > Nt32Pkg/Nt32Pkg.fdf | 4 > OvmfPkg/OvmfPkgIa32.dsc | 4 > OvmfPkg/OvmfPkgIa32.fdf | 4 > OvmfPkg/OvmfPkgIa32X64.dsc | 4 > OvmfPkg/OvmfPkgIa32X64.fdf | 4 > OvmfPkg/OvmfPkgX64.dsc | 4 > OvmfPkg/OvmfPkgX64.fdf | 4 > Vlv2TbltDevicePkg/PlatformPkg.fdf| 5 + > Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 5 + > Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 + > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc| 1 + > Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 + > 20 files changed, 13 insertions(+), 72 deletions(-) > In the cover letter, you have to manually CC all people from the individual patches. Please collect all the CC's from the individual patches, sort them uniquely, and add them to the cover letter. The cover letter is relevant to everyone that receives at least one patch from the series. For two reasons: - the cover letter explains the high level goal of the changes - the cover letter serves as the anchor point for collecting the patches in the series into a single thread in the MUA's threaded view. You haven't CC'd me on the cover letter, and now your patches (from three versions of the patch set) are scattered between the 300+ emails that I now have to process after being away for a little while. At least I managed to find the latest-looking (v3) cover letter in my edk2-devel list folder. Will follow up later. Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v1] ShellPkg/TftpDynamicCommand: Clarify the retry count option in command.
Reviewed-by: Jaben Carsey > -Original Message- > From: Wu, Jiaxin > Sent: Sunday, November 04, 2018 10:59 PM > To: edk2-devel@lists.01.org > Cc: Carsey, Jaben ; Ye, Ting ; > Fu, Siyuan ; Wu, Jiaxin > Subject: [PATCH v1] ShellPkg/TftpDynamicCommand: Clarify the retry count > option in command. > Importance: High > > [-c ] is to define the number of times to transmit request > packets and wait for a response. The default value is 6. But it doesn't > specify the behavior of zero value. Here, The patch is to clear that: > Set to zero also means to use the default value. > > Cc: Carsey Jaben > Cc: Ye Ting > Cc: Fu Siyuan > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Wu Jiaxin > --- > ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c | 6 +- > ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni | 3 ++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > index ac2813efc3..028686e1ff 100644 > --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c > @@ -216,11 +216,11 @@ EFI_MTFTP4_CONFIG_DATA > DefaultMtftp4ConfigData = { >{ { 0, 0, 0, 0 } }, // SubnetMask- Not relevant as > UseDefaultSetting=TRUE >0,// LocalPort - Automatically > assigned port number. >{ { 0, 0, 0, 0 } }, // GatewayIp - Not relevant as > UseDefaultSetting=TRUE >{ { 0, 0, 0, 0 } }, // ServerIp - Not known yet >69, // InitialServerPort - Standard TFTP > server port > - 6,// TryCount - Max number of > retransmissions. > + 6,// TryCount - The number of > times to transmit > request packets and wait for a response. >4 // TimeoutValue - Retransmission > timeout in seconds. > }; > > STATIC CONST SHELL_PARAM_ITEM ParamList[] = { >{L"-i", TypeValue}, > @@ -419,10 +419,14 @@ RunTftp ( >ValueStr = ShellCommandLineGetValue (CheckPackage, L"-c"); >if (ValueStr != NULL) { > if (!StringToUint16 (ValueStr, )) { >goto Error; > } > + > +if (Mtftp4ConfigData.TryCount == 0) { > + Mtftp4ConfigData.TryCount = 6; > +} >} > >ValueStr = ShellCommandLineGetValue (CheckPackage, L"-t"); >if (ValueStr != NULL) { > if (!StringToUint16 (ValueStr, )) { > diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > index 654e42ad23..ff64912564 100644 > --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.uni > @@ -56,11 +56,12 @@ > " -i interface - Specifies an adapter name, i.e., eth0.\r\n" > " -l port - Specifies the local port number. Default value is > 0\r\n" > " and the port number is automatically assigned.\r\n" > " -r port - Specifies the remote port number. Default value is > 69.\r\n" > " -c - The number of times to transmit request packets > and\r\n" > -" wait for a response. The default value is 6.\r\n" > +" wait for a response. The default value is 6. Set to > zero\r\n" > +" also means to use the default value.\r\n" > " -t - The number of seconds to wait for a response after\r\n" > " sending a request packet. Default value is 4s.\r\n" > " -s - Specifies the TFTP blksize option as defined in RFC > 2348.\r\n" > " Valid range is between 8 and 65464, default value is > 512.\r\n" > " -w - Specifies the TFTP windowsize option as defined in > RFC 7440.\r\n" > -- > 2.17.1.windows.2 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM
Current CLANG38 tool chain is for Linux. You can get its more information in Conf\tools_def.txt file. So, it depends on GNU make instead of MSFT nmake. Besides, CLANG38 tool chain depends on the following environments. You may also need to configure them unless those command directory has been added into system PATH. CLANG38_DLL that points the directory to include the required dll files. CLANG38_BIN that points the directory to include clang command CLANG38_ARM_PREFIX that points the directory to include objcopy CLANG38_AARCH64_PREFIX that points the directory to include objcopy Thanks Liming > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Ard > Biesheuvel > Sent: Monday, November 5, 2018 6:44 PM > To: Prem Kumar > Cc: edk2-devel@lists.01.org; Gao, Liming > Subject: Re: [edk2] [edk2-buildtools] Configuration changes for building EDK2 > for AARCH64 using LLVM > > On 5 November 2018 at 11:39, Prem Kumar wrote: > > Hi Ard Biesheuvel, > > Thanks for your reply. > > > > I've windows environment and LLVM tools chain installed. I'd like to build > > EDK2 project for ARM and AARCH64. > > > > Just a simple try I've tried CLANG38 tool chain to build MdeModulePkg.dsc > > like below, > > > > build -t CLANG38 -a AARCH64 -p MdeModulePkg\MdeModulePkg.dsc > > > > Below is the error for above command used, > > C:\UEFIWorkspace\edk2-master_2018_Latest>build -t CLANG38 -a AARCH64 -p > > MdeModulePkg\MdeModulePkg.dsc > > Build environment: Windows-10-10.0.16299 > > Build start time: 16:08:38, Nov.05 2018 > > > > WORKSPACE= c:\uefiworkspace\edk2-master_2018_latest > > ECP_SOURCE = > > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > > EDK_SOURCE = > > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > > EFI_SOURCE = > > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > > EDK_TOOLS_PATH = c:\uefiworkspace\edk2-master_2018_latest\basetools > > EDK_TOOLS_BIN= > > c:\uefiworkspace\edk2-master_2018_latest\basetools\bin\win32 > > CONF_PATH= c:\uefiworkspace\edk2-master_2018_latest\conf > > > > > > Architecture(s) = AARCH64 > > Build target = DEBUG > > Toolchain= CLANG38 > > > > Active Platform = > > c:\uefiworkspace\edk2-master_2018_latest\MdeModulePkg\MdeModulePkg.dsc > > > > Processing meta-data .. done! > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib.inf > > [AARCH64] > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib.inf > > [AARCH64] > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiLib\UefiLib.inf > > [AARCH64] > > 'make' is not recognized as an internal or external command, > > 'make' is not recognized as an internal or external command, > > It seems you will need GNU make for Windows > > > Building ... > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiApplicationEntryPoint\UefiApplicationEntryPoint.inf > > [AARCH64] > > operable program or batch file. > > operable program or batch file. > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\BaseStackCheckLib\BaseS > tackCheckLib] > > 'make' is not recognized as an internal or external command, > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\ArmPkg\Library\CompilerIntrinsicsLib\Co > mpilerIntrinsicsLib] > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiLib\UefiLib] > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiApplicationEntryPoint > \UefiApplicationEntryPoint] > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiDevicePathLib\UefiD > evicePathLib] > > > > > > build.py... > > : error F002: Failed to build module > > > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib.inf > > [AARCH64, CLANG38, DEBUG] > > > > - Failed - > > Build end time: 16:08:52, Nov.05 2018 > > > > -- > > Thanks, > > Prem. > > > > On Mon, Nov 5, 2018 at 3:52 PM Ard Biesheuvel > > wrote: > >> > >> On 5 November 2018 at 09:51, Prem Kumar wrote: > >> > Hi All, > >> > > >> > I'm trying to build EDK2 for AARCH64 using LLVM tool chain under > >> > Windows > >> > environment. > >> > > >> > > >> > > >> > Kindly
Re: [edk2] [Patch] Maintainer.txt: Add Chao to be co-maintainer of SignedCapsulePkg
Reviewed-by: jiewen@intel.com > -Original Message- > From: Zhang, Chao B > Sent: Monday, November 5, 2018 10:22 PM > To: edk2-devel@lists.01.org > Cc: Yao, Jiewen > Subject: [Patch] Maintainer.txt: Add Chao to be co-maintainer of > SignedCapsulePkg > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Zhang, Chao B > Cc: Jiewen Yao > --- > Maintainers.txt | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Maintainers.txt b/Maintainers.txt > index 7ebd53f662..43c487d461 100644 > --- a/Maintainers.txt > +++ b/Maintainers.txt > @@ -239,10 +239,11 @@ M: Jaben Carsey > M: Ruiyu Ni > > SignedCapsulePkg > W: > https://github.com/tianocore/tianocore.github.io/wiki/SignedCapsulePkg > M: Jiewen Yao > +M: Chao Zhang > > SourceLevelDebugPkg > W: > https://github.com/tianocore/tianocore.github.io/wiki/SourceLevelDebugPk > g > M: Hao Wu > > -- > 2.16.2.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [Patch] Maintainer.txt: Add Chao to be co-maintainer of SignedCapsulePkg
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhang, Chao B Cc: Jiewen Yao --- Maintainers.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Maintainers.txt b/Maintainers.txt index 7ebd53f662..43c487d461 100644 --- a/Maintainers.txt +++ b/Maintainers.txt @@ -239,10 +239,11 @@ M: Jaben Carsey M: Ruiyu Ni SignedCapsulePkg W: https://github.com/tianocore/tianocore.github.io/wiki/SignedCapsulePkg M: Jiewen Yao +M: Chao Zhang SourceLevelDebugPkg W: https://github.com/tianocore/tianocore.github.io/wiki/SourceLevelDebugPkg M: Hao Wu -- 2.16.2.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 1/2] MdePkg/UefiDebugLibConOut: Pass the correct buffer size.
The second argument of "UnicodeVSPrintAsciiFormat" is "BufferSize", which takes the size of the buffer in bytes. Replace the currently used MAX_DEBUG_MESSAGE_LENGTH reference, which is the buffer's length, with the actual buffer size. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marvin Haeuser --- MdePkg/Library/UefiDebugLibConOut/DebugLib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdePkg/Library/UefiDebugLibConOut/DebugLib.c b/MdePkg/Library/UefiDebugLibConOut/DebugLib.c index f04207c93fe8..5aaf106762ea 100644 --- a/MdePkg/Library/UefiDebugLibConOut/DebugLib.c +++ b/MdePkg/Library/UefiDebugLibConOut/DebugLib.c @@ -69,7 +69,7 @@ DebugPrint ( // Convert the DEBUG() message to a Unicode String // VA_START (Marker, Format); - UnicodeVSPrintAsciiFormat (Buffer, MAX_DEBUG_MESSAGE_LENGTH, Format, Marker); + UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, Marker); VA_END (Marker); -- 2.19.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 2/2] MdePkg/UefiDebugLibStdErr: Pass the correct buffer size.
The second argument of "UnicodeVSPrintAsciiFormat" is "BufferSize", which takes the size of the buffer in bytes. Replace the currently used MAX_DEBUG_MESSAGE_LENGTH reference, which is the buffer's length, with the actual buffer size. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marvin Haeuser --- MdePkg/Library/UefiDebugLibStdErr/DebugLib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c b/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c index 6830a3caa1fe..837fb49b3a21 100644 --- a/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c +++ b/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c @@ -71,7 +71,7 @@ DebugPrint ( // Convert the DEBUG() message to a Unicode String // VA_START (Marker, Format); - UnicodeVSPrintAsciiFormat (Buffer, MAX_DEBUG_MESSAGE_LENGTH, Format, Marker); + UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, Marker); VA_END (Marker); // -- 2.19.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH edk2-platforms v5 21/28] Platform/Hisilicon/D06: Add PciHostBridgeLib
On 26 October 2018 at 10:18, Ming Huang wrote: > Hi Ard & Laszlo, > > Sorry for delay reply. > Should all host bridges use EISA_PNP_ID(0x0A03)? > Yes. > On 10/12/2018 4:08 PM, Laszlo Ersek wrote: >> On 10/12/18 09:29, Ard Biesheuvel wrote: >>> Hello all, >>> >>> While grepping through the code in edk2-platforms, I noticed an issue >>> with this commit. Apologies for not spotting it earlier. >>> >>> On 31 August 2018 at 15:27, Ming Huang wrote: PciHostBridgeLib which is need by PciHostBridgeDxe, provide root bridges and deal with resource conflict. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ming Huang Reviewed-by: Leif Lindholm --- Platform/Hisilicon/D06/D06.dsc | 2 +- Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 36 ++ Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.c | 635 3 files changed, 672 insertions(+), 1 deletion(-) diff --git a/Platform/Hisilicon/D06/D06.dsc b/Platform/Hisilicon/D06/D06.dsc index 2659cb7e37..83dcbab6c4 100644 --- a/Platform/Hisilicon/D06/D06.dsc +++ b/Platform/Hisilicon/D06/D06.dsc @@ -419,7 +419,7 @@ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf - PciHostBridgeLib|MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf + PciHostBridgeLib|Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.inf } MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf diff --git a/Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.inf b/Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.inf new file mode 100644 index 00..8a998681a3 --- /dev/null +++ b/Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.inf @@ -0,0 +1,36 @@ +## @file +# +# Copyright (c) 2018, Hisilicon Limited. All rights reserved. +# Copyright (c) 2018, Linaro Limited. 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 +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +## + +[Defines] + INF_VERSION= 0x0001001A + BASE_NAME = PciHostBridgeLib + FILE_GUID = 61b7276a-fc67-11e5-82fd-47ea9896dd5d + MODULE_TYPE= DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = PciHostBridgeLib|DXE_DRIVER + +[Sources] + PciHostBridgeLib.c + +[Packages] + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + +[LibraryClasses] + BaseLib + DebugLib + DevicePathLib + MemoryAllocationLib + UefiBootServicesTableLib diff --git a/Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.c b/Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.c new file mode 100644 index 00..d1a436d9bc --- /dev/null +++ b/Platform/Hisilicon/D06/Library/PciHostBridgeLib/PciHostBridgeLib.c @@ -0,0 +1,635 @@ +/** @file + + Copyright (c) 2018, Hisilicon Limited. All rights reserved. + Copyright (c) 2018, Linaro Limited. 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 + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ +#include +#include +#include +#include +#include +#include +#include + +#define ENUM_HB_NUM 8 + +#define EFI_PCI_SUPPORT (EFI_PCI_ATTRIBUTE_ISA_MOTHERBOARD_IO | \ + EFI_PCI_ATTRIBUTE_IDE_SECONDARY_IO | \ + EFI_PCI_ATTRIBUTE_IDE_PRIMARY_IO | \ + EFI_PCI_ATTRIBUTE_ISA_IO_16 | \ + EFI_PCI_ATTRIBUTE_VGA_MEMORY | \ + EFI_PCI_ATTRIBUTE_VGA_IO_16
Re: [edk2] [PATCH v1 1/1] ArmPkg/OpteeLib: Fix compilation issues for ARM (32-bit)
On 2 November 2018 at 07:53, Sumit Garg wrote: > Correct usage of EFI_PHYSICAL_ADDRESS (always 64-bit) vs. pointers > (depending on architecture). > > Reported-by: Leif Lindholm > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Sumit Garg Thanks for the fix Reviewed-by: Ard Biesheuvel Pushed as e40f8efb8b06e023689120452e7ed5db199363de > --- > ArmPkg/Library/OpteeLib/Optee.c | 14 +++--- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/ArmPkg/Library/OpteeLib/Optee.c b/ArmPkg/Library/OpteeLib/Optee.c > index 8ac31cb28266..55dcc7853b59 100644 > --- a/ArmPkg/Library/OpteeLib/Optee.c > +++ b/ArmPkg/Library/OpteeLib/Optee.c > @@ -134,7 +134,7 @@ OpteeInit ( > STATIC > UINT32 > OpteeCallWithArg ( > - IN EFI_PHYSICAL_ADDRESS PhysicalArg > + IN UINT64 PhysicalArg >) > { >ARM_SMC_ARGS ArmSmcArgs; > @@ -213,7 +213,7 @@ OpteeOpenSession ( > >MessageArg->NumParams = 2; > > - if (OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg)) { > + if (OpteeCallWithArg ((UINTN)MessageArg)) { > MessageArg->Return = OPTEE_ERROR_COMMUNICATION; > MessageArg->ReturnOrigin = OPTEE_ORIGIN_COMMUNICATION; >} > @@ -246,7 +246,7 @@ OpteeCloseSession ( >MessageArg->Command = OPTEE_MESSAGE_COMMAND_CLOSE_SESSION; >MessageArg->Session = Session; > > - OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg); > + OpteeCallWithArg ((UINTN)MessageArg); > >return EFI_SUCCESS; > } > @@ -304,7 +304,7 @@ OpteeToMessageParam ( > >CopyMem ( > (VOID *)ParamSharedMemoryAddress, > -(VOID *)InParam->Union.Memory.BufferAddress, > +(VOID *)(UINTN)InParam->Union.Memory.BufferAddress, > InParam->Union.Memory.Size > ); >MessageParam->Union.Memory.BufferAddress = > (UINT64)ParamSharedMemoryAddress; > @@ -368,8 +368,8 @@ OpteeFromMessageParam ( >} > >CopyMem ( > -(VOID *)OutParam->Union.Memory.BufferAddress, > -(VOID *)MessageParam->Union.Memory.BufferAddress, > +(VOID *)(UINTN)OutParam->Union.Memory.BufferAddress, > +(VOID *)(UINTN)MessageParam->Union.Memory.BufferAddress, > MessageParam->Union.Memory.Size > ); >OutParam->Union.Memory.Size = MessageParam->Union.Memory.Size; > @@ -417,7 +417,7 @@ OpteeInvokeFunction ( > >MessageArg->NumParams = OPTEE_MAX_CALL_PARAMS; > > - if (OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg)) { > + if (OpteeCallWithArg ((UINTN)MessageArg)) { > MessageArg->Return = OPTEE_ERROR_COMMUNICATION; > MessageArg->ReturnOrigin = OPTEE_ORIGIN_COMMUNICATION; >} > -- > 2.7.4 > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 1/3] Vlv2TbltDevicePkg: Replace obsoleted drivers from platform DSC/FDF.
Reviewed-by: David Wei Thanks, David Wei Intel SSG/STO/UEFI BIOS -Original Message- From: Fu, Siyuan Sent: Monday, November 5, 2018 6:49 PM To: edk2-devel@lists.01.org Cc: Wei, David ; Guo, Mang Subject: [PATCH v2 1/3] Vlv2TbltDevicePkg: Replace obsoleted drivers from platform DSC/FDF. V2: Add missed library instance for NetworkPkg iSCSI driver. This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively maintained and will be removed from edk2 master soon. Cc: David Wei Cc: Mang Guo Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Fu Siyuan --- Vlv2TbltDevicePkg/PlatformPkg.fdf | 14 +++--- Vlv2TbltDevicePkg/PlatformPkgGcc.fdf| 14 +++--- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 20 Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 20 Vlv2TbltDevicePkg/PlatformPkgX64.dsc| 20 5 files changed, 18 insertions(+), 70 deletions(-) diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/PlatformPkg.fdf index b7a0e584deeb..241314bed4e9 100644 --- a/Vlv2TbltDevicePkg/PlatformPkg.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf @@ -744,6 +744,9 @@ [FV.FVMAIN] INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf + INF NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf @@ -751,22 +754,11 @@ [FV.FVMAIN] INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf !endif - !if $(NETWORK_IP6_ENABLE) == TRUE - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF NetworkPkg/TcpDxe/TcpDxe.inf - !else - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - !endif !if $(NETWORK_VLAN_ENABLE) == TRUE INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf !endif !if $(NETWORK_ISCSI_ENABLE) == TRUE - !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/IScsiDxe/IScsiDxe.inf - !else -INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf - !endif !endif !endif diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf index eca273e33f88..356649277289 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf @@ -700,6 +700,9 @@ [FV.FVMAIN] INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf + INF NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf @@ -707,22 +710,11 @@ [FV.FVMAIN] INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf !endif - !if $(NETWORK_IP6_ENABLE) == TRUE - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF NetworkPkg/TcpDxe/TcpDxe.inf - !else - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - !endif !if $(NETWORK_VLAN_ENABLE) == TRUE INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf !endif !if $(NETWORK_ISCSI_ENABLE) == TRUE - !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/IScsiDxe/IScsiDxe.inf - !else -INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf - !endif !endif !endif diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc index 3e3522aee908..f0a689c2c428 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc @@ -285,7 +285,7 @@ [LibraryClasses.common] ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf -!if $(FTPM_ENABLE) == TRUE +!if $(FTPM_ENABLE) == TRUE || $(NETWORK_ISCSI_ENABLE) == TRUE BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf @@ -1528,11 +1528,7 @@ [Components.X64] !if $(NETWORK_ENABLE) == TRUE !if $(NETWORK_ISCSI_ENABLE) == TRUE -!if $(NETWORK_IP6_ENABLE) == TRUE - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf -!endif +NetworkPkg/IScsiDxe/IScsiDxe.inf !endif !if $(NETWORK_VLAN_ENABLE) ==
[edk2] [PATCH v2 0/3] Delete TCP, PXE, iSCSI driver in MdeModulePkg.
V2 Update: 1. Changes for Nt32Pkg and EmulatorPkg have been committed so not included in this v2 patch. 2. Add missing library instance for NetworkPkg iSCSI driver. 3. The removal of the 3 modules from MdeModulePkg will not be included in edk2-stable201811 tag, so not included in this v2 patch. This patch series is to delete the Tcp4Dxe, UefiPxeBcDxe and IScsi4Dxe drivers in MdeModulePkg. These drivers will not be maintained and can't co-work with the dual-stack drivers in NetworkPkg. People should use below NetworkPkg drivers instead: NetworkPkg/IScsiDxe/IScsiDxe.inf NetworkPkg/TcpDxe/TcpDxe.inf NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf These drivers are actively maintained with more bug fixes and new feature support. Patch 1~5 update edk2 platform DSC/FDF files to use NetworkPkg drivers. Patch 6 deletes the TCP,PXE,iSCSI driver in MdeModulePkg. Patch 7 removes some clarification in NetworkPkg drivers since the related driver has been deleted in Patch 6. Fu Siyuan (3): Vlv2TbltDevicePkg: Replace obsoleted drivers from platform DSC/FDF. ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF. OvmfPkg: Replace obsoleted network drivers from platform DSC/FDF. ArmVirtPkg/ArmVirtQemu.dsc | 13 ++--- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc| 10 +++--- ArmVirtPkg/ArmVirtQemuKernel.dsc| 13 ++--- OvmfPkg/OvmfPkgIa32.dsc | 14 -- OvmfPkg/OvmfPkgIa32.fdf | 10 +++--- OvmfPkg/OvmfPkgIa32X64.dsc | 14 -- OvmfPkg/OvmfPkgIa32X64.fdf | 10 +++--- OvmfPkg/OvmfPkgX64.dsc | 14 -- OvmfPkg/OvmfPkgX64.fdf | 10 +++--- Vlv2TbltDevicePkg/PlatformPkg.fdf | 14 +++--- Vlv2TbltDevicePkg/PlatformPkgGcc.fdf| 14 +++--- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 20 Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 20 Vlv2TbltDevicePkg/PlatformPkgX64.dsc| 20 14 files changed, 54 insertions(+), 142 deletions(-) -- 2.19.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v2 1/3] Vlv2TbltDevicePkg: Replace obsoleted drivers from platform DSC/FDF.
V2: Add missed library instance for NetworkPkg iSCSI driver. This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively maintained and will be removed from edk2 master soon. Cc: David Wei Cc: Mang Guo Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Fu Siyuan --- Vlv2TbltDevicePkg/PlatformPkg.fdf | 14 +++--- Vlv2TbltDevicePkg/PlatformPkgGcc.fdf| 14 +++--- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 20 Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 20 Vlv2TbltDevicePkg/PlatformPkgX64.dsc| 20 5 files changed, 18 insertions(+), 70 deletions(-) diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/PlatformPkg.fdf index b7a0e584deeb..241314bed4e9 100644 --- a/Vlv2TbltDevicePkg/PlatformPkg.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf @@ -744,6 +744,9 @@ [FV.FVMAIN] INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf + INF NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf @@ -751,22 +754,11 @@ [FV.FVMAIN] INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf !endif - !if $(NETWORK_IP6_ENABLE) == TRUE - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF NetworkPkg/TcpDxe/TcpDxe.inf - !else - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - !endif !if $(NETWORK_VLAN_ENABLE) == TRUE INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf !endif !if $(NETWORK_ISCSI_ENABLE) == TRUE - !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/IScsiDxe/IScsiDxe.inf - !else -INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf - !endif !endif !endif diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf index eca273e33f88..356649277289 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf @@ -700,6 +700,9 @@ [FV.FVMAIN] INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf + INF NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf @@ -707,22 +710,11 @@ [FV.FVMAIN] INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf !endif - !if $(NETWORK_IP6_ENABLE) == TRUE - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF NetworkPkg/TcpDxe/TcpDxe.inf - !else - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - !endif !if $(NETWORK_VLAN_ENABLE) == TRUE INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf !endif !if $(NETWORK_ISCSI_ENABLE) == TRUE - !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/IScsiDxe/IScsiDxe.inf - !else -INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf - !endif !endif !endif diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc index 3e3522aee908..f0a689c2c428 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc @@ -285,7 +285,7 @@ [LibraryClasses.common] ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf -!if $(FTPM_ENABLE) == TRUE +!if $(FTPM_ENABLE) == TRUE || $(NETWORK_ISCSI_ENABLE) == TRUE BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf @@ -1528,11 +1528,7 @@ [Components.X64] !if $(NETWORK_ENABLE) == TRUE !if $(NETWORK_ISCSI_ENABLE) == TRUE -!if $(NETWORK_IP6_ENABLE) == TRUE - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf -!endif +NetworkPkg/IScsiDxe/IScsiDxe.inf !endif !if $(NETWORK_VLAN_ENABLE) == TRUE MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf @@ -1554,24 +1550,16 @@ [Components.X64] MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf -
[edk2] [PATCH v2 3/3] OvmfPkg: Replace obsoleted network drivers from platform DSC/FDF.
V2: Add missed library instance for NetworkPkg iSCSI driver. This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively maintained and will be removed from edk2 master soon. Cc: Jordan Justen Cc: Laszlo Ersek Cc: Ard Biesheuvel Cc: Anthony Perard Cc: Julien Grall Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Fu Siyuan --- OvmfPkg/OvmfPkgIa32.dsc| 14 -- OvmfPkg/OvmfPkgIa32.fdf| 10 +++--- OvmfPkg/OvmfPkgIa32X64.dsc | 14 -- OvmfPkg/OvmfPkgIa32X64.fdf | 10 +++--- OvmfPkg/OvmfPkgX64.dsc | 14 -- OvmfPkg/OvmfPkgX64.fdf | 10 +++--- 6 files changed, 21 insertions(+), 51 deletions(-) diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index 9f07e75050c0..7160e88eaee4 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -189,9 +189,7 @@ [LibraryClasses] !endif VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf -!if $(NETWORK_IP6_ENABLE) == TRUE TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf -!endif !if $(HTTP_BOOT_ENABLE) == TRUE HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf @@ -790,18 +788,14 @@ [Components] MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf -!if $(NETWORK_IP6_ENABLE) == TRUE - NetworkPkg/Ip6Dxe/Ip6Dxe.inf + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf NetworkPkg/TcpDxe/TcpDxe.inf + NetworkPkg/IScsiDxe/IScsiDxe.inf +!if $(NETWORK_IP6_ENABLE) == TRUE + NetworkPkg/Ip6Dxe/Ip6Dxe.inf NetworkPkg/Udp6Dxe/Udp6Dxe.inf NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE NetworkPkg/DnsDxe/DnsDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf index 52b8b1fea1fc..1bc2e73bde16 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf @@ -309,18 +309,14 @@ [FV.DXEFV] INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf + INF NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf - INF NetworkPkg/TcpDxe/TcpDxe.inf INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE INF NetworkPkg/DnsDxe/DnsDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index a4eaeb808c6b..e83e7ffab5b5 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -194,9 +194,7 @@ [LibraryClasses] !endif VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf -!if $(NETWORK_IP6_ENABLE) == TRUE TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf -!endif !if $(HTTP_BOOT_ENABLE) == TRUE HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf @@ -799,18 +797,14 @@ [Components.X64] MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf -!if $(NETWORK_IP6_ENABLE) == TRUE - NetworkPkg/Ip6Dxe/Ip6Dxe.inf + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf NetworkPkg/TcpDxe/TcpDxe.inf + NetworkPkg/IScsiDxe/IScsiDxe.inf +!if $(NETWORK_IP6_ENABLE) == TRUE + NetworkPkg/Ip6Dxe/Ip6Dxe.inf NetworkPkg/Udp6Dxe/Udp6Dxe.inf NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE NetworkPkg/DnsDxe/DnsDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf index 70845d6972fd..f36c7e741c8e 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf @@ -315,18 +315,14 @@ [FV.DXEFV] INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf +
[edk2] [PATCH v2 2/3] ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF.
V2: Add missing library instance for NetworkPkg iSCSI driver. This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively maintained and will be removed from edk2 master soon. Cc: Laszlo Ersek Cc: Ard Biesheuvel Cc: Julien Grall Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Fu Siyuan --- ArmVirtPkg/ArmVirtQemu.dsc | 13 ++--- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 10 +++--- ArmVirtPkg/ArmVirtQemuKernel.dsc | 13 ++--- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc index 885c6b14b844..0f403973bea0 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -70,6 +70,9 @@ [LibraryClasses.common.PEIM] [LibraryClasses.common.UEFI_DRIVER] UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf + BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf + OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf + IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf # @@ -346,18 +349,14 @@ [Components.common] MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + NetworkPkg/TcpDxe/TcpDxe.inf + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE NetworkPkg/Ip6Dxe/Ip6Dxe.inf - NetworkPkg/TcpDxe/TcpDxe.inf NetworkPkg/Udp6Dxe/Udp6Dxe.inf NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE NetworkPkg/DnsDxe/DnsDxe.inf diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc index a6390bd4b841..3316f982695f 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -126,18 +126,14 @@ [FV.FvMain] INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF NetworkPkg/IScsiDxe/IScsiDxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf - INF NetworkPkg/TcpDxe/TcpDxe.inf INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE INF NetworkPkg/DnsDxe/DnsDxe.inf diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc index 434d6861a56f..4920a66f2fdb 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc @@ -67,6 +67,9 @@ [LibraryClasses.common] [LibraryClasses.common.UEFI_DRIVER] UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf + BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf + OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf + IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE] # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE @@ -335,18 +338,14 @@ [Components.common] MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + NetworkPkg/TcpDxe/TcpDxe.inf + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + NetworkPkg/IScsiDxe/IScsiDxe.inf !if $(NETWORK_IP6_ENABLE) == TRUE NetworkPkg/Ip6Dxe/Ip6Dxe.inf - NetworkPkg/TcpDxe/TcpDxe.inf NetworkPkg/Udp6Dxe/Udp6Dxe.inf NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - NetworkPkg/IScsiDxe/IScsiDxe.inf -!else - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf - MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf !endif !if $(HTTP_BOOT_ENABLE) == TRUE NetworkPkg/DnsDxe/DnsDxe.inf -- 2.19.1.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM
On 5 November 2018 at 11:39, Prem Kumar wrote: > Hi Ard Biesheuvel, > Thanks for your reply. > > I've windows environment and LLVM tools chain installed. I'd like to build > EDK2 project for ARM and AARCH64. > > Just a simple try I've tried CLANG38 tool chain to build MdeModulePkg.dsc > like below, > > build -t CLANG38 -a AARCH64 -p MdeModulePkg\MdeModulePkg.dsc > > Below is the error for above command used, > C:\UEFIWorkspace\edk2-master_2018_Latest>build -t CLANG38 -a AARCH64 -p > MdeModulePkg\MdeModulePkg.dsc > Build environment: Windows-10-10.0.16299 > Build start time: 16:08:38, Nov.05 2018 > > WORKSPACE= c:\uefiworkspace\edk2-master_2018_latest > ECP_SOURCE = > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > EDK_SOURCE = > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > EFI_SOURCE = > c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg > EDK_TOOLS_PATH = c:\uefiworkspace\edk2-master_2018_latest\basetools > EDK_TOOLS_BIN= > c:\uefiworkspace\edk2-master_2018_latest\basetools\bin\win32 > CONF_PATH= c:\uefiworkspace\edk2-master_2018_latest\conf > > > Architecture(s) = AARCH64 > Build target = DEBUG > Toolchain= CLANG38 > > Active Platform = > c:\uefiworkspace\edk2-master_2018_latest\MdeModulePkg\MdeModulePkg.dsc > > Processing meta-data .. done! > Building ... > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib.inf > [AARCH64] > Building ... > c:\uefiworkspace\edk2-master_2018_latest\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib.inf > [AARCH64] > Building ... > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiLib\UefiLib.inf > [AARCH64] > 'make' is not recognized as an internal or external command, > 'make' is not recognized as an internal or external command, It seems you will need GNU make for Windows > Building ... > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiApplicationEntryPoint\UefiApplicationEntryPoint.inf > [AARCH64] > operable program or batch file. > operable program or batch file. > > > build.py... > : error 7000: Failed to execute command > make tbuild > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib] > 'make' is not recognized as an internal or external command, > > > build.py... > : error 7000: Failed to execute command > make tbuild > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib] > > > build.py... > : error 7000: Failed to execute command > make tbuild > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiLib\UefiLib] > > > build.py... > : error 7000: Failed to execute command > make tbuild > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiApplicationEntryPoint\UefiApplicationEntryPoint] > > > build.py... > : error 7000: Failed to execute command > make tbuild > [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiDevicePathLib\UefiDevicePathLib] > > > build.py... > : error F002: Failed to build module > > c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib.inf > [AARCH64, CLANG38, DEBUG] > > - Failed - > Build end time: 16:08:52, Nov.05 2018 > > -- > Thanks, > Prem. > > On Mon, Nov 5, 2018 at 3:52 PM Ard Biesheuvel > wrote: >> >> On 5 November 2018 at 09:51, Prem Kumar wrote: >> > Hi All, >> > >> > I'm trying to build EDK2 for AARCH64 using LLVM tool chain under >> > Windows >> > environment. >> > >> > >> > >> > Kindly provide any pointers >> > >> > - To configure tools chain, >> > >> > - Modify Conf folder for LLVM >> > >> > - Configure for building ARM and AARCH64 >> > >> > >> > Any pointers are welcome to proceed further. >> > >> >> I'm sorry - I don't have access to a Windows machine, but I am not >> aware of any reasons why clang for windows wouldn't work with the >> CLANG38 toolchain profile to build AARCH64 targets. >> >> However, GCC5 is by far the best supported one, so if you're after the >> ability to build AARCH64 targets using whichever toolchain, that is >> what I would recommend instead. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM
Hi Ard Biesheuvel, Thanks for your reply. I've windows environment and LLVM tools chain installed. I'd like to build EDK2 project for ARM and AARCH64. Just a simple try I've tried CLANG38 tool chain to build MdeModulePkg.dsc like below, *build -t CLANG38 -a AARCH64 -p MdeModulePkg\MdeModulePkg.dsc* Below is the error for above command used, C:\UEFIWorkspace\edk2-master_2018_Latest>build -t CLANG38 -a AARCH64 -p MdeModulePkg\MdeModulePkg.dsc Build environment: Windows-10-10.0.16299 Build start time: 16:08:38, Nov.05 2018 WORKSPACE= c:\uefiworkspace\edk2-master_2018_latest ECP_SOURCE = c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg EDK_SOURCE = c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg EFI_SOURCE = c:\uefiworkspace\edk2-master_2018_latest\edkcompatibilitypkg EDK_TOOLS_PATH = c:\uefiworkspace\edk2-master_2018_latest\basetools EDK_TOOLS_BIN= c:\uefiworkspace\edk2-master_2018_latest\basetools\bin\win32 CONF_PATH= c:\uefiworkspace\edk2-master_2018_latest\conf Architecture(s) = AARCH64 Build target = DEBUG Toolchain= CLANG38 Active Platform = c:\uefiworkspace\edk2-master_2018_latest\MdeModulePkg\MdeModulePkg.dsc Processing meta-data .. done! Building ... c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib.inf [AARCH64] Building ... c:\uefiworkspace\edk2-master_2018_latest\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib.inf [AARCH64] Building ... c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiLib\UefiLib.inf [AARCH64] 'make' is not recognized as an internal or external command, 'make' is not recognized as an internal or external command, Building ... c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\UefiApplicationEntryPoint\UefiApplicationEntryPoint.inf [AARCH64] operable program or batch file. operable program or batch file. build.py... : error 7000: Failed to execute command make tbuild [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib] 'make' is not recognized as an internal or external command, build.py... : error 7000: Failed to execute command make tbuild [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib] build.py... : error 7000: Failed to execute command make tbuild [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiLib\UefiLib] build.py... : error 7000: Failed to execute command make tbuild [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiApplicationEntryPoint\UefiApplicationEntryPoint] build.py... : error 7000: Failed to execute command make tbuild [c:\uefiworkspace\edk2-master_2018_latest\Build\MdeModule\DEBUG_CLANG38\AARCH64\MdePkg\Library\UefiDevicePathLib\UefiDevicePathLib] build.py... : error F002: Failed to build module c:\uefiworkspace\edk2-master_2018_latest\MdePkg\Library\BaseStackCheckLib\BaseStackCheckLib.inf [AARCH64, CLANG38, DEBUG] - Failed - Build end time: 16:08:52, Nov.05 2018 -- Thanks, Prem. On Mon, Nov 5, 2018 at 3:52 PM Ard Biesheuvel wrote: > On 5 November 2018 at 09:51, Prem Kumar wrote: > > Hi All, > > > > I'm trying to build EDK2 for AARCH64 using LLVM tool chain under Windows > > environment. > > > > > > > > Kindly provide any pointers > > > > - To configure tools chain, > > > > - Modify Conf folder for LLVM > > > > - Configure for building ARM and AARCH64 > > > > > > Any pointers are welcome to proceed further. > > > > I'm sorry - I don't have access to a Windows machine, but I am not > aware of any reasons why clang for windows wouldn't work with the > CLANG38 toolchain profile to build AARCH64 targets. > > However, GCC5 is by far the best supported one, so if you're after the > ability to build AARCH64 targets using whichever toolchain, that is > what I would recommend instead. > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM
On 5 November 2018 at 09:51, Prem Kumar wrote: > Hi All, > > I'm trying to build EDK2 for AARCH64 using LLVM tool chain under Windows > environment. > > > > Kindly provide any pointers > > - To configure tools chain, > > - Modify Conf folder for LLVM > > - Configure for building ARM and AARCH64 > > > Any pointers are welcome to proceed further. > I'm sorry - I don't have access to a Windows machine, but I am not aware of any reasons why clang for windows wouldn't work with the CLANG38 toolchain profile to build AARCH64 targets. However, GCC5 is by far the best supported one, so if you're after the ability to build AARCH64 targets using whichever toolchain, that is what I would recommend instead. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH edk2-platforms 01/27] Platform/Microsoft: Add OpteeClientPkg dec
Hi Chris, On Sat, 3 Nov 2018 at 05:25, Chris Co wrote: > > Hi Sumit, > > > -Original Message- > > From: Sumit Garg > > Sent: Thursday, November 1, 2018 10:24 PM > > To: Chris Co > > Cc: Leif Lindholm ; edk2-devel@lists.01.org; Ard > > Biesheuvel ; Michael D Kinney > > ; tee-...@lists.linaro.org > > Subject: Re: [PATCH edk2-platforms 01/27] Platform/Microsoft: Add > > OpteeClientPkg dec > > > > + OP-TEE ML. > > > > On Fri, 2 Nov 2018 at 06:11, Chris Co wrote: > > > > > > Hi Sumit, > > > > > > Our full OpteeClientPkg has: > > > - Our OpteeClientAPI implementation. I was monitoring the merge progress > > on OpteeLib and will look into moving over now that it is available. > > > - The fTPM and AuthVar TA binaries. In our current design, the TA binaries > > are loaded at runtime. We could host the binaries themselves elsewhere on > > the filesystem, but we do not want these binaries as early/pseudo TAs. Is > > there a plan for OpteeLib to support loading full TAs? > > > > Early TAs [1] are basically full TAs only, running in Secure EL0 mode. > > So instead of loading TA from normal world file-system, they are linked > > into a > > special data section in the OP-TEE core blob. > > > > Also I don't think loading TAs dynamically especially during boot makes much > > sense due to following reasons: > > 1. Increased boot time. > > 2. Fixed TAs like in your case which could be linked as early TAs as well. > > > > We prefer to load TAs dynamically for a more flexible servicing story. My > understanding is that Early TAs are coupled with the OP-TEE binary itself, so > to update an Early TA, a new OP-TEE binary would need to be created and > pushed. We want to avoid rolling a new OP-TEE and only update the TA binary > in this scenario. > Are you referring to run-time updates on the device in the field? If this is the case then how do you think to update TAs, is it via some custom capsule update method? I do consider these TAs used during boot as essential secure services provided by the secure firmware (OP-TEE in this case). So these TAs should be part of firmware itself and updates for them should come through firmware capsule updates only. > > And you mentioned filesystem, are you referring to root filesystem? > > > > We have not implemented this yet, but we were thinking to have the TA > binaries present in the EFI partition. > AFAIK, EFI partition is shared among Linux and UEFI. This provides Linux access to secure firmware TAs that could be a security concern (denial of service could be one of them). > > > - We have two client drivers: a firmware TPM TA driver and an > > authenticated variable TA driver. These talk through the tee-supplicant to > > their respective TAs. > > > > > > > Here from tee-supplicant apart from loading TAs, what other services are you > > expecting? If you are looking for secure storage via RPMB, that could be an > > enhancement to OpteeLib adding corresponding RPC handling here [2]. > > > > For RPC handling, we are looking for the following callback support: > - OPTEE_SMC_RPC_FUNC_ALLOC > - OPTEE_SMC_RPC_FUNC_FREE > - OPTEE_SMC_RPC_FUNC_CMD > - OPTEE_MSG_RPC_CMD_LOAD_TA Please see above comments for this. > - OPTEE_MSG_RPC_CMD_RPMB > - OPTEE_MSG_RPC_CMD_GET_TIME Can you share the usage of OPTEE_MSG_RPC_CMD_GET_TIME? AFAIK, this is used to get REE time from OP-TEE. > - OPTEE_MSG_RPC_CMD_SHM_ALLOC > - OPTEE_MSG_RPC_CMD_SHM_FREE > - OPTEE_MSG_RPC_CMD_WAIT_QUEUE I don't think we need OPTEE_MSG_RPC_CMD_WAIT_QUEUE implementation in UEFI as its a single threaded execution flow on boot core. BTW, I am not sure if I could get time to work on RPC handling anytime soon. So patches are welcome and I am happy to review them. Regards, Sumit > > Thanks, > Chris > > > [1] > > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c > > om%2FOP- > > TEE%2Foptee_os%2Fblob%2Fmaster%2Fdocumentation%2Foptee_design.md > > %23early-trusted- > > applicationsdata=02%7C01%7CChristopher.Co%40microsoft.com%7C4a > > 7d8c01e4804365f4eb08d640837a15%7C72f988bf86f141af91ab2d7cd011db47% > > 7C1%7C0%7C636767330779998429sdata=yaDWw5Z6yuux1o89kxzbknVp > > b%2B1OHUagbB%2FOGS4dAcU%3Dreserved=0 > > [2] > > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c > > om%2Ftianocore%2Fedk2%2Fblob%2Fmaster%2FArmPkg%2FLibrary%2FOpteeL > > ib%2FOptee.c%23L147data=02%7C01%7CChristopher.Co%40microsoft.c > > om%7C4a7d8c01e4804365f4eb08d640837a15%7C72f988bf86f141af91ab2d7cd > > 011db47%7C1%7C0%7C636767330779998429sdata=Lsplb1L7Ugd2C6cXG > > 8gBo40Ei8UQPtIA7fNEDL1t%2Fbg%3Dreserved=0 > > > > Regards, > > Sumit > > > > > Chris > > > > > > > -Original Message- > > > > From: Sumit Garg > > > > Sent: Thursday, November 1, 2018 3:55 AM > > > > To: Chris Co ; Leif Lindholm > > > > > > > > Cc: edk2-devel@lists.01.org; Ard Biesheuvel > > > > ; Michael D Kinney > > > > > > > > Subject: Re: [PATCH edk2-platforms 01/27]
[edk2] [PATCH v2 edk2-platforms 5/5] Platform/ARM/Sgi: Add platform support for SGI-Clark.Helios
Platform support for SGI-Clark.Helios platform has been added. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chandni Cherukuri --- Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c | 3 +++ Platform/ARM/SgiPkg/Include/SgiPlatform.h | 1 + 2 files changed, 4 insertions(+) diff --git a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c index 1c56f65..cf085f8 100644 --- a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c +++ b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c @@ -51,6 +51,9 @@ ArmSgiPkgEntryPoint ( } else if ((PartNum == SGI_CLARK_PART_NUM) && (ConfigId == SGI_CLARKA_CONF_NUM)) { Status = LocateAndInstallAcpiFromFv (); + } else if ((PartNum == SGI_CLARK_PART_NUM) && + (ConfigId == SGI_CLARKH_CONF_NUM)) { +Status = LocateAndInstallAcpiFromFv (); } else { Status = EFI_UNSUPPORTED; } diff --git a/Platform/ARM/SgiPkg/Include/SgiPlatform.h b/Platform/ARM/SgiPkg/Include/SgiPlatform.h index b84709e..7b0bb4a 100644 --- a/Platform/ARM/SgiPkg/Include/SgiPlatform.h +++ b/Platform/ARM/SgiPkg/Include/SgiPlatform.h @@ -75,6 +75,7 @@ //SGI-Clark Platform Identification values #define SGI_CLARK_PART_NUM0x786 #define SGI_CLARKA_CONF_NUM 0x1 +#define SGI_CLARKH_CONF_NUM 0x2 #define SGI_CONFIG_MASK 0x0F #define SGI_CONFIG_SHIFT 0x1C -- 2.7.4 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v2 edk2-platforms 4/5] Platform/ARM/Sgi: Add ACPI tables for SGI-Clark.Helios platform
Added ACPI tables and GUID name 'gSgiClarkHeliosAcpiTablesFileGuid' for SGI-Clark.Helios platform. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chandni Cherukuri --- .../ARM/SgiPkg/AcpiTables/SgiClarkH/AcpiTables.inf | 58 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dbg2.aslc | 90 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dsdt.asl | 262 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Fadt.aslc | 87 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Gtdt.aslc | 152 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Iort.aslc | 106 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Madt.aslc | 266 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Mcfg.aslc | 61 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Spcr.aslc | 77 ++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Ssdt.asl | 95 .../ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf | 1 + Platform/ARM/SgiPkg/SgiPlatform.dec| 1 + Platform/ARM/SgiPkg/SgiPlatform.dsc| 1 + Platform/ARM/SgiPkg/SgiPlatform.fdf| 1 + 14 files changed, 1258 insertions(+) create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/AcpiTables.inf create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dbg2.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dsdt.asl create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Fadt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Gtdt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Iort.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Madt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Mcfg.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Spcr.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Ssdt.asl diff --git a/Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/AcpiTables.inf new file mode 100644 index 000..63ebf55 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/AcpiTables.inf @@ -0,0 +1,58 @@ +## @file +# ACPI table data and ASL sources required to boot the platform. +# +# Copyright (c) 2018, ARM Ltd. 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 +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +[Defines] + INF_VERSION= 0x0001001A + BASE_NAME = SgiClarkHeliosAcpiTables + FILE_GUID = 2af40815-a84e-4de9-8c38-9140b3544073 + MODULE_TYPE= USER_DEFINED + VERSION_STRING = 1.0 + +[Sources] + Dbg2.aslc + Dsdt.asl + Fadt.aslc + Gtdt.aslc + Iort.aslc + Madt.aslc + Mcfg.aslc + Spcr.aslc + Ssdt.asl + +[Packages] + ArmPkg/ArmPkg.dec + ArmPlatformPkg/ArmPlatformPkg.dec + EmbeddedPkg/EmbeddedPkg.dec + MdePkg/MdePkg.dec + Platform/ARM/SgiPkg/SgiPlatform.dec + +[FixedPcd] + gArmPlatformTokenSpaceGuid.PcdCoreCount + gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase + gArmPlatformTokenSpaceGuid.PL011UartInterrupt + + gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum + gArmTokenSpaceGuid.PcdArmArchTimerIntrNum + gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum + gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum + gArmTokenSpaceGuid.PcdGicDistributorBase + gArmTokenSpaceGuid.PcdGicRedistributorsBase + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase + gArmTokenSpaceGuid.PcdPciBusMin + gArmTokenSpaceGuid.PcdPciBusMax + + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dbg2.aslc b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dbg2.aslc new file mode 100644 index 000..3970461 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dbg2.aslc @@ -0,0 +1,90 @@ +/** @file +* Debug Port Table 2 (DBG2) +* +* Copyright (c) 2018, ARM Limited. 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 +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include "SgiAcpiHeader.h" +#include +#include +#include + +#define SGI_DBG2_NUM_DEBUG_PORTS 1 +#define SGI_DBG2_NUM_GAS 1 +#define SGI_DBG2_NS_STR_LENGTH
[edk2] [PATCH v2 edk2-platforms 3/5] Platform/ARM/Sgi: Add support for SGI-Clark.Ares platform
Platform support for SGI-Clark.Ares platform has been added Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chandni Cherukuri --- Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c | 16 +--- Platform/ARM/SgiPkg/Include/SgiPlatform.h | 4 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c index 5ccd01d..1c56f65 100644 --- a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c +++ b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c @@ -48,14 +48,16 @@ ArmSgiPkgEntryPoint ( if ((PartNum == SGI575_PART_NUM) && (ConfigId == SGI575_CONF_NUM)) { Status = LocateAndInstallAcpiFromFv (); -if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a: Failed to install ACPI tables\n", -__FUNCTION__)); - return Status; -} + } else if ((PartNum == SGI_CLARK_PART_NUM) && + (ConfigId == SGI_CLARKA_CONF_NUM)) { +Status = LocateAndInstallAcpiFromFv (); } else { -DEBUG ((DEBUG_ERROR, "PlatformDxe: Unsupported Platform Id\n")); -return EFI_UNSUPPORTED; +Status = EFI_UNSUPPORTED; + } + + if (EFI_ERROR (Status)) { +DEBUG ((DEBUG_ERROR, "%a: Failed to install ACPI tables\n", __FUNCTION__)); +return Status; } Status = EFI_REQUEST_UNLOAD_IMAGE; diff --git a/Platform/ARM/SgiPkg/Include/SgiPlatform.h b/Platform/ARM/SgiPkg/Include/SgiPlatform.h index 1454018..b84709e 100644 --- a/Platform/ARM/SgiPkg/Include/SgiPlatform.h +++ b/Platform/ARM/SgiPkg/Include/SgiPlatform.h @@ -72,6 +72,10 @@ #define SGI575_CONF_NUM 0x3 #define SGI575_PART_NUM 0x783 +//SGI-Clark Platform Identification values +#define SGI_CLARK_PART_NUM0x786 +#define SGI_CLARKA_CONF_NUM 0x1 + #define SGI_CONFIG_MASK 0x0F #define SGI_CONFIG_SHIFT 0x1C #define SGI_PART_NUM_MASK 0xFFF -- 2.7.4 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v2 edk2-platforms 2/5] Platform/ARM/Sgi: Add ACPI tables for SGI-Clark.Ares platform
Added ACPI tables and GUID name 'gSgiClarkAresAcpiTablesFileGuid' for SGI-Clark.Ares platform. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chandni Cherukuri --- .../ARM/SgiPkg/AcpiTables/SgiClarkA/AcpiTables.inf | 58 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dbg2.aslc | 90 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dsdt.asl | 116 ++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Fadt.aslc | 87 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Gtdt.aslc | 152 ++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Iort.aslc | 106 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Madt.aslc | 171 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Mcfg.aslc | 61 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Spcr.aslc | 77 ++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Ssdt.asl | 95 .../ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf | 1 + Platform/ARM/SgiPkg/SgiPlatform.dec| 1 + Platform/ARM/SgiPkg/SgiPlatform.dsc| 1 + Platform/ARM/SgiPkg/SgiPlatform.fdf| 1 + 14 files changed, 1017 insertions(+) create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/AcpiTables.inf create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dbg2.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dsdt.asl create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Fadt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Gtdt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Iort.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Madt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Mcfg.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Spcr.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Ssdt.asl diff --git a/Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/AcpiTables.inf new file mode 100644 index 000..3787ab4 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/AcpiTables.inf @@ -0,0 +1,58 @@ +## @file +# ACPI table data and ASL sources required to boot the platform. +# +# Copyright (c) 2018, ARM Ltd. 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 +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +[Defines] + INF_VERSION= 0x0001001A + BASE_NAME = SgiClarkAresAcpiTables + FILE_GUID = 4b0b91d0-4a05-45c4-88a7-88e170e76694 + MODULE_TYPE= USER_DEFINED + VERSION_STRING = 1.0 + +[Sources] + Dbg2.aslc + Dsdt.asl + Fadt.aslc + Gtdt.aslc + Iort.aslc + Madt.aslc + Mcfg.aslc + Spcr.aslc + Ssdt.asl + +[Packages] + ArmPkg/ArmPkg.dec + ArmPlatformPkg/ArmPlatformPkg.dec + EmbeddedPkg/EmbeddedPkg.dec + MdePkg/MdePkg.dec + Platform/ARM/SgiPkg/SgiPlatform.dec + +[FixedPcd] + gArmPlatformTokenSpaceGuid.PcdCoreCount + gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase + gArmPlatformTokenSpaceGuid.PL011UartInterrupt + + gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum + gArmTokenSpaceGuid.PcdArmArchTimerIntrNum + gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum + gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum + gArmTokenSpaceGuid.PcdGicDistributorBase + gArmTokenSpaceGuid.PcdGicRedistributorsBase + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase + gArmTokenSpaceGuid.PcdPciBusMin + gArmTokenSpaceGuid.PcdPciBusMax + + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dbg2.aslc b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dbg2.aslc new file mode 100644 index 000..3970461 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dbg2.aslc @@ -0,0 +1,90 @@ +/** @file +* Debug Port Table 2 (DBG2) +* +* Copyright (c) 2018, ARM Limited. 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 +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include "SgiAcpiHeader.h" +#include +#include +#include + +#define SGI_DBG2_NUM_DEBUG_PORTS 1 +#define SGI_DBG2_NUM_GAS 1 +#define
[edk2] [PATCH v2 edk2-platforms 1/5] Platform/ARM/Sgi: Adapt to changes in system-id DT node.
The 'system-id' node of HW_CONFIG device tree has been updated to have a new property 'config-id' to hold the platform configuration value. Prior to this, configuration ID value was represented by the the upper four bits of the 'platform ID' property value but it now has a seperate property of its own in the 'system-id' node. So adapt to these changes in the 'system-id' node. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chandni Cherukuri --- .../SgiPkg/Library/SgiPlatformPei/SgiPlatformPeim.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPeim.c b/Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPeim.c index 081d329..8b6c71b 100644 --- a/Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPeim.c +++ b/Platform/ARM/SgiPkg/Library/SgiPlatformPei/SgiPlatformPeim.c @@ -42,6 +42,8 @@ GetSgiPlatformId ( CONST VOID*HwCfgDtBlob; SGI_HW_CONFIG_INFO_PPI*HwConfigInfoPpi; EFI_STATUSStatus; + UINT32PlatformId; + UINT32ConfigId; Status = PeiServicesLocatePpi (, 0, NULL, (VOID**)); @@ -69,7 +71,22 @@ GetSgiPlatformId ( return 0; } - return fdt32_to_cpu (*Property); + PlatformId = fdt32_to_cpu (*Property); + + Property = fdt_getprop (HwCfgDtBlob, Offset, "config-id", NULL); + if (Property == NULL) { +DEBUG ((DEBUG_ERROR, "Config Id is NULL\n")); +return 0; + } + + ConfigId = fdt32_to_cpu (*Property); + + // Concatenate the value of config ID into the platform ID value with + // config ID occupying the upper 4 bits of platform ID. + ConfigId = ConfigId & SGI_CONFIG_MASK; + PlatformId = PlatformId | (ConfigId << SGI_CONFIG_SHIFT); + + return PlatformId; } /** -- 2.7.4 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH v2 edk2-platforms 0/5] Platform/ARM/Sgi: Add support for Clark.Ares and
In-Reply-To: Changes since v1: - No code changes, posting this series again with correct patch subject This patch series adds support for two new Arm's SGI platforms - SGI-Clark.Ares and SGI-Clark.Helios. The first patch in this series adds support to use a new binding added to the system-id node for Platform Identification. The rest of the patches add support for the two new SGI platforms. Chandni Cherukuri (5): Platform/ARM/Sgi: Adapt to changes in system-id DT node. Platform/ARM/Sgi: Add ACPI tables for SGI-Clark.Ares platform Platform/ARM/Sgi: Add support for SGI-Clark.Ares platform Platform/ARM/Sgi: Add ACPI tables for SGI-Clark.Helios platform Platform/ARM/Sgi: Add platform support for SGI-Clark.Helios .../ARM/SgiPkg/AcpiTables/SgiClarkA/AcpiTables.inf | 58 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dbg2.aslc | 90 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dsdt.asl | 116 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Fadt.aslc | 87 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Gtdt.aslc | 152 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Iort.aslc | 106 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Madt.aslc | 171 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Mcfg.aslc | 61 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Spcr.aslc | 77 ++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Ssdt.asl | 95 .../ARM/SgiPkg/AcpiTables/SgiClarkH/AcpiTables.inf | 58 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dbg2.aslc | 90 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dsdt.asl | 262 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Fadt.aslc | 87 +++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Gtdt.aslc | 152 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Iort.aslc | 106 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Madt.aslc | 266 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Mcfg.aslc | 61 + Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Spcr.aslc | 77 ++ Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Ssdt.asl | 95 .../ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c | 19 +- .../ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf | 2 + Platform/ARM/SgiPkg/Include/SgiPlatform.h | 5 + .../Library/SgiPlatformPei/SgiPlatformPeim.c | 19 +- Platform/ARM/SgiPkg/SgiPlatform.dec| 2 + Platform/ARM/SgiPkg/SgiPlatform.dsc| 2 + Platform/ARM/SgiPkg/SgiPlatform.fdf| 2 + 27 files changed, 2310 insertions(+), 8 deletions(-) create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/AcpiTables.inf create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dbg2.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Dsdt.asl create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Fadt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Gtdt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Iort.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Madt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Mcfg.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Spcr.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkA/Ssdt.asl create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/AcpiTables.inf create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dbg2.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Dsdt.asl create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Fadt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Gtdt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Iort.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Madt.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Mcfg.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Spcr.aslc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SgiClarkH/Ssdt.asl ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-buildtools] Configuration changes for building EDK2 for AARCH64 using LLVM
Hi All, I'm trying to build EDK2 for AARCH64 using LLVM tool chain under Windows environment. Kindly provide any pointers - To configure tools chain, - Modify Conf folder for LLVM - Configure for building ARM and AARCH64 Any pointers are welcome to proceed further. -- Regards, Prem. On Sun, Nov 4, 2018 at 11:02 AM Prem Kumar wrote: > Hi Liming, > Thanks for your details, > > I'm trying to use LLVM for ARM and AARCH64 in windows environment. > > -- > Thanks, > Prem. > > On Sun, Nov 4, 2018 at 8:27 AM Gao, Liming wrote: > >> Include Ard. Do you verify LLVM (CLANG38 tool chain) for ARM and AARCH64 >> in Linux or Windows? >> >> >> >> I verified LLVM in Linux Ubuntu OS for IA32 and X64 arch. I don’t try >> LLVM in Windows. >> >> >> >> Thanks >> >> LIming >> >> *From:* Prem Kumar [mailto:perry.p...@gmail.com] >> *Sent:* Sunday, November 4, 2018 4:02 AM >> *To:* edk2-buildtools-de...@lists.sourceforge.net >> *Subject:* Re: [edk2-buildtools] Configuration changes for building EDK2 >> for AARCH64 using LLVM >> >> >> >> Any pointers or comments to proceed further. >> >> >> >> On Sun, Nov 4, 2018 at 1:19 AM Prem Kumar wrote: >> >> Hi All, >> >> I'm trying to build EDK2 for AARCH64 using LLVM under Windows >> environment. >> >> >> >> Kindly provide any pointers >> >> - To configure tools chain, >> >> - Modify Conf folder for LLVM >> >> - Configure for building ARM and AARCH64 >> >> >> >> -- >> >> Regards, >> >> Prem. >> >> ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel