Re: [edk2] [PATCH v1] MdeModulePkg/Mtftp4Dxe: Fix invalid configuration of MTFTP local port.

2018-11-05 Thread Fu, Siyuan
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.

2018-11-05 Thread Fu, Siyuan
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

2018-11-05 Thread Ruiyu Ni
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

2018-11-05 Thread Chris Co via edk2-devel
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.

2018-11-05 Thread Fu Siyuan
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.

2018-11-05 Thread Fu Siyuan
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.

2018-11-05 Thread Fu, Siyuan
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.

2018-11-05 Thread Fu, Siyuan
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

2018-11-05 Thread Laszlo Ersek
(+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.

2018-11-05 Thread Laszlo Ersek
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.

2018-11-05 Thread Laszlo Ersek
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

2018-11-05 Thread Laszlo Ersek
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.

2018-11-05 Thread Laszlo Ersek
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"

2018-11-05 Thread Laszlo Ersek
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

2018-11-05 Thread Carsey, Jaben
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

2018-11-05 Thread Laszlo Ersek
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.

2018-11-05 Thread Laszlo Ersek
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.

2018-11-05 Thread Laszlo Ersek
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

2018-11-05 Thread Laszlo Ersek
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.

2018-11-05 Thread Carsey, Jaben
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

2018-11-05 Thread Gao, Liming
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

2018-11-05 Thread Yao, Jiewen
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

2018-11-05 Thread Zhang, Chao B
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.

2018-11-05 Thread Marvin Häuser
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.

2018-11-05 Thread Marvin Häuser
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

2018-11-05 Thread Ard Biesheuvel
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)

2018-11-05 Thread Ard Biesheuvel
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.

2018-11-05 Thread Wei, David
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.

2018-11-05 Thread Fu Siyuan
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.

2018-11-05 Thread Fu Siyuan
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.

2018-11-05 Thread Fu Siyuan
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.

2018-11-05 Thread Fu Siyuan
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

2018-11-05 Thread Ard Biesheuvel
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

2018-11-05 Thread Prem Kumar
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

2018-11-05 Thread Ard Biesheuvel
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

2018-11-05 Thread Sumit Garg
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

2018-11-05 Thread Chandni Cherukuri
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

2018-11-05 Thread Chandni Cherukuri
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

2018-11-05 Thread Chandni Cherukuri
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

2018-11-05 Thread Chandni Cherukuri
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.

2018-11-05 Thread Chandni Cherukuri
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

2018-11-05 Thread Chandni Cherukuri
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

2018-11-05 Thread Prem Kumar
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