[edk2] [Patch] BaseTool: Fixed an issue of Structure PCD

2019-03-26 Thread Feng, Bob C
https://bugzilla.tianocore.org/show_bug.cgi?id=1665

Build fail when the structure pcd has
member of flexible size array

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng 
Cc: Liming Gao 
---
 BaseTools/Source/Python/Workspace/DscBuildData.py | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py 
b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 58286159db..129c0c950b 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -1777,21 +1777,21 @@ class DscBuildData(PlatformBuildClassObject):
 Value = 
ValueExpressionEx(FieldList[FieldName.strip(".")][0], TAB_VOID, 
self._GuidDict)(True)
 except BadExpression:
 EdkLogger.error('Build', FORMAT_INVALID, "Invalid 
value format for %s. From %s Line %d " %
 (".".join((Pcd.TokenSpaceGuidCName, 
Pcd.TokenCName, FieldName.strip('.'))), FieldList[FieldName.strip(".")][1], 
FieldList[FieldName.strip(".")][2]))
 Value, ValueSize = ParseFieldValue(Value)
-if not Pcd.IsArray:
+if not Pcd.IsArray():
 CApp = CApp + '  __FLEXIBLE_SIZE(*Size, %s, %s, %d / 
__ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %% __ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0)); 
 // From %s Line %d Value %s \n' % (Pcd.DatumType, FieldName.strip("."), 
ValueSize, Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType, 
FieldName.strip("."), FieldList[FieldName.strip(".")][1], 
FieldList[FieldName.strip(".")][2], FieldList[FieldName.strip(".")][0]);
 else:
 NewFieldName = ''
 FieldName_ori = FieldName.strip('.')
 while '[' in  FieldName:
 NewFieldName = NewFieldName + FieldName.split('[', 
1)[0] + '[0]'
 ArrayIndex = int(FieldName.split('[', 1)[1].split(']', 
1)[0])
 FieldName = FieldName.split(']', 1)[1]
 FieldName = NewFieldName + FieldName
-while '[' in FieldName and not Pcd.IsArray:
+while '[' in FieldName and not Pcd.IsArray():
 FieldName = FieldName.rsplit('[', 1)[0]
 CApp = CApp + '  __FLEXIBLE_SIZE(*Size, %s, %s, %d); 
// From %s Line %d Value %s\n' % (Pcd.DatumType, FieldName.strip("."), 
ArrayIndex + 1, FieldList[FieldName_ori][1], FieldList[FieldName_ori][2], 
FieldList[FieldName_ori][0])
 for skuname in Pcd.SkuOverrideValues:
 if skuname == TAB_COMMON:
 continue
@@ -1809,21 +1809,21 @@ class DscBuildData(PlatformBuildClassObject):
 Value = 
ValueExpressionEx(FieldList[FieldName.strip(".")][0], TAB_VOID, 
self._GuidDict)(True)
 except BadExpression:
 EdkLogger.error('Build', FORMAT_INVALID, 
"Invalid value format for %s. From %s Line %d " %
 
(".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName.strip('.'))), 
FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2]))
 Value, ValueSize = ParseFieldValue(Value)
-if not Pcd.IsArray:
+if not Pcd.IsArray():
 CApp = CApp + '  __FLEXIBLE_SIZE(*Size, 
%s, %s, %d / __ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %% __ARRAY_ELEMENT_SIZE(%s, 
%s)) ? 1 : 0)); // From %s Line %d Value %s\n' % (Pcd.DatumType, 
FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."), 
ValueSize, Pcd.DatumType, FieldName.strip("."), 
FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2], 
FieldList[FieldName.strip(".")][0]);
 else:
 NewFieldName = ''
 FieldName_ori = FieldName.strip('.')
 while '[' in  FieldName:
 NewFieldName = NewFieldName + 
FieldName.split('[', 1)[0] + '[0]'
 ArrayIndex = int(FieldName.split('[', 
1)[1].split(']', 1)[0])
 FieldName = FieldName.split(']', 1)[1]
 FieldName = NewFieldName + FieldName
-while '[' in FieldName and not Pcd.IsArray:
+while '[' in FieldName and not Pcd.IsArray():
 FieldName = FieldName.rsplit('[', 1)[0]
 CApp = CApp + '  __FLEXIBLE_SIZE(*Size, 
%s, %s, %d); // From %s Line %d Value %s \n' % (Pcd.DatumType, 
FieldName.strip("."), ArrayIndex + 1, FieldList[FieldName_ori][1]

Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Laszlo Ersek
On 03/26/19 03:49, Wu, Hao A wrote:
>> -Original Message-
>> From: Laszlo Ersek [mailto:ler...@redhat.com]
>> Sent: Monday, March 25, 2019 7:29 PM
>> To: Wu, Hao A; edk2-devel@lists.01.org; Julien Grall; Anthony Perard
>> Cc: Justen, Jordan L; Ard Biesheuvel; Ni, Ray
>> Subject: Re: [PATCH v2 0/3] Ovmf: Stop using ISA drivers within
>> IntelFrameworkModulePkg
>>
>> On 03/25/19 11:58, Laszlo Ersek wrote:
>>> On 03/25/19 06:28, Hao Wu wrote:
 The series is also available at:
 https://github.com/hwu25/edk2/tree/ovmf_siobus_v2

 V2 changes:
 * Introduce a static build flag 'USE_LEGACY_ISA_STACK' in OVMF DSC files
   for users to select between the ISA driver stacks.
 * V1 patch 2/2 is split into 2 patches in V2. The first one will add the
   new OVMF SioBusDxe driver and list it in the DSC files. Then second one
   will add the whole new ISA stack in DSC/FDF files.


 V1 history:

 This series will update the OVMF to stop using the ISA drivers within
 IntelFrameworkModulePkg.

 As the replacement, a new OVMF Super I/O bus driver has been add which
 will install the Super I/O protocol for ISA serial and PS2 keyboard
 devices. By doing so, these devices can be managed by:

   MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
   MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf

 respectively.


 Tests done:
 A. GCC5 & VS2015x86 tool chains build pass
 B. Launch QEMU (2.4.50, Windows) with command:
> qemu-system-x86_64.exe -pflash \OVMF.fd -serial
>> file:1.txt -serial file:2.txt

Able to see the ISA COM1/COM2 UART and PS2Keyboard devices under
>> Shell
using command 'devtree';

Both the serials and PS2 keyboard are working fine;
>>>
>>> Can you please confirm the following:
>>>
>>> (1) In the PrepareLpcBridgeDevicePath() function, in file
>>> "OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c", we add
>>> IsaKeyboard to ConIn, and IsaSerial to ConOut, ConIn, ErrOut.
>>>
>>> This function takes the "LPC Bridge device" handle from its caller,
>>> namely DetectAndPreparePlatformPciDevicePath(), and appends some
>>> constant device path nodes, from "BdsPlatform.h" / "PlatformData.c".
>>>
>>> Can you please confirm that the existing Platform BDS code described
>>> above is compatible with the new driver?
>>>
>>> In other words, do DetectAndPreparePlatformPciDevicePath() +
>>> PrepareLpcBridgeDevicePath() still add the proper device paths to
>>> ConIn/ConOut/ErrOut?
>>>
>>> (Note, they need not be identical to the previous device paths, but the
>>> *logic* must continue to work -- i.e. *some* device paths have to be
>>> added, and they should be correct.)
> 
> Hello Laszlo,
> 
> For (1), since I saw in function PrepareLpcBridgeDevicePath() there are
> already some codes to print out the device path for COM1/COM2. So I just
> add some logic to print the device path for the PS2 keyboard as well.
> 
> I ran the qemu with command:
> qemu-system-x86_64.exe -pflash \OVMF.fd -debugcon file:boot.log 
> -global isa-debugcon.iobase=0x402
> 
> For the new and origin ISA stack, their logs both show:
> Found LPC Bridge device
> BdsPlatform.c+585: PS2 Keyboard DevPath: 
> PciRoot(0x0)/Pci(0x1,0x0)/Acpi(PNP0303,0x0)
> BdsPlatform.c+615: COM1 DevPath: 
> PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x0)/Uart(115200,8,N,1)/VenMsg(E0C14753-F9BE-11D2-9A0C-0090273FC14D)
> BdsPlatform.c+647: COM2 DevPath: 
> PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x1)/Uart(115200,8,N,1)/VenMsg(E0C14753-F9BE-11D2-9A0C-0090273FC14D)
> 
> Thus, I think the Platform BDS code behavior remains the same.
> 
>>>
>>> (2) Can you please confirm if the new build survives repeated
>>>
>>>   reconnect -r
>>>
>>> commands in the UEFI shell? Both the ISA keyboard and the serial console
>>> should resume working after "reconnect -r".
> 
> For (2), I also run the qemu with:
> qemu-system-x86_64.exe -pflash \OVMF.fd -debugcon file:boot.log 
> -global isa-debugcon.iobase=0x402
> 
> After running 'reconnect -r' under Shell, the PS2 keyboard works fine.
> Then I switch the display from 'VGA' to 'serial0', and the serial works
> fine. (I just re-run the 'reconnect -r' under 'serial0', after the command
> finishes, the keyboard is responding and there is still output on 'serial0'.)
> 
>>
>> (3) Hao, can you please verify the above steps on the "q35" machine type
>> as well?
>>
>> (The QEMU command line that you mention selects the "i440fx" machine
>> type. QEMU provides an ICH9 ISA controller with the q35 board, and a
>> PIIX4 one with the i440fx board. I think we should regression-test this
>> work with both.)
> 
> For (3), I run qemu with:
> qemu-system-x86_64.exe -machine q35 -pflash \OVMF.fd -debugcon 
> file:boot.log -global isa-debugcon.iobase=0x402
> 
> Both tests (1) and (2) passed in this case.
> 
> 
> Please help to let me know if there is anything not right in the above
> tests. Thanks.

All of the above soun

Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Julien Grall

Hi Laszlo,

On 3/25/19 11:29 AM, Laszlo Ersek wrote:

On 03/25/19 11:58, Laszlo Ersek wrote:

On 03/25/19 06:28, Hao Wu wrote:

(4) Julien, Anthony: can you please fetch this series (github URL at the
top) and see if the PS/2 keyboard, and the serial port, still work on
Xen, to interact e.g. with the UEFI shell?


Just to confirm, should we test for x86 only? If so, I will leave that 
to Anthony.


Cheers,

--
Julien Grall
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v2 2/3] OvmfPkg: Add an Super IO bus driver

2019-03-26 Thread Laszlo Ersek
On 03/25/19 21:02, Kinney, Michael D wrote:
> Hi Laszlo,
> 
> The review of the content based on the edk2-stable201903
> is intended to make sure there are no mistakes on that
> content so I can adjust for the final patch series.  A
> mistake would be applying new license to files that should
> not be updated, or not applying the license to a file that
> should have been updated.  You provided valuable feedback
> on those two points for OvmfPkg in V1.
> 
> I agree it will be simpler if we can guarantee no file
> add/remove commits occur in a window leading up to 
> April 9, 2019.  So it is not a freeze on all content.
> It would be a freeze on commits that add/remove files.

Good point.

> How does a ~1 week of no commits of file add/remove
> starting April 1 sound?  I can produce a V3 on April 2
> for final review by all package maintainers.

That sounds great. I'd be happy to iterate multiple times during that
freeze, if necessary (so v3 wouldn't have to be the final version even);
what matters is that the reviews should converge.

Thus, considering actions on my end regarding the v2 posting, I'll delay
reviewing v2 (or v3 if you post v3 meanwhile) until April 2.

I'm making a note in my calendar, but please do ping me on April 2 --
I'm the one requesting this freeze, so once it starts, I should be as
responsive as possible.

> I would of course rebase the patch series on April 9 and
> also verify that no files were added/removed.

Thank you!
Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Laszlo Ersek
On 03/26/19 11:14, Laszlo Ersek wrote:
> On 03/26/19 03:49, Wu, Hao A wrote:
>>> -Original Message-
>>> From: Laszlo Ersek [mailto:ler...@redhat.com]
>>> Sent: Monday, March 25, 2019 7:29 PM
>>> To: Wu, Hao A; edk2-devel@lists.01.org; Julien Grall; Anthony Perard
>>> Cc: Justen, Jordan L; Ard Biesheuvel; Ni, Ray
>>> Subject: Re: [PATCH v2 0/3] Ovmf: Stop using ISA drivers within
>>> IntelFrameworkModulePkg
>>>
>>> On 03/25/19 11:58, Laszlo Ersek wrote:
 On 03/25/19 06:28, Hao Wu wrote:
> The series is also available at:
> https://github.com/hwu25/edk2/tree/ovmf_siobus_v2
>
> V2 changes:
> * Introduce a static build flag 'USE_LEGACY_ISA_STACK' in OVMF DSC files
>   for users to select between the ISA driver stacks.
> * V1 patch 2/2 is split into 2 patches in V2. The first one will add the
>   new OVMF SioBusDxe driver and list it in the DSC files. Then second one
>   will add the whole new ISA stack in DSC/FDF files.
>
>
> V1 history:
>
> This series will update the OVMF to stop using the ISA drivers within
> IntelFrameworkModulePkg.
>
> As the replacement, a new OVMF Super I/O bus driver has been add which
> will install the Super I/O protocol for ISA serial and PS2 keyboard
> devices. By doing so, these devices can be managed by:
>
>   MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
>   MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
>
> respectively.
>
>
> Tests done:
> A. GCC5 & VS2015x86 tool chains build pass
> B. Launch QEMU (2.4.50, Windows) with command:
>> qemu-system-x86_64.exe -pflash \OVMF.fd -serial
>>> file:1.txt -serial file:2.txt
>
>Able to see the ISA COM1/COM2 UART and PS2Keyboard devices under
>>> Shell
>using command 'devtree';
>
>Both the serials and PS2 keyboard are working fine;

 Can you please confirm the following:

 (1) In the PrepareLpcBridgeDevicePath() function, in file
 "OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c", we add
 IsaKeyboard to ConIn, and IsaSerial to ConOut, ConIn, ErrOut.

 This function takes the "LPC Bridge device" handle from its caller,
 namely DetectAndPreparePlatformPciDevicePath(), and appends some
 constant device path nodes, from "BdsPlatform.h" / "PlatformData.c".

 Can you please confirm that the existing Platform BDS code described
 above is compatible with the new driver?

 In other words, do DetectAndPreparePlatformPciDevicePath() +
 PrepareLpcBridgeDevicePath() still add the proper device paths to
 ConIn/ConOut/ErrOut?

 (Note, they need not be identical to the previous device paths, but the
 *logic* must continue to work -- i.e. *some* device paths have to be
 added, and they should be correct.)
>>
>> Hello Laszlo,
>>
>> For (1), since I saw in function PrepareLpcBridgeDevicePath() there are
>> already some codes to print out the device path for COM1/COM2. So I just
>> add some logic to print the device path for the PS2 keyboard as well.
>>
>> I ran the qemu with command:
>> qemu-system-x86_64.exe -pflash \OVMF.fd -debugcon file:boot.log 
>> -global isa-debugcon.iobase=0x402
>>
>> For the new and origin ISA stack, their logs both show:
>> Found LPC Bridge device
>> BdsPlatform.c+585: PS2 Keyboard DevPath: 
>> PciRoot(0x0)/Pci(0x1,0x0)/Acpi(PNP0303,0x0)
>> BdsPlatform.c+615: COM1 DevPath: 
>> PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x0)/Uart(115200,8,N,1)/VenMsg(E0C14753-F9BE-11D2-9A0C-0090273FC14D)
>> BdsPlatform.c+647: COM2 DevPath: 
>> PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x1)/Uart(115200,8,N,1)/VenMsg(E0C14753-F9BE-11D2-9A0C-0090273FC14D)
>>
>> Thus, I think the Platform BDS code behavior remains the same.
>>

 (2) Can you please confirm if the new build survives repeated

   reconnect -r

 commands in the UEFI shell? Both the ISA keyboard and the serial console
 should resume working after "reconnect -r".
>>
>> For (2), I also run the qemu with:
>> qemu-system-x86_64.exe -pflash \OVMF.fd -debugcon file:boot.log 
>> -global isa-debugcon.iobase=0x402
>>
>> After running 'reconnect -r' under Shell, the PS2 keyboard works fine.
>> Then I switch the display from 'VGA' to 'serial0', and the serial works
>> fine. (I just re-run the 'reconnect -r' under 'serial0', after the command
>> finishes, the keyboard is responding and there is still output on 'serial0'.)
>>
>>>
>>> (3) Hao, can you please verify the above steps on the "q35" machine type
>>> as well?
>>>
>>> (The QEMU command line that you mention selects the "i440fx" machine
>>> type. QEMU provides an ICH9 ISA controller with the q35 board, and a
>>> PIIX4 one with the i440fx board. I think we should regression-test this
>>> work with both.)
>>
>> For (3), I run qemu with:
>> qemu-system-x86_64.exe -machine q35 -pflash \OVMF.fd -debugcon 
>> file:boot.log -global isa-debugcon.iobase=0x402
>>
>> Both tests 

Re: [edk2] [Patch] BaseTool: Fixed an issue of Structure PCD

2019-03-26 Thread Gao, Liming
Reviewed-by: Liming Gao 

> -Original Message-
> From: Feng, Bob C
> Sent: Tuesday, March 26, 2019 5:34 PM
> To: edk2-devel@lists.01.org
> Cc: Feng, Bob C ; Gao, Liming 
> Subject: [Patch] BaseTool: Fixed an issue of Structure PCD
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=1665
> 
> Build fail when the structure pcd has
> member of flexible size array
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Bob Feng 
> Cc: Liming Gao 
> ---
>  BaseTools/Source/Python/Workspace/DscBuildData.py | 14 +++---
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py 
> b/BaseTools/Source/Python/Workspace/DscBuildData.py
> index 58286159db..129c0c950b 100644
> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> @@ -1777,21 +1777,21 @@ class DscBuildData(PlatformBuildClassObject):
>  Value = 
> ValueExpressionEx(FieldList[FieldName.strip(".")][0], TAB_VOID, 
> self._GuidDict)(True)
>  except BadExpression:
>  EdkLogger.error('Build', FORMAT_INVALID, "Invalid 
> value format for %s. From %s Line %d " %
>  (".".join((Pcd.TokenSpaceGuidCName, 
> Pcd.TokenCName, FieldName.strip('.'))),
> FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2]))
>  Value, ValueSize = ParseFieldValue(Value)
> -if not Pcd.IsArray:
> +if not Pcd.IsArray():
>  CApp = CApp + '  __FLEXIBLE_SIZE(*Size, %s, %s, %d / 
> __ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %%
> __ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0));  // From %s Line %d Value %s \n' % 
> (Pcd.DatumType, FieldName.strip("."), ValueSize,
> Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType, 
> FieldName.strip("."), FieldList[FieldName.strip(".")][1],
> FieldList[FieldName.strip(".")][2], FieldList[FieldName.strip(".")][0]);
>  else:
>  NewFieldName = ''
>  FieldName_ori = FieldName.strip('.')
>  while '[' in  FieldName:
>  NewFieldName = NewFieldName + FieldName.split('[', 
> 1)[0] + '[0]'
>  ArrayIndex = int(FieldName.split('[', 
> 1)[1].split(']', 1)[0])
>  FieldName = FieldName.split(']', 1)[1]
>  FieldName = NewFieldName + FieldName
> -while '[' in FieldName and not Pcd.IsArray:
> +while '[' in FieldName and not Pcd.IsArray():
>  FieldName = FieldName.rsplit('[', 1)[0]
>  CApp = CApp + '  __FLEXIBLE_SIZE(*Size, %s, %s, %d); 
> // From %s Line %d Value %s\n' % (Pcd.DatumType,
> FieldName.strip("."), ArrayIndex + 1, FieldList[FieldName_ori][1], 
> FieldList[FieldName_ori][2], FieldList[FieldName_ori][0])
>  for skuname in Pcd.SkuOverrideValues:
>  if skuname == TAB_COMMON:
>  continue
> @@ -1809,21 +1809,21 @@ class DscBuildData(PlatformBuildClassObject):
>  Value = 
> ValueExpressionEx(FieldList[FieldName.strip(".")][0], TAB_VOID, 
> self._GuidDict)(True)
>  except BadExpression:
>  EdkLogger.error('Build', FORMAT_INVALID, 
> "Invalid value format for %s. From %s Line %d " %
>  
> (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName.strip('.'))),
> FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2]))
>  Value, ValueSize = ParseFieldValue(Value)
> -if not Pcd.IsArray:
> +if not Pcd.IsArray():
>  CApp = CApp + '  __FLEXIBLE_SIZE(*Size, 
> %s, %s, %d / __ARRAY_ELEMENT_SIZE(%s, %s) +
> ((%d %% __ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0)); // From %s Line %d Value 
> %s\n' % (Pcd.DatumType, FieldName.strip("."), ValueSize,
> Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType, 
> FieldName.strip("."), FieldList[FieldName.strip(".")][1],
> FieldList[FieldName.strip(".")][2], FieldList[FieldName.strip(".")][0]);
>  else:
>  NewFieldName = ''
>  FieldName_ori = FieldName.strip('.')
>  while '[' in  FieldName:
>  NewFieldName = NewFieldName + 
> FieldName.split('[', 1)[0] + '[0]'
>  ArrayIndex = int(FieldName.split('[', 
> 1)[1].split(']', 1)[0])
>  FieldName = FieldName.split(']', 1)[1]
>  FieldName = NewFieldName + FieldName
> - 

Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Laszlo Ersek
On 03/26/19 11:09, Julien Grall wrote:
> Hi Laszlo,
> 
> On 3/25/19 11:29 AM, Laszlo Ersek wrote:
>> On 03/25/19 11:58, Laszlo Ersek wrote:
>>> On 03/25/19 06:28, Hao Wu wrote:
>> (4) Julien, Anthony: can you please fetch this series (github URL at the
>> top) and see if the PS/2 keyboard, and the serial port, still work on
>> Xen, to interact e.g. with the UEFI shell?
> 
> Just to confirm, should we test for x86 only? If so, I will leave that
> to Anthony.

Yes, this is x86 only.

Thanks!
Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [edk2-announce] Mailing List Move Day Set: April 4th

2019-03-26 Thread Laszlo Ersek
On 03/25/19 23:21, Rebecca Cran via edk2-devel wrote:
> On 3/25/19 10:21 AM, stephano wrote:
>>
>> This is a good point and shows the level of detail that is preserved
>> by the mailing list if maintained properly. I would assume this is
>> part of the reason that the Linux kernel has continued to use mailing
>> lists for patch review as this level of detail is highly desired in
>> their case.
> 
> 
> Talking of such things, I noticed a couple weeks ago that the Gmane link
> at https://lists.01.org/mailman/listinfo/edk2-devel doesn't work .

Indeed, we should now replace that link with:

- https://www.mail-archive.com/edk2-devel@lists.01.org/info.html
- https://www.mail-archive.com/edk2-devel@lists.01.org/

as the "alternative archive".

(OTOH, it may be simpler to just wait until we move to gropus.io).

> From https://en.wikipedia.org/wiki/Gmane :
> 
> "In July 2016, Ingebrigtsen announced that he was considering shutting
> Gmane down, and the web interface was taken offline.^[2]
>  ^[3]
>  In August 2016 Gmane
> was acquired by Yomura Holdings. Only the message spool was transferred,
> with the software behind the site having to be redeveloped.^[4]
>  ^[5]
>  On the 6 September
> 2016, it was announced that the Gmane web interface would be coming
> online again.^[6] 
> However, by February 2018 a LWN.net
>  article observed that the web
> interface did "never [...] return, breaking thousands of links across
> the net. The front page still says 'some things are very broken' and
> links to a blog page that was last updated in September 2016."^[7]
> "

The downfall of GMANE was nothing short of a catastrophe, for open source.

(It was also what taught me to capture Message-ID-based links to
archived messages. Message-IDs outlive websites.)

Thanks
Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH V4 08/17] ArmPkg/SemiHostingDebugLib: Add new APIs

2019-03-26 Thread Leif Lindholm
Hi Zhichao,

Apologies for delay in responding, due to holiday and stuff.

On the whole this looks fine (one comment below), but I don't actually
have any platform on which to test this.

Ard: maybe it's time to retire this component?

On Thu, Mar 21, 2019 at 10:04:50PM +0800, Zhichao Gao wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
> 
> Add new APIs' implementation (DebugVPrint, DebugBPrint)
> in the DebugLib instance. These APIs would expose print
> routines with VaList parameter and BaseList parameter.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Zhichao Gao 
> Cc: Leif Lindholm 
> Cc: Ard Biesheuvel 
> Cc: Liming Gao 
> Cc: Sean Brogan 
> Cc: Michael Turner 
> Cc: Bret Barkelew 
> ---
>  ArmPkg/Library/SemiHostingDebugLib/DebugLib.c | 106 
> --
>  1 file changed, 101 insertions(+), 5 deletions(-)
> 
> diff --git a/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c 
> b/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> index ec03edb774..a368dd43b8 100644
> --- a/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> +++ b/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> @@ -1,7 +1,7 @@
>  /** @file
>UEFI Debug Library that uses PrintLib to send messages to STDERR.
>  
> -  Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.
> +  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
>Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
>This program and the accompanying materials
>are licensed and made available under the terms and conditions of the BSD 
> License
> @@ -27,6 +27,12 @@
>  //
>  #define MAX_DEBUG_MESSAGE_LENGTH  0x100
>  
> +//
> +// VA_LIST can not initialize to NULL for all compiler, so we use this to
> +// indicate a null VA_LIST
> +//
> +VA_LIST mVaListNull;

I would prefer if this was marked STATIC.

If you feel strongly otherwise, leave it as is.
Either way:
Reviewed-by: Leif Lindholm 

/
Leif

> +
>  /**
>  
>Prints a debug message to the debug output device if the specified error 
> level is enabled.
> @@ -48,9 +54,41 @@ DebugPrint (
>IN  CONST CHAR8  *Format,
>...
>)
> +{
> +  VA_LIST Marker;
> +
> +  VA_START (Marker, Format);
> +  DebugVPrint (ErrorLevel, Format, Marker);
> +  VA_END (Marker);
> +}
> +
> +
> +/**
> +  Prints a debug message to the debug output device if the specified
> +  error level is enabled base on Null-terminated format string and a
> +  VA_LIST argument list or a BASE_LIST argument list.
> +
> +  If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function
> +  GetDebugPrintErrorLevel (), then print the message specified by Format and
> +  the associated variable argument list to the debug output device.
> +
> +  If Format is NULL, then ASSERT().
> +
> +  @param  ErrorLevel  The error level of the debug message.
> +  @param  Format  Format string for the debug message to print.
> +  @param  VaListMarkerVA_LIST marker for the variable argument list.
> +  @param  BaseListMarker  BASE_LIST marker for the variable argument list.
> +
> +**/
> +VOID
> +DebugPrintMarker (
> +  IN  UINTN ErrorLevel,
> +  IN  CONST CHAR8   *Format,
> +  IN  VA_LIST   VaListMarker,
> +  IN  BASE_LIST BaseListMarker
> +  )
>  {
>CHAR8AsciiBuffer[MAX_DEBUG_MESSAGE_LENGTH];
> -  VA_LIST  Marker;
>  
>//
>// If Format is NULL, then ASSERT().
> @@ -67,14 +105,72 @@ DebugPrint (
>//
>// Convert the DEBUG() message to a Unicode String
>//
> -  VA_START (Marker, Format);
> -  AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, Marker);
> -  VA_END (Marker);
> +  if (BaseListMarker == NULL) {
> +AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, VaListMarker);
> +  } else {
> +AsciiBSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, BaseListMarker);
> +  }
>  
>SemihostWriteString (AsciiBuffer);
>  }
>  
>  
> +/**
> +  Prints a debug message to the debug output device if the specified
> +  error level is enabled.
> +
> +  If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function
> +  GetDebugPrintErrorLevel (), then print the message specified by Format and
> +  the associated variable argument list to the debug output device.
> +
> +  If Format is NULL, then ASSERT().
> +
> +  @param  ErrorLevelThe error level of the debug message.
> +  @param  FormatFormat string for the debug message to print.
> +  @param  VaListMarker  VA_LIST marker for the variable argument list.
> +
> +**/
> +VOID
> +EFIAPI
> +DebugVPrint (
> +  IN  UINTN ErrorLevel,
> +  IN  CONST CHAR8   *Format,
> +  IN  VA_LIST   VaListMarker
> +  )
> +{
> +  DebugPrintMarker (ErrorLevel, Format, VaListMarker, NULL);
> +}
> +
> +
> +/**
> +  Prints a debug message to the debug output device if the specified
> +  error level is enabled.
> +  This function use BASE_LIST which would provide a more compatible
> +  service than VA_LIST.
> +
> +  If any

Re: [edk2] [PATCH V4 08/17] ArmPkg/SemiHostingDebugLib: Add new APIs

2019-03-26 Thread Ard Biesheuvel
On Tue, 26 Mar 2019 at 13:19, Leif Lindholm  wrote:
>
> Hi Zhichao,
>
> Apologies for delay in responding, due to holiday and stuff.
>
> On the whole this looks fine (one comment below), but I don't actually
> have any platform on which to test this.
>
> Ard: maybe it's time to retire this component?
>

I don't have a problem with that. Adding Eugene, perhaps he has an
opinion as well.


> On Thu, Mar 21, 2019 at 10:04:50PM +0800, Zhichao Gao wrote:
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
> >
> > Add new APIs' implementation (DebugVPrint, DebugBPrint)
> > in the DebugLib instance. These APIs would expose print
> > routines with VaList parameter and BaseList parameter.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Zhichao Gao 
> > Cc: Leif Lindholm 
> > Cc: Ard Biesheuvel 
> > Cc: Liming Gao 
> > Cc: Sean Brogan 
> > Cc: Michael Turner 
> > Cc: Bret Barkelew 
> > ---
> >  ArmPkg/Library/SemiHostingDebugLib/DebugLib.c | 106 
> > --
> >  1 file changed, 101 insertions(+), 5 deletions(-)
> >
> > diff --git a/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c 
> > b/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> > index ec03edb774..a368dd43b8 100644
> > --- a/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> > +++ b/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >UEFI Debug Library that uses PrintLib to send messages to STDERR.
> >
> > -  Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.
> > +  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
> >Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
> >This program and the accompanying materials
> >are licensed and made available under the terms and conditions of the 
> > BSD License
> > @@ -27,6 +27,12 @@
> >  //
> >  #define MAX_DEBUG_MESSAGE_LENGTH  0x100
> >
> > +//
> > +// VA_LIST can not initialize to NULL for all compiler, so we use this to
> > +// indicate a null VA_LIST
> > +//
> > +VA_LIST mVaListNull;
>
> I would prefer if this was marked STATIC.
>
> If you feel strongly otherwise, leave it as is.
> Either way:
> Reviewed-by: Leif Lindholm 
>
> /
> Leif
>
> > +
> >  /**
> >
> >Prints a debug message to the debug output device if the specified error 
> > level is enabled.
> > @@ -48,9 +54,41 @@ DebugPrint (
> >IN  CONST CHAR8  *Format,
> >...
> >)
> > +{
> > +  VA_LIST Marker;
> > +
> > +  VA_START (Marker, Format);
> > +  DebugVPrint (ErrorLevel, Format, Marker);
> > +  VA_END (Marker);
> > +}
> > +
> > +
> > +/**
> > +  Prints a debug message to the debug output device if the specified
> > +  error level is enabled base on Null-terminated format string and a
> > +  VA_LIST argument list or a BASE_LIST argument list.
> > +
> > +  If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function
> > +  GetDebugPrintErrorLevel (), then print the message specified by Format 
> > and
> > +  the associated variable argument list to the debug output device.
> > +
> > +  If Format is NULL, then ASSERT().
> > +
> > +  @param  ErrorLevel  The error level of the debug message.
> > +  @param  Format  Format string for the debug message to print.
> > +  @param  VaListMarkerVA_LIST marker for the variable argument list.
> > +  @param  BaseListMarker  BASE_LIST marker for the variable argument list.
> > +
> > +**/
> > +VOID
> > +DebugPrintMarker (
> > +  IN  UINTN ErrorLevel,
> > +  IN  CONST CHAR8   *Format,
> > +  IN  VA_LIST   VaListMarker,
> > +  IN  BASE_LIST BaseListMarker
> > +  )
> >  {
> >CHAR8AsciiBuffer[MAX_DEBUG_MESSAGE_LENGTH];
> > -  VA_LIST  Marker;
> >
> >//
> >// If Format is NULL, then ASSERT().
> > @@ -67,14 +105,72 @@ DebugPrint (
> >//
> >// Convert the DEBUG() message to a Unicode String
> >//
> > -  VA_START (Marker, Format);
> > -  AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, Marker);
> > -  VA_END (Marker);
> > +  if (BaseListMarker == NULL) {
> > +AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, VaListMarker);
> > +  } else {
> > +AsciiBSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, 
> > BaseListMarker);
> > +  }
> >
> >SemihostWriteString (AsciiBuffer);
> >  }
> >
> >
> > +/**
> > +  Prints a debug message to the debug output device if the specified
> > +  error level is enabled.
> > +
> > +  If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function
> > +  GetDebugPrintErrorLevel (), then print the message specified by Format 
> > and
> > +  the associated variable argument list to the debug output device.
> > +
> > +  If Format is NULL, then ASSERT().
> > +
> > +  @param  ErrorLevelThe error level of the debug message.
> > +  @param  FormatFormat string for the debug message to print.
> > +  @param  VaListMarker  VA_LIST marker for the variable argument list.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +Debu

Re: [edk2] [PATCH] OvmfPkg: retire "create-release.py"

2019-03-26 Thread Laszlo Ersek
On 03/25/19 14:24, Laszlo Ersek wrote:
> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1653
> 
> "create-release.py" generates a 2-BSDL copyright block that will no longer
> apply once we fix .
> 
> Rather than update "create-release.py", remove it. We haven't used it in
> several years now, plus source releases of upstream edk2 are now covered
> by the edk2 stable tags
> .
> 
> Regarding binary releases of upstream OVMF: OVMF and ArmVirtQemu binaries
> built at the edk2 stable tags are being bundled with upstream QEMU,
> similarly to other firmware that runs on QEMU platforms:
> .
> Furthermore, the Xen project has provided its own builds of OVMF and
> ArmVirtXen for a good while now.
> 
> Cc: Anthony Perard 
> Cc: Ard Biesheuvel 
> Cc: Jordan Justen 
> Cc: Julien Grall 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Laszlo Ersek 
> ---
> 
> Notes:
> Repo:   https://github.com/lersek/edk2.git
> Branch: retire_create_release
> 
>  OvmfPkg/create-release.py | 208 
>  1 file changed, 208 deletions(-)

Pushed as commit cf85ba23d58c.

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] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Anthony PERARD
On Mon, Mar 25, 2019 at 12:29:25PM +0100, Laszlo Ersek wrote:
> (4) Julien, Anthony: can you please fetch this series (github URL at the
> top) and see if the PS/2 keyboard, and the serial port, still work on
> Xen, to interact e.g. with the UEFI shell?

Yes, I can still interact with the UEFI shell with this series applied,
both via the console and via VNC (which uses respectively the serial
port and PS/2 I think).

Thanks,

-- 
Anthony PERARD
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Laszlo Ersek
On 03/26/19 14:03, Anthony PERARD wrote:
> On Mon, Mar 25, 2019 at 12:29:25PM +0100, Laszlo Ersek wrote:
>> (4) Julien, Anthony: can you please fetch this series (github URL at the
>> top) and see if the PS/2 keyboard, and the serial port, still work on
>> Xen, to interact e.g. with the UEFI shell?
> 
> Yes, I can still interact with the UEFI shell with this series applied,
> both via the console and via VNC (which uses respectively the serial
> port and PS/2 I think).

Thank you -- can you please follow up with a Tested-by, or do you prefer
if I push the set without it?

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] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Laszlo Ersek
Hi Hao,

On 03/26/19 16:01, Laszlo Ersek wrote:
> On 03/26/19 14:03, Anthony PERARD wrote:
>> On Mon, Mar 25, 2019 at 12:29:25PM +0100, Laszlo Ersek wrote:
>>> (4) Julien, Anthony: can you please fetch this series (github URL at the
>>> top) and see if the PS/2 keyboard, and the serial port, still work on
>>> Xen, to interact e.g. with the UEFI shell?
>>
>> Yes, I can still interact with the UEFI shell with this series applied,
>> both via the console and via VNC (which uses respectively the serial
>> port and PS/2 I think).
> 
> Thank you -- can you please follow up with a Tested-by, or do you prefer
> if I push the set without it?

... actually, I just realize that you can push this series just fine,
after Anthony's answer -- so please excuse my confusing comment; I'll of
course let you push the series.

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] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Anthony PERARD
On Tue, Mar 26, 2019 at 04:01:03PM +0100, Laszlo Ersek wrote:
> On 03/26/19 14:03, Anthony PERARD wrote:
> > On Mon, Mar 25, 2019 at 12:29:25PM +0100, Laszlo Ersek wrote:
> >> (4) Julien, Anthony: can you please fetch this series (github URL at the
> >> top) and see if the PS/2 keyboard, and the serial port, still work on
> >> Xen, to interact e.g. with the UEFI shell?
> > 
> > Yes, I can still interact with the UEFI shell with this series applied,
> > both via the console and via VNC (which uses respectively the serial
> > port and PS/2 I think).
> 
> Thank you -- can you please follow up with a Tested-by, or do you prefer
> if I push the set without it?

Tested-by: Anthony PERARD 

-- 
Anthony PERARD
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH edk2-platforms v4 0/4] Platform/ARM: Platform support for Dynamic Tables Framework

2019-03-26 Thread Sami Mujawar
Dynamic Tables Framework aims to reduce the amount of effort
required for porting firmware to new platforms by simplifying
the generation of firmware tables based on hardware description
provided by a platform specific component.

The Dynamic Tables Framework core queries the platform specific
component to retrieve the required hardware information for
generating standardised firmware tables at run-time.

The platform specific component responsible for collating the
hardware information is called the Configuration Manager.

This patch series introduce the Configuration Manager that
provides the hardware description to Dynamic Tables Framework.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 

The changes can be seen at:
https://github.com/samimujawar/edk2-platforms/tree/365_dynamic_tables_framework_v4

This v4 patch series incorporates:
  * Updates based on review comments to sort #include files and .inf sections
in alphabetical order.

Patches updated in this series are:
  - Platform/ARM: Configuration Manager for Juno
  - Platform/ARM: Configuration Manager for FVP

The corresponding edk2 code changes can be seen at:
https://github.com/samimujawar/edk2/tree/365_dynamic_tables_framework_v2

Sami Mujawar (4):
  Platform/ARM: Configuration Manager for Juno
  Platform/ARM: Dynamic Tables support for Juno
  Platform/ARM: Configuration Manager for FVP
  Platform/ARM: Dynamic Tables support for FVP

 Platform/ARM/JunoPkg/ArmJuno.dsc   
   |  12 +-
 Platform/ARM/JunoPkg/ArmJuno.fdf   
   |  12 +
 Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc 
   |  29 +
 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
  | 750 
 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
  | 179 +
 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 |  87 +++
 Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h   
   |  99 +++
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
   | 276 +++
 
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
   |  45 ++
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtJunoUsb.asl 
   | 123 
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtPci.asl 
   | 201 ++
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtUart.asl
   |  48 ++
 Platform/ARM/JunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c   
   |   9 +-
 Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc   
   |  15 +
 Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf   
   |  16 +-
 Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc 
   |  31 +
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
  | 682 ++
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
  | 181 +
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 |  80 +++
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h
  |  99 +++
 Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
   |  73 ++
 
Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
   |  35 +
 22 files changed, 3077 insertions(+), 5 deletions(-)
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtJunoUsb.asl
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtPci.asl
 create mode 100644 
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtUart.asl
 create m

[edk2] [PATCH edk2-platforms v4 3/4] Platform/ARM: Configuration Manager for FVP

2019-03-26 Thread Sami Mujawar
The dynamic tables framework utilizes the configuration manager
protocol to get the platform specific information required for
building the firmware tables.

The configuration manager is a platform specific component that
collates the platform hardware information and builds an abstract
platform configuration repository. The configuration manager also
implements the configuration manager protocol which returns the
hardware information requested by the table generators.

This patch implements the configuration manager support for the
FVP platform.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 
---

Notes:
v4:
- Sort #include files and .inf sections in alphabetical order [Leif]
- Updates done based on review comments, also updated INF_VERSION [Sami]

 Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc 
   |  31 +
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
  | 682 
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
  | 181 ++
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 |  80 +++
 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h
  |  99 +++
 Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
   |  73 +++
 
Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
   |  35 +
 7 files changed, 1181 insertions(+)

diff --git 
a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc 
b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
new file mode 100644
index 
..788b145b273fd49da7fb5d238491aef956977e61
--- /dev/null
+++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
@@ -0,0 +1,31 @@
+## @file
+#  dsc include file for Configuration Manager
+#
+#  Copyright (c) 2017 - 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.
+##
+
+[Defines]
+
+[BuildOptions]
+# Required for pre-processing ASL files that include ArmPlatform.h
+  *_*_*_ASLPP_FLAGS= $(PLATFORM_FLAGS)
+
+[LibraryClasses.common]
+
+[Components.common]
+  # Configuration Manager
+  
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 {
+
+# Platform ASL Tables
+
PlatformAslTablesLib|Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
+  
+   *_*_*_PLATFORM_FLAGS = 
-I$(BIN_DIR)/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib/OUTPUT
+  }
diff --git 
a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
 
b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
new file mode 100644
index 
..fb482dd5915e6f02033bcf4b26e1cec128ff9f66
--- /dev/null
+++ 
b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
@@ -0,0 +1,682 @@
+/** @file
+  Configuration Manager Dxe
+
+  Copyright (c) 2017 - 2019, 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.
+
+  @par Glossary:
+- Cm or CM   - Configuration Manager
+- Obj or OBJ - Object
+**/
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "ArmPlatform.h"
+#include "ConfigurationManager.h"
+#include "Platform.h"
+
+// AML Code Include files generated by iASL Compiler
+#include 
+
+/** The platform configuration repository information.
+*/
+STATIC
+EDKII_PLATFORM_REPOSITORY_INFO VExpressPlatRepositoryInfo = {
+  /// Configuration Manager information
+  { CONFIGURATION_MANAGER_REVISION, CFG_MGR_OEM_ID },
+
+  // ACPI Table List
+  {
+// FADT Table
+{
+  EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,
+  EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,
+  CREATE_STD_ACPI_TABLE_GEN_ID (EStdA

[edk2] [PATCH edk2-platforms v4 1/4] Platform/ARM: Configuration Manager for Juno

2019-03-26 Thread Sami Mujawar
The dynamic tables framework utilizes the configuration manager
protocol to get the platform specific information required for
building the firmware tables.

The configuration manager is a platform specific component that
collates the platform hardware information and builds an abstract
platform configuration repository. The configuration manager also
implements the configuration manager protocol which returns the
hardware information requested by the table generators.

This patch implements the configuration manager support for the
Juno platform.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 
---

Notes:
v4:
- Sort #include files and .inf sections in alphabetical order [Leif]
- Updates done based on review comments, also updated INF_VERSION [Sami]

 Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc 
   |  29 +
 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
  | 750 
 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
  | 179 +
 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 |  87 +++
 Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h   
   |  99 +++
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
   | 276 +++
 
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
   |  45 ++
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtJunoUsb.asl 
   | 123 
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtPci.asl 
   | 201 ++
 Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtUart.asl
   |  48 ++
 10 files changed, 1837 insertions(+)

diff --git 
a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc 
b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
new file mode 100644
index 
..a5fe869483f4a005942006c8ba43d3a5aabad5bb
--- /dev/null
+++ b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
@@ -0,0 +1,29 @@
+## @file
+#  dsc include file for Configuration Manager
+#
+#  Copyright (c) 2017 - 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.
+##
+
+[Defines]
+
+[BuildOptions]
+
+[LibraryClasses.common]
+
+[Components.common]
+  # Configuration Manager
+  
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
 {
+
+# Platform ASL Tables
+
PlatformAslTablesLib|Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
+  
+   *_*_*_PLATFORM_FLAGS = 
-I$(BIN_DIR)/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib/OUTPUT
+  }
diff --git 
a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
 
b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
new file mode 100644
index 
..38e3a878dd933b4ae5a39b7d5d9c5a277885655d
--- /dev/null
+++ 
b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
@@ -0,0 +1,750 @@
+/** @file
+  Configuration Manager Dxe
+
+  Copyright (c) 2017 - 2019, 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.
+
+  @par Glossary:
+- Cm or CM   - Configuration Manager
+- Obj or OBJ - Object
+**/
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "ArmPlatform.h"
+#include "ConfigurationManager.h"
+#include "Platform.h"
+
+// AML Code Include files generated by iASL Compiler
+#include 
+#include 
+#include 
+#include 
+
+/** The platform configuration repository information.
+*/
+STATIC
+EDKII_PLATFORM_REPOSITORY_INFO ArmJunoPlatformRepositoryInfo = {
+  /// Configuration Manager information
+  { CONFIGURATION_MANAGER_REVISION, CFG_MGR_OEM_ID },
+
+  // ACPI Table List

[edk2] [PATCH edk2-platforms v4 2/4] Platform/ARM: Dynamic Tables support for Juno

2019-03-26 Thread Sami Mujawar
The dynamic tables framework uses the platform hardware
information described by the configuration manager to
generate ACPI tables. This support is configurable and
can be enabled using the DYNAMIC_TABLES_FRAMEWORK build
option.

When DYNAMIC_TABLES_FRAMEWORK is defined, ACPI tables are
generated and installed by the dynamic table framework.
Therefore, installation of ACPI tables from the Firmware
Volume (FV) is disabled by this option.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 
---
 Platform/ARM/JunoPkg/ArmJuno.dsc | 12 +++-
 Platform/ARM/JunoPkg/ArmJuno.fdf | 12 
 Platform/ARM/JunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c |  9 +++--
 3 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/Platform/ARM/JunoPkg/ArmJuno.dsc b/Platform/ARM/JunoPkg/ArmJuno.dsc
index 
3edde5b65be47fe14988940ce2ef31a60f38dd31..a355c1e1d983339b3b461eddbf60e4a31888a361
 100644
--- a/Platform/ARM/JunoPkg/ArmJuno.dsc
+++ b/Platform/ARM/JunoPkg/ArmJuno.dsc
@@ -33,6 +33,11 @@ [Defines]
 # On RTSM, most peripherals are VExpress Motherboard peripherals
 !include Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
 
+!ifdef DYNAMIC_TABLES_FRAMEWORK
+!include DynamicTablesPkg/DynamicTables.dsc.inc
+!include Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
+!endif
+
 [LibraryClasses.common]
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
@@ -79,6 +84,10 @@ [LibraryClasses.common.UEFI_DRIVER, 
LibraryClasses.common.UEFI_APPLICATION, Libr
 [BuildOptions]
   GCC:*_*_ARM_PLATFORM_FLAGS = -march=armv8-a
 
+!ifdef DYNAMIC_TABLES_FRAMEWORK
+  *_*_*_PLATFORM_FLAGS = -DDYNAMIC_TABLES_FRAMEWORK
+!endif
+
 

 #
 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
@@ -266,8 +275,9 @@ [Components.common]
   # ACPI Support
   #
   MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+!ifndef DYNAMIC_TABLES_FRAMEWORK
   Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
-
+!endif
   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
 
   ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
diff --git a/Platform/ARM/JunoPkg/ArmJuno.fdf b/Platform/ARM/JunoPkg/ArmJuno.fdf
index 
0a8b636d0ebd10a7bceb3cbe6ca1bed8688da1a6..b1295a579b094db1433898589a282702ec854bfb
 100644
--- a/Platform/ARM/JunoPkg/ArmJuno.fdf
+++ b/Platform/ARM/JunoPkg/ArmJuno.fdf
@@ -114,7 +114,17 @@ [FV.FvMain]
   # ACPI Support
   #
   INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+!ifndef DYNAMIC_TABLES_FRAMEWORK
   INF RuleOverride=ACPITABLE Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
+!else
+  # Configuration Manager
+  INF 
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
+
+  #
+  # Dynamic Table fdf
+  #
+  !include DynamicTablesPkg/DynamicTables.fdf.inc
+!endif
 
   INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
 
@@ -378,8 +388,10 @@ [Rule.Common.UEFI_APPLICATION.BINARY]
 VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
   }
 
+!ifndef DYNAMIC_TABLES_FRAMEWORK
 [Rule.Common.USER_DEFINED.ACPITABLE]
   FILE FREEFORM = $(NAMED_GUID) {
 RAW ACPI   |.acpi
 RAW ASL|.aml
   }
+!endif
diff --git a/Platform/ARM/JunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c 
b/Platform/ARM/JunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c
index 
18491c7378523f365644658c270de95e711c5ac1..0a42d21d4e9b60824f1d313a4d5ad9e4bc6db3aa
 100644
--- a/Platform/ARM/JunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c
+++ b/Platform/ARM/JunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c
@@ -1,6 +1,6 @@
 /** @file
 *
-*  Copyright (c) 2013-2015, ARM Limited. All rights reserved.
+*  Copyright (c) 2013-2017, 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
@@ -33,9 +33,10 @@
 #include 
 #include 
 
-
+#ifndef DYNAMIC_TABLES_FRAMEWORK
 // This GUID must match the FILE_GUID in 
ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiTables.inf
 STATIC CONST EFI_GUID mJunoAcpiTableFile = { 0xa1dd808e, 0x1e95, 0x4399, { 
0xab, 0xc0, 0x65, 0x3c, 0x82, 0xe8, 0x53, 0x0c } };
+#endif
 
 typedef struct {
   ACPI_HID_DEVICE_PATH  AcpiDevicePath;
@@ -487,11 +488,13 @@ ArmJunoEntryPoint (
 
   GetJunoRevision(JunoRevision);
 
+#ifndef DYNAMIC_TABLES_FRAMEWORK
   //
   // Try to install the ACPI Tables
   //
   Status = LocateAndInstallAcpiFromFv (&mJunoAcpiTableFile);
   ASSERT_EFI_ERROR (Status);
+#endif
 
   //
   // Setup R1/R2 options if not already done.
@@ -516,6 +519,7 @@ ArmJunoEntryPoint (
 &EndOfDxeEvent
 );
 
+#ifndef DYNAMIC_TABLES_FRAMEWORK
 // Declare the related ACPI Tables
 EfiCreateProtocolNotifyEvent (
 &gEfiAcpiTableProtocolGuid,
@@ -524,6 +528,7 @@ ArmJunoEntryPoint (
 NULL,
   

[edk2] [PATCH edk2-platforms v4 4/4] Platform/ARM: Dynamic Tables support for FVP

2019-03-26 Thread Sami Mujawar
The dynamic tables framework uses the platform hardware
information described by the configuration manager to
generate ACPI tables. This support is configurable and
can be enabled using the DYNAMIC_TABLES_FRAMEWORK build
option.

When DYNAMIC_TABLES_FRAMEWORK is defined, ACPI tables are
generated and installed by the dynamic table framework.
Therefore, installation of ACPI tables from the Firmware
Volume (FV) is disabled by this option.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 
---
 Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 15 +++
 Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf | 16 ++--
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc 
b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
index 
0941edeaf53c236cd69fbb54e47df9bd407a56d8..1cf2ebb58f99899864e3bc90b7a22a75ea9fc29b
 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
@@ -38,6 +38,10 @@ [Defines]
   DT_SUPPORT = FALSE
 
 !include Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
+!ifdef DYNAMIC_TABLES_FRAMEWORK
+  !include DynamicTablesPkg/DynamicTables.dsc.inc
+  !include 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
+!endif
 
 [LibraryClasses.common]
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
@@ -128,6 +132,15 @@ [PcdsFixedAtBuild.common]
   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c0a
   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
+  gArmPlatformTokenSpaceGuid.PL011UartInterrupt|0x25
+
+  ## PL011 Serial Debug UART (DBG2)
+  gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x1c0b
+  gArmPlatformTokenSpaceGuid.PcdSerialDbgUartBaudRate|115200
+  gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz|2400
+
+  # SBSA Generic Watchdog
+  gArmTokenSpaceGuid.PcdGenericWatchdogEl2IntrNum|59
 
   ## PL031 RealTimeClock
   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C17
@@ -257,8 +270,10 @@ [Components.common]
 !endif
   }
 
+!ifndef DYNAMIC_TABLES_FRAMEWORK
   MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
   Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
+!endif
 
   ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
   ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf 
b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
index 
c3e573e1bb4fcf7889fefec4d6c919b118b76653..fc998ec746913a98ac6f62c1109b809bb530fb16
 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf
@@ -1,5 +1,5 @@
 #
-#  Copyright (c) 2011 - 2015, ARM Limited. All rights reserved.
+#  Copyright (c) 2011 - 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
@@ -97,9 +97,19 @@ [FV.FvMain]
 
   # ACPI Support
   #
-  INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
   INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+!ifndef DYNAMIC_TABLES_FRAMEWORK
+  INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
   INF RuleOverride=ACPITABLE Platform/ARM/VExpressPkg/AcpiTables/AcpiTables.inf
+!else
+  # Configuration Manager
+  INF 
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
+
+  #
+  # Dynamic Table fdf
+  #
+  !include DynamicTablesPkg/DynamicTables.fdf.inc
+!endif
 
   #
   # Multiple Console IO support
@@ -319,8 +329,10 @@ [Rule.Common.UEFI_APPLICATION.BINARY]
 VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
   }
 
+!ifndef DYNAMIC_TABLES_FRAMEWORK
 [Rule.Common.USER_DEFINED.ACPITABLE]
   FILE FREEFORM = $(NAMED_GUID) {
 RAW ACPI   |.acpi
 RAW ASL|.aml
   }
+!endif
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH V2] Change EDK II to BSD+Patent License

2019-03-26 Thread Leif Lindholm
Hi Mike,

First of all - now the March table tag was made (and I'm back from
holiday), I had planned to do the move of BeagleBoardPkg and
Omap35xxPkg to edk2-platforms.

Would you prefer me to put that on hold, or should we drop those
changes from this set and worry about those if/when we get around to
relicensing edk2-platforms too?

For the changes to ArmPkg, ArmPlatformPkg, EmbeddedPkg(,
BeagleBoardPkg, Omap35xxPkg):
Reviewed-by: Leif Lindholm 

For the changes to edk2:
License.txt - could the commit message describe where the new text is
  from (as an implicit way of explaining why the
  layout/bulleting has changed in the portion that is
  otherwise content-wise identical)?
- (I'm sorry, I should just keep quiet, but...)
  The copyright lines at the top of the Licence.txt file
  have been bugging me since day 1. Can we drop them?
  Clearly none of these organisations hold copyright over
  either the old or the new license.

I'll just add that my wording for the Signed-off-by was just a
meant as a starting point and I'd be happy to see it improved.

But from my end, all edk2: patches other than
"edk2: Change License.txt from 2-Clause BSD to BSD+Patent":
Reviewed-by: Leif Lindholm 

/
Leif

On Sat, Mar 23, 2019 at 02:25:15AM +, Kinney, Michael D wrote:
> Hello,
> 
> New in V2
> =
> * Remove Cc lines from commit messages
> * Remove branch reference from commit messages
> * Change license in 2 files missed in OvmfPkg
> * Update OvmfPkg/License.txt to BSD+Patent as the default license
> * Move the portions of Contributions.txt in the root of edk2 to
>   Readme.md in the root of edk2 that describe how to contribute
>   along with the commit message format.
> * Add to Readme.md in the root of edk2 that Signed-off-by means that
>   the contributor certifies compliance to the Developer's Certificate
>   of Origin 1.1.  https://developercertificate.org
> =
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1373
> 
> This change is based on the following emails:
>   https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
>   https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html
> 
> RFCs with detailed process for the license change:
>   V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
>   V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
>   V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
> 
> I have posted the patch series for review on the following branch using
> edk2-stable201903 as the base for the patch series.  
> 
>   https://github.com/mdkinney/edk2/tree/Bug_1373_BsdPatentLicense_V2
> 
> The commits in patch series can be viewed here:
> 
>   https://github.com/mdkinney/edk2/commits/Bug_1373_BsdPatentLicense_V2
> 
> The patch series has one patch per package along with a few patches
> to update the license information in the root of the edk2 repository
> as described in the RFC V3.
> 
> Due to the size of the patch series, I prefer to not send the
> patch emails.  Instead, please perform code reviews using content
> from the branch.
> 
> All EDK II package maintainers and package reviewers should provide
> review feedback for their packages.  The critical part of the review
> is:
> 1) Any changes that cause build breaks or logic changes.  These code
>changes are intended to only modify license contents in comment
>blocks.
> 2) Any file that has been changed to BSD+Patent, but should remain
>with the current license.
> 3) Any file that that has not changed to BSD+Patent, but should be
>changed to BSD+Patent. 
> 
> Feedback and Reviewed-by emails should identify the patch the feedback
> applies using the patch summary listed below.  The goal is to complete
> all reviews to support the commit of these patches on April 9, 2019.
>  
> 2a7d2c56bc edk2: Remove Contributions.txt and update Readme.md
> f9d59ccdc5 OvmfPkg: Change License.txt from 2-Clause BSD to BSD+Patent
> ce3fbf929e StdLibPrivateInternalFiles: Replace BSD License with BSD+Patent 
> License
> aa8a3692c7 StdLib: Replace BSD License with BSD+Patent License
> 2dfbe1e1ee AppPkg: Replace BSD License with BSD+Patent License
> b2161f6dd8 Vlv2TbltDevicePkg: Replace BSD License with BSD+Patent License
> 3688c33755 Vlv2DeviceRefCodePkg: Replace BSD License with BSD+Patent License
> 8170308c98 UefiCpuPkg: Replace BSD License with BSD+Patent License
> 4b68832cdc StandaloneMmPkg: Replace BSD License with BSD+Patent License
> 327dc18122 SourceLevelDebugPkg: Replace BSD License with BSD+Patent License
> 6c4c506a5e SignedCapsulePkg: Replace BSD License with BSD+Patent License
> 2fdd514aff ShellPkg: Replace BSD License with BSD+Patent License
> c667724cb9 ShellBinPkg: Replace BSD License with BSD+Patent License
> 76f9e555b8 SecurityPkg: Replace BSD License with BSD+Patent License
> 89a588c1be QuarkSocPkg: Replace BSD License with BSD+Patent

Re: [edk2] [PATCH V2] Change EDK II to BSD+Patent License

2019-03-26 Thread Kinney, Michael D
Hi Leif,

Thanks for the reviews.  Responses below.

Mike

> -Original Message-
> From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
> Sent: Tuesday, March 26, 2019 11:09 AM
> To: Kinney, Michael D 
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] [PATCH V2] Change EDK II to
> BSD+Patent License
> 
> Hi Mike,
> 
> First of all - now the March table tag was made (and I'm
> back from
> holiday), I had planned to do the move of BeagleBoardPkg
> and
> Omap35xxPkg to edk2-platforms.
> 
> Would you prefer me to put that on hold, or should we
> drop those
> changes from this set and worry about those if/when we
> get around to
> relicensing edk2-platforms too?

I do not have a strong opinion on when those packages
move to edk2-platforms.

I am holding off on other package moves I am involved in
until after the license change.

> 
> For the changes to ArmPkg, ArmPlatformPkg, EmbeddedPkg(,
> BeagleBoardPkg, Omap35xxPkg):
> Reviewed-by: Leif Lindholm 
> 

Thank you!

> For the changes to edk2:
> License.txt - could the commit message describe where
> the new text is
> from (as an implicit way of explaining why the
> layout/bulleting has changed in the portion
> that is
> otherwise content-wise identical)?

I do not follow what you want updated here.  Which 
commit and what would you like the message changed to?

> - (I'm sorry, I should just keep quiet,
> but...)
>   The copyright lines at the top of the
> Licence.txt file
>   have been bugging me since day 1. Can we
> drop them?
> Clearly none of these organisations hold
> copyright over
> either the old or the new license.
> 

The copyrights at the top of that file were inherited
from the packages when License.txt used to be in each
package.  If you think it is appropriate to remove them
I am happy to do that as part of this series.  Does the
same comment apply to License.txt in OvmfPkg?

> I'll just add that my wording for the Signed-off-by was
> just a
> meant as a starting point and I'd be happy to see it
> improved.

Please let me know if you have any suggestions here.

> 
> But from my end, all edk2: patches other than
> "edk2: Change License.txt from 2-Clause BSD to
> BSD+Patent":
> Reviewed-by: Leif Lindholm 
> 
> /
> Leif
> 
> On Sat, Mar 23, 2019 at 02:25:15AM +, Kinney,
> Michael D wrote:
> > Hello,
> >
> > New in V2
> > =
> > * Remove Cc lines from commit messages
> > * Remove branch reference from commit messages
> > * Change license in 2 files missed in OvmfPkg
> > * Update OvmfPkg/License.txt to BSD+Patent as the
> default license
> > * Move the portions of Contributions.txt in the root
> of edk2 to
> >   Readme.md in the root of edk2 that describe how to
> contribute
> >   along with the commit message format.
> > * Add to Readme.md in the root of edk2 that Signed-
> off-by means that
> >   the contributor certifies compliance to the
> Developer's Certificate
> >   of Origin 1.1.  https://developercertificate.org
> > =
> >
> > BZ:
> https://bugzilla.tianocore.org/show_bug.cgi?id=1373
> >
> > This change is based on the following emails:
> >   https://lists.01.org/pipermail/edk2-devel/2019-
> February/036260.html
> >   https://lists.01.org/pipermail/edk2-devel/2018-
> October/030385.html
> >
> > RFCs with detailed process for the license change:
> >   V3: https://lists.01.org/pipermail/edk2-devel/2019-
> March/038116.html
> >   V2: https://lists.01.org/pipermail/edk2-devel/2019-
> March/037669.html
> >   V1: https://lists.01.org/pipermail/edk2-devel/2019-
> March/037500.html
> >
> > I have posted the patch series for review on the
> following branch using
> > edk2-stable201903 as the base for the patch series.
> >
> >
> https://github.com/mdkinney/edk2/tree/Bug_1373_BsdPatent
> License_V2
> >
> > The commits in patch series can be viewed here:
> >
> >
> https://github.com/mdkinney/edk2/commits/Bug_1373_BsdPat
> entLicense_V2
> >
> > The patch series has one patch per package along with
> a few patches
> > to update the license information in the root of the
> edk2 repository
> > as described in the RFC V3.
> >
> > Due to the size of the patch series, I prefer to not
> send the
> > patch emails.  Instead, please perform code reviews
> using content
> > from the branch.
> >
> > All EDK II package maintainers and package reviewers
> should provide
> > review feedback for their packages.  The critical part
> of the review
> > is:
> > 1) Any changes that cause build breaks or logic
> changes.  These code
> >changes are intended to only modify license
> contents in comment
> >blocks.
> > 2) Any file that has been changed to BSD+Patent, but
> should remain
> >with the current license.
> > 3) Any file that that has not changed to BSD+Patent,
> but should be
> >changed to BSD+Patent.
> >
> > Feedback and Reviewed-by emails should identify the
> patch the feedback
> > applies using the patch summary listed below.

[edk2] [PATCH v1 0/2] DynamicTablesPkg: Fix line endings and disable deprecated APIs

2019-03-26 Thread Sami Mujawar
This patch series updates the DynamicTablesPkg.dsc file to:
- fix line endings
- disable the deprecated APIs

Cc: Alexei Fedorov 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 

The changes can be seen at 
https://github.com/samimujawar/edk2/tree/499_dynamic_tables_disable_deprecated_apis_v1

Sami Mujawar (2):
  DynamicTablesPkg: Fix line endings in dsc file
  DynamicTablesPkg: Disable deprecated APIs

 DynamicTablesPkg/DynamicTablesPkg.dsc | 92 ++--
 1 file changed, 48 insertions(+), 44 deletions(-)

-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v1 1/2] DynamicTablesPkg: Fix line endings in dsc file

2019-03-26 Thread Sami Mujawar
Changed the line endings to DOS line endings for
DynamicTablesPkg/DynamicTablesPkg.dsc

Cc: Alexei Fedorov 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 
---
 DynamicTablesPkg/DynamicTablesPkg.dsc | 88 ++--
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/DynamicTablesPkg/DynamicTablesPkg.dsc 
b/DynamicTablesPkg/DynamicTablesPkg.dsc
index 
f71120c2d359d715b8046b170025fe530387b6a8..a66bba976ccdf5ced9213eb464f3ac8f6fd52da4
 100644
--- a/DynamicTablesPkg/DynamicTablesPkg.dsc
+++ b/DynamicTablesPkg/DynamicTablesPkg.dsc
@@ -1,44 +1,44 @@
-## @file
-#  Dsc file for Dynamic Tables Framework.
-#
-#  Copyright (c) 2019, 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]
-  PLATFORM_NAME  = DynamicTables
-  PLATFORM_GUID  = f39096a0-7a0a-442a-9413-cf584ef80cbb
-  PLATFORM_VERSION   = 0.1
-  DSC_SPECIFICATION  = 0x0001001a
-  OUTPUT_DIRECTORY   = Build/DynamicTables
-  SUPPORTED_ARCHITECTURES= ARM|AARCH64
-  BUILD_TARGETS  = DEBUG|RELEASE|NOOPT
-  SKUID_IDENTIFIER   = DEFAULT
-
-!include DynamicTables.dsc.inc
-
-[LibraryClasses]
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-
-[LibraryClasses.ARM, LibraryClasses.AARCH64]
-  PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
-
-[Components.common]
-  DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf
+## @file
+#  Dsc file for Dynamic Tables Framework.
+#
+#  Copyright (c) 2019, 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]
+  PLATFORM_NAME  = DynamicTables
+  PLATFORM_GUID  = f39096a0-7a0a-442a-9413-cf584ef80cbb
+  PLATFORM_VERSION   = 0.1
+  DSC_SPECIFICATION  = 0x0001001a
+  OUTPUT_DIRECTORY   = Build/DynamicTables
+  SUPPORTED_ARCHITECTURES= ARM|AARCH64
+  BUILD_TARGETS  = DEBUG|RELEASE|NOOPT
+  SKUID_IDENTIFIER   = DEFAULT
+
+!include DynamicTables.dsc.inc
+
+[LibraryClasses]
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
+  
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+  
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
+  
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
+
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+  PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
+
+[Components.common]
+  DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v1 2/2] DynamicTablesPkg: Disable deprecated APIs

2019-03-26 Thread Sami Mujawar
Add the DISABLE_NEW_DEPRECATED_INTERFACES macro to
the DynamicTablesPkg package build flags to disable
deprecated APIs.

Cc: Alexei Fedorov 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar 
---
 DynamicTablesPkg/DynamicTablesPkg.dsc | 4 
 1 file changed, 4 insertions(+)

diff --git a/DynamicTablesPkg/DynamicTablesPkg.dsc 
b/DynamicTablesPkg/DynamicTablesPkg.dsc
index 
a66bba976ccdf5ced9213eb464f3ac8f6fd52da4..b9236fd63fdd3c53b2146fc256bc56d4a70eeaa4
 100644
--- a/DynamicTablesPkg/DynamicTablesPkg.dsc
+++ b/DynamicTablesPkg/DynamicTablesPkg.dsc
@@ -2,6 +2,7 @@
 #  Dsc file for Dynamic Tables Framework.
 #
 #  Copyright (c) 2019, Linaro Limited. All rights reserved.
+#  Copyright (c) 2019, 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
@@ -42,3 +43,6 @@ [LibraryClasses.ARM, LibraryClasses.AARCH64]
 
 [Components.common]
   DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf
+
+[BuildOptions]
+  *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v1 1/2] DynamicTablesPkg: Fix line endings in dsc file

2019-03-26 Thread Leif Lindholm
On Tue, Mar 26, 2019 at 06:44:38PM +, Sami Mujawar wrote:
> Changed the line endings to DOS line endings for
> DynamicTablesPkg/DynamicTablesPkg.dsc

Ah, yes, good old SMTP stripping CR.

I have a stupid script in my uefi-tools repo that I use to
line-convert patches from mailing lists.
https://git.linaro.org/uefi/uefi-tools.git/tree/edk2-to-git-am.sh

I'll remember to put any future sets to you on a branch, as you
helpfully do for me.

Reviewed-by: Leif Lindholm 

> Cc: Alexei Fedorov 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Sami Mujawar 
> ---
>  DynamicTablesPkg/DynamicTablesPkg.dsc | 88 ++--
>  1 file changed, 44 insertions(+), 44 deletions(-)
> 
> diff --git a/DynamicTablesPkg/DynamicTablesPkg.dsc 
> b/DynamicTablesPkg/DynamicTablesPkg.dsc
> index 
> f71120c2d359d715b8046b170025fe530387b6a8..a66bba976ccdf5ced9213eb464f3ac8f6fd52da4
>  100644
> --- a/DynamicTablesPkg/DynamicTablesPkg.dsc
> +++ b/DynamicTablesPkg/DynamicTablesPkg.dsc
> @@ -1,44 +1,44 @@
> -## @file
> -#  Dsc file for Dynamic Tables Framework.
> -#
> -#  Copyright (c) 2019, 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]
> -  PLATFORM_NAME  = DynamicTables
> -  PLATFORM_GUID  = f39096a0-7a0a-442a-9413-cf584ef80cbb
> -  PLATFORM_VERSION   = 0.1
> -  DSC_SPECIFICATION  = 0x0001001a
> -  OUTPUT_DIRECTORY   = Build/DynamicTables
> -  SUPPORTED_ARCHITECTURES= ARM|AARCH64
> -  BUILD_TARGETS  = DEBUG|RELEASE|NOOPT
> -  SKUID_IDENTIFIER   = DEFAULT
> -
> -!include DynamicTables.dsc.inc
> -
> -[LibraryClasses]
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -  
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -  
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
> -  
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
> -
> -[LibraryClasses.ARM, LibraryClasses.AARCH64]
> -  PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
> -
> -[Components.common]
> -  DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf
> +## @file
> +#  Dsc file for Dynamic Tables Framework.
> +#
> +#  Copyright (c) 2019, 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]
> +  PLATFORM_NAME  = DynamicTables
> +  PLATFORM_GUID  = f39096a0-7a0a-442a-9413-cf584ef80cbb
> +  PLATFORM_VERSION   = 0.1
> +  DSC_SPECIFICATION  = 0x0001001a
> +  OUTPUT_DIRECTORY   = Build/DynamicTables
> +  SUPPORTED_ARCHITECTURES= ARM|AARCH64
> +  BUILD_TARGETS  = DEBUG|RELEASE|NOOPT
> +  SKUID_IDENTIFIER   = DEFAULT
> +
> +!include DynamicTables.dsc.inc
> +
> +[LibraryClasses]
> +  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> +  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> +  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> +  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> +  
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> +  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> +  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> +  
> UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
> +  
> UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
> +
> +[LibraryClasses.ARM, LibraryClasses.AARCH64]
> +  PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
> +
> +[Components.common]
> +  DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf
> -- 
> 'Gu

Re: [edk2] [PATCH V2] Change EDK II to BSD+Patent License

2019-03-26 Thread Leif Lindholm
On Tue, Mar 26, 2019 at 06:21:43PM +, Kinney, Michael D wrote:
> Hi Leif,
> 
> Thanks for the reviews.  Responses below.
> 
> Mike
> 
> > -Original Message-
> > From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
> > Sent: Tuesday, March 26, 2019 11:09 AM
> > To: Kinney, Michael D 
> > Cc: edk2-devel@lists.01.org
> > Subject: Re: [edk2] [PATCH V2] Change EDK II to
> > BSD+Patent License
> > 
> > Hi Mike,
> > 
> > First of all - now the March table tag was made (and I'm
> > back from
> > holiday), I had planned to do the move of BeagleBoardPkg
> > and
> > Omap35xxPkg to edk2-platforms.
> > 
> > Would you prefer me to put that on hold, or should we
> > drop those
> > changes from this set and worry about those if/when we
> > get around to
> > relicensing edk2-platforms too?
> 
> I do not have a strong opinion on when those packages
> move to edk2-platforms.
> 
> I am holding off on other package moves I am involved in
> until after the license change.
> 
> > 
> > For the changes to ArmPkg, ArmPlatformPkg, EmbeddedPkg(,
> > BeagleBoardPkg, Omap35xxPkg):
> > Reviewed-by: Leif Lindholm 
> > 
> 
> Thank you!
> 
> > For the changes to edk2:
> > License.txt - could the commit message describe where
> > the new text is
> >   from (as an implicit way of explaining why the
> >   layout/bulleting has changed in the portion
> > that is
> >   otherwise content-wise identical)?
> 
> I do not follow what you want updated here.  Which 
> commit and what would you like the message changed to?

Right, I could have been more clear. The patch in question is
"edk2: Change License.txt from 2-Clause BSD to BSD+Patent"

I'm referring to the fact that a diff between
https://opensource.org/licenses/BSD-2-Clause and
https://opensource.org/licenses/BSDplusPatent
shows substantially less than this patch does - for layout and
bulleting format reasons.

So, as a clarification regarding why the diff appears greater than the
actual difference between the licenses (which would simply be an
insertion), you could note in the commit message that the .

(An alternative course of action would be to insert a preceding patch
aligning the layout and bulleting format of License.txt with the
opensource.org version.)

> > - (I'm sorry, I should just keep quiet,
> > but...)
> >   The copyright lines at the top of the
> > Licence.txt file
> >   have been bugging me since day 1. Can we
> > drop them?
> >   Clearly none of these organisations hold
> > copyright over
> >   either the old or the new license.
> > 
> 
> The copyrights at the top of that file were inherited
> from the packages when License.txt used to be in each
> package.  If you think it is appropriate to remove them
> I am happy to do that as part of this series.  Does the
> same comment apply to License.txt in OvmfPkg?

I think I could use input from Laszlo here, but looking at other
BSD-licensed projects, they tend to have the LICENSE/COPYING/whatever
file contain a row referring to the project/foundation. Which I guess
in our case would be TianoCore. Some also add "and contributors" to
that one line.

(If including the statement in the top-level file is necessary,
"TianoCore and contributors" certainly sounds the most appropriate to
me.)

The way top-level Licence.txt has been used so far has ... given the
impression it was intended to be used as shorthand for identifying all
copyrights held within the project (and their dates). Which I don't
think is actually very useful.

> > I'll just add that my wording for the Signed-off-by was
> > just a
> > meant as a starting point and I'd be happy to see it
> > improved.
> 
> Please let me know if you have any suggestions here.

Well, I just feel it could do with some review. It's not *wrong* or
anything.

Regards,

Leif

> > 
> > But from my end, all edk2: patches other than
> > "edk2: Change License.txt from 2-Clause BSD to
> > BSD+Patent":
> > Reviewed-by: Leif Lindholm 
> > 
> > /
> > Leif
> > 
> > On Sat, Mar 23, 2019 at 02:25:15AM +, Kinney,
> > Michael D wrote:
> > > Hello,
> > >
> > > New in V2
> > > =
> > > * Remove Cc lines from commit messages
> > > * Remove branch reference from commit messages
> > > * Change license in 2 files missed in OvmfPkg
> > > * Update OvmfPkg/License.txt to BSD+Patent as the
> > default license
> > > * Move the portions of Contributions.txt in the root
> > of edk2 to
> > >   Readme.md in the root of edk2 that describe how to
> > contribute
> > >   along with the commit message format.
> > > * Add to Readme.md in the root of edk2 that Signed-
> > off-by means that
> > >   the contributor certifies compliance to the
> > Developer's Certificate
> > >   of Origin 1.1.  https://developercertificate.org
> > > =
> > >
> > > BZ:
> > https://bugzilla.tianocore.org/show_bug.cgi?id=1373
> > >
> > > This change is based on the following emails:
> > >   https://lists.01.org/pipermail/edk2-devel/2019-
> > Febr

Re: [edk2] [PATCH edk2-platforms v1 0/4] Platform/ARM: Updates corresponding to Dynamic Tables Framework changes

2019-03-26 Thread Leif Lindholm
On Thu, Feb 21, 2019 at 06:15:21PM +, Sami Mujawar wrote:
> The Dynamic tables framework has been updated to incorporated a series of
> updates namely:
>   * Resolving DEPEX order for modules.
>   * Removing GIC Distributor ID
> 
> This patch series implement the corresponding changes required in the platform
> Configuration Manager.
> 
> Note: This patch series is dependent on the patch series:
> https://lists.01.org/pipermail/edk2-devel/2019-January/035611.html

Ah, right, so these changes will have to be pushed simultaneously with
the edk2 ones. In that case:
Reviewed-by: Leif Lindholm 

And feel free to push the changes to edk2-platforms for this set yourself.

> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Sami Mujawar 
> 
> The changes can be seen at:
> https://github.com/samimujawar/edk2-platforms/tree/473_dynamic_tables_framework_v1
> 
> The corresponding edk2 code changes can be seen at:
> https://github.com/samimujawar/edk2/tree/473_dynamic_tables_framework_v1
> 
> Sami Mujawar (4):
>   Platform/ARM: Juno: Configuration Manager depex
>   Platform/ARM: FVP: Configuration Manager depex
>   Platform/ARM: FVP: Config Mgr remove GICD ID
>   Platform/ARM: Juno: Config Mgr remove GICD ID
> 
>  
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
>   | 1 -
>  
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
>  | 4 ++--
>  
> Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
>   | 1 -
>  
> Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
>  | 4 ++--
>  4 files changed, 4 insertions(+), 6 deletions(-)
> 
> -- 
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
> 
> 
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH edk2-platforms v4 0/4] Platform/ARM: Platform support for Dynamic Tables Framework

2019-03-26 Thread Leif Lindholm
On Tue, Mar 26, 2019 at 03:23:15PM +, Sami Mujawar wrote:
> Dynamic Tables Framework aims to reduce the amount of effort
> required for porting firmware to new platforms by simplifying
> the generation of firmware tables based on hardware description
> provided by a platform specific component.
> 
> The Dynamic Tables Framework core queries the platform specific
> component to retrieve the required hardware information for
> generating standardised firmware tables at run-time.
> 
> The platform specific component responsible for collating the
> hardware information is called the Configuration Manager.
> 
> This patch series introduce the Configuration Manager that
> provides the hardware description to Dynamic Tables Framework.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Sami Mujawar 
> 
> The changes can be seen at:
> https://github.com/samimujawar/edk2-platforms/tree/365_dynamic_tables_framework_v4

For the series:
Reviewed-by: Leif Lindholm 

Pushed as 89f6901df0..8cb8080438.

/
Leif

> This v4 patch series incorporates:
>   * Updates based on review comments to sort #include files and .inf sections
> in alphabetical order.
> 
> Patches updated in this series are:
>   - Platform/ARM: Configuration Manager for Juno
>   - Platform/ARM: Configuration Manager for FVP
> 
> The corresponding edk2 code changes can be seen at:
> https://github.com/samimujawar/edk2/tree/365_dynamic_tables_framework_v2
> 
> Sami Mujawar (4):
>   Platform/ARM: Configuration Manager for Juno
>   Platform/ARM: Dynamic Tables support for Juno
>   Platform/ARM: Configuration Manager for FVP
>   Platform/ARM: Dynamic Tables support for FVP
> 
>  Platform/ARM/JunoPkg/ArmJuno.dsc 
>  |  12 +-
>  Platform/ARM/JunoPkg/ArmJuno.fdf 
>  |  12 +
>  Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc   
>  |  29 +
>  
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
>   | 750 
>  
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
>   | 179 +
>  
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
>  |  87 +++
>  Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h 
>  |  99 +++
>  Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl  
>  | 276 +++
>  
> Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
>|  45 ++
>  
> Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtJunoUsb.asl
> | 123 
>  Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtPci.asl   
>  | 201 ++
>  Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtUart.asl  
>  |  48 ++
>  Platform/ARM/JunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c 
>  |   9 +-
>  Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc 
>  |  15 +
>  Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.fdf 
>  |  16 +-
>  Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc   
>  |  31 +
>  
> Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
>   | 682 ++
>  
> Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
>   | 181 +
>  
> Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
>  |  80 +++
>  
> Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h
>   |  99 +++
>  Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl  
>  |  73 ++
>  
> Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
>|  35 +
>  22 files changed, 3077 insertions(+), 5 deletions(-)
>  create mode 100644 
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
>  create mode 100644 
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
>  create mode 100644 
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
>  create mode 100644 
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
>  create mode 100644 
> Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/Platform.h
>  create mode 100644 
> Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
>  create mode 100644 
> Platform/ARM/JunoPkg/Co

Re: [edk2] [RFC PATCH] MdeModulePkg: add LockBoxNullLib for !IA32/X64 in .dsc

2019-03-26 Thread Leif Lindholm
On Mon, Mar 25, 2019 at 02:17:05AM +, Wu, Hao A wrote:
> > My original version is my preferred way of addressing the immediate
> > problem though, mainly to keep the separate .EBC section.
> 
> Got it.
> Do you want me to help to push the patch?

If you could, that would be appreciated.

Best Regards,

Leif
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH edk2-platforms] Platform/Hisilicon: update D06 system firmware description

2019-03-26 Thread Leif Lindholm
Since the D06 port now depends on updated IMP firmware to function
properly, there needs to be a one-way upgrade path. Upgrade to the
current state of things must happen via .hpm. Subsequent capsule updates
cannot be permitted to go below this version.

So update the firmware descriptor to Version: 3 and
LowestSupportedFirmwareVersion: 3.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm 
---

Ming: I would also be cherry-picking this patch into RPF 19.03.

 
Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
 
b/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
index 36175338dd..1287dfd834 100644
--- 
a/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
+++ 
b/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
@@ -22,9 +22,9 @@
 #define PACKAGE_VERSION 0x
 #define PACKAGE_VERSION_STRING  L"Unknown"
 
-#define CURRENT_FIRMWARE_VERSION0x0002
-#define CURRENT_FIRMWARE_VERSION_STRING L"0x0002"
-#define LOWEST_SUPPORTED_FIRMWARE_VERSION   0x0001
+#define CURRENT_FIRMWARE_VERSION0x0003
+#define CURRENT_FIRMWARE_VERSION_STRING L"0x0003"
+#define LOWEST_SUPPORTED_FIRMWARE_VERSION   0x0003
 
 #define IMAGE_IDSIGNATURE_64('H','W','A', 'R', 
'M', '_', 'F', 'd')
 #define IMAGE_ID_STRING L"ARMPlatformFd"
-- 
2.11.0

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Wu, Hao A
> -Original Message-
> From: Laszlo Ersek [mailto:ler...@redhat.com]
> Sent: Tuesday, March 26, 2019 11:15 PM
> To: Wu, Hao A
> Cc: Anthony PERARD; Justen, Jordan L; edk2-devel@lists.01.org; Julien Grall
> Subject: Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within
> IntelFrameworkModulePkg
> 
> Hi Hao,
> 
> On 03/26/19 16:01, Laszlo Ersek wrote:
> > On 03/26/19 14:03, Anthony PERARD wrote:
> >> On Mon, Mar 25, 2019 at 12:29:25PM +0100, Laszlo Ersek wrote:
> >>> (4) Julien, Anthony: can you please fetch this series (github URL at the
> >>> top) and see if the PS/2 keyboard, and the serial port, still work on
> >>> Xen, to interact e.g. with the UEFI shell?
> >>
> >> Yes, I can still interact with the UEFI shell with this series applied,
> >> both via the console and via VNC (which uses respectively the serial
> >> port and PS/2 I think).
> >
> > Thank you -- can you please follow up with a Tested-by, or do you prefer
> > if I push the set without it?
> 
> ... actually, I just realize that you can push this series just fine,
> after Anthony's answer -- so please excuse my confusing comment; I'll of
> course let you push the series.

Hello Laszlo,

Sure, I will push the series.

But one thing to confirm, for patch 2/3, it only got a couple of 'Ack'
tags and a 'Tested-by' tag. I am not sure if this meets the criteria for
pushing.

Best Regards,
Hao Wu

> 
> Thanks
> Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [RFC PATCH] MdeModulePkg: add LockBoxNullLib for !IA32/X64 in .dsc

2019-03-26 Thread Wu, Hao A
> -Original Message-
> From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
> Sent: Wednesday, March 27, 2019 3:43 AM
> To: Wu, Hao A
> Cc: Zeng, Star; Laszlo Ersek; edk2-devel@lists.01.org;
> ard.biesheu...@linaro.org; Wang, Jian J; Ni, Ray; Andrew Fish; Kinney, Michael
> D
> Subject: Re: [RFC PATCH] MdeModulePkg: add LockBoxNullLib for !IA32/X64
> in .dsc
> 
> On Mon, Mar 25, 2019 at 02:17:05AM +, Wu, Hao A wrote:
> > > My original version is my preferred way of addressing the immediate
> > > problem though, mainly to keep the separate .EBC section.
> >
> > Got it.
> > Do you want me to help to push the patch?
> 
> If you could, that would be appreciated.

Hello Leif,

Pushed at commit:
4a1f6b85c184eecab22df88312a207f5e0ea4264

Thanks for the patch.

Best Regards,
Hao Wu

> 
> Best Regards,
> 
> Leif
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH V4 08/17] ArmPkg/SemiHostingDebugLib: Add new APIs

2019-03-26 Thread Gao, Zhichao
Thanks for your reply.
The variable "mVaListNull" I prefer to keep it as a module data even though 
there is only one source file in this DebugLib inf.

Thanks,
Zhichao

> -Original Message-
> From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
> Sent: Tuesday, March 26, 2019 8:19 PM
> To: Gao, Zhichao 
> Cc: edk2-devel@lists.01.org; Ard Biesheuvel ;
> Gao, Liming ; Sean Brogan
> ; Michael Turner
> ; Bret Barkelew
> 
> Subject: Re: [PATCH V4 08/17] ArmPkg/SemiHostingDebugLib: Add new APIs
> 
> Hi Zhichao,
> 
> Apologies for delay in responding, due to holiday and stuff.
> 
> On the whole this looks fine (one comment below), but I don't actually have
> any platform on which to test this.
> 
> Ard: maybe it's time to retire this component?
> 
> On Thu, Mar 21, 2019 at 10:04:50PM +0800, Zhichao Gao wrote:
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
> >
> > Add new APIs' implementation (DebugVPrint, DebugBPrint) in the
> > DebugLib instance. These APIs would expose print routines with VaList
> > parameter and BaseList parameter.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Zhichao Gao 
> > Cc: Leif Lindholm 
> > Cc: Ard Biesheuvel 
> > Cc: Liming Gao 
> > Cc: Sean Brogan 
> > Cc: Michael Turner 
> > Cc: Bret Barkelew 
> > ---
> >  ArmPkg/Library/SemiHostingDebugLib/DebugLib.c | 106
> > --
> >  1 file changed, 101 insertions(+), 5 deletions(-)
> >
> > diff --git a/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> > b/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> > index ec03edb774..a368dd43b8 100644
> > --- a/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> > +++ b/ArmPkg/Library/SemiHostingDebugLib/DebugLib.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >UEFI Debug Library that uses PrintLib to send messages to STDERR.
> >
> > -  Copyright (c) 2006 - 2007, Intel Corporation. All rights
> > reserved.
> > +  Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > + reserved.
> >Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
> >This program and the accompanying materials
> >are licensed and made available under the terms and conditions of
> > the BSD License @@ -27,6 +27,12 @@  //  #define
> > MAX_DEBUG_MESSAGE_LENGTH  0x100
> >
> > +//
> > +// VA_LIST can not initialize to NULL for all compiler, so we use
> > +this to // indicate a null VA_LIST //
> > +VA_LIST mVaListNull;
> 
> I would prefer if this was marked STATIC.
> 
> If you feel strongly otherwise, leave it as is.
> Either way:
> Reviewed-by: Leif Lindholm 
> 
> /
> Leif
> 
> > +
> >  /**
> >
> >Prints a debug message to the debug output device if the specified error
> level is enabled.
> > @@ -48,9 +54,41 @@ DebugPrint (
> >IN  CONST CHAR8  *Format,
> >...
> >)
> > +{
> > +  VA_LIST Marker;
> > +
> > +  VA_START (Marker, Format);
> > +  DebugVPrint (ErrorLevel, Format, Marker);
> > +  VA_END (Marker);
> > +}
> > +
> > +
> > +/**
> > +  Prints a debug message to the debug output device if the specified
> > +  error level is enabled base on Null-terminated format string and a
> > +  VA_LIST argument list or a BASE_LIST argument list.
> > +
> > +  If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib
> > + function  GetDebugPrintErrorLevel (), then print the message
> > + specified by Format and  the associated variable argument list to the
> debug output device.
> > +
> > +  If Format is NULL, then ASSERT().
> > +
> > +  @param  ErrorLevel  The error level of the debug message.
> > +  @param  Format  Format string for the debug message to print.
> > +  @param  VaListMarkerVA_LIST marker for the variable argument list.
> > +  @param  BaseListMarker  BASE_LIST marker for the variable argument
> list.
> > +
> > +**/
> > +VOID
> > +DebugPrintMarker (
> > +  IN  UINTN ErrorLevel,
> > +  IN  CONST CHAR8   *Format,
> > +  IN  VA_LIST   VaListMarker,
> > +  IN  BASE_LIST BaseListMarker
> > +  )
> >  {
> >CHAR8AsciiBuffer[MAX_DEBUG_MESSAGE_LENGTH];
> > -  VA_LIST  Marker;
> >
> >//
> >// If Format is NULL, then ASSERT().
> > @@ -67,14 +105,72 @@ DebugPrint (
> >//
> >// Convert the DEBUG() message to a Unicode String
> >//
> > -  VA_START (Marker, Format);
> > -  AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format, Marker);
> > -  VA_END (Marker);
> > +  if (BaseListMarker == NULL) {
> > +AsciiVSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format,
> > + VaListMarker);  } else {
> > +AsciiBSPrint (AsciiBuffer, sizeof (AsciiBuffer), Format,
> > + BaseListMarker);  }
> >
> >SemihostWriteString (AsciiBuffer);
> >  }
> >
> >
> > +/**
> > +  Prints a debug message to the debug output device if the specified
> > +  error level is enabled.
> > +
> > +  If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib
> > + function  GetDebugPrintErrorLevel (), then print the message
> > + specified by Format and  the associated variable argum

Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Laszlo Ersek
On 03/27/19 01:20, Wu, Hao A wrote:
>> -Original Message-
>> From: Laszlo Ersek [mailto:ler...@redhat.com]
>> Sent: Tuesday, March 26, 2019 11:15 PM
>> To: Wu, Hao A
>> Cc: Anthony PERARD; Justen, Jordan L; edk2-devel@lists.01.org; Julien Grall
>> Subject: Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within
>> IntelFrameworkModulePkg
>>
>> Hi Hao,
>>
>> On 03/26/19 16:01, Laszlo Ersek wrote:
>>> On 03/26/19 14:03, Anthony PERARD wrote:
 On Mon, Mar 25, 2019 at 12:29:25PM +0100, Laszlo Ersek wrote:
> (4) Julien, Anthony: can you please fetch this series (github URL at the
> top) and see if the PS/2 keyboard, and the serial port, still work on
> Xen, to interact e.g. with the UEFI shell?

 Yes, I can still interact with the UEFI shell with this series applied,
 both via the console and via VNC (which uses respectively the serial
 port and PS/2 I think).
>>>
>>> Thank you -- can you please follow up with a Tested-by, or do you prefer
>>> if I push the set without it?
>>
>> ... actually, I just realize that you can push this series just fine,
>> after Anthony's answer -- so please excuse my confusing comment; I'll of
>> course let you push the series.
> 
> Hello Laszlo,
> 
> Sure, I will push the series.
> 
> But one thing to confirm, for patch 2/3, it only got a couple of 'Ack'
> tags and a 'Tested-by' tag. I am not sure if this meets the criteria for
> pushing.

Yes, if you get an Acked-by from at least one "M" person for the package
(and no open questions remain), that's sufficient. For edk2, my
interpretation of "Acked-by" is: "although I haven't reviewed in detail,
I agree/approve".

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] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg

2019-03-26 Thread Wu, Hao A
> -Original Message-
> From: Laszlo Ersek [mailto:ler...@redhat.com]
> Sent: Wednesday, March 27, 2019 11:37 AM
> To: Wu, Hao A
> Cc: Anthony PERARD; Justen, Jordan L; edk2-devel@lists.01.org; Julien Grall
> Subject: Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within
> IntelFrameworkModulePkg
> 
> On 03/27/19 01:20, Wu, Hao A wrote:
> >> -Original Message-
> >> From: Laszlo Ersek [mailto:ler...@redhat.com]
> >> Sent: Tuesday, March 26, 2019 11:15 PM
> >> To: Wu, Hao A
> >> Cc: Anthony PERARD; Justen, Jordan L; edk2-devel@lists.01.org; Julien Grall
> >> Subject: Re: [edk2] [PATCH v2 0/3] Ovmf: Stop using ISA drivers within
> >> IntelFrameworkModulePkg
> >>
> >> Hi Hao,
> >>
> >> On 03/26/19 16:01, Laszlo Ersek wrote:
> >>> On 03/26/19 14:03, Anthony PERARD wrote:
>  On Mon, Mar 25, 2019 at 12:29:25PM +0100, Laszlo Ersek wrote:
> > (4) Julien, Anthony: can you please fetch this series (github URL at the
> > top) and see if the PS/2 keyboard, and the serial port, still work on
> > Xen, to interact e.g. with the UEFI shell?
> 
>  Yes, I can still interact with the UEFI shell with this series applied,
>  both via the console and via VNC (which uses respectively the serial
>  port and PS/2 I think).
> >>>
> >>> Thank you -- can you please follow up with a Tested-by, or do you prefer
> >>> if I push the set without it?
> >>
> >> ... actually, I just realize that you can push this series just fine,
> >> after Anthony's answer -- so please excuse my confusing comment; I'll of
> >> course let you push the series.
> >
> > Hello Laszlo,
> >
> > Sure, I will push the series.
> >
> > But one thing to confirm, for patch 2/3, it only got a couple of 'Ack'
> > tags and a 'Tested-by' tag. I am not sure if this meets the criteria for
> > pushing.
> 
> Yes, if you get an Acked-by from at least one "M" person for the package
> (and no open questions remain), that's sufficient. For edk2, my
> interpretation of "Acked-by" is: "although I haven't reviewed in detail,
> I agree/approve".

Got it.

Thanks all for the feedbacks and review/test effort.

Series has been pushed via commits:
c455bc8c8d..a068102296

Best Regards,
Hao Wu

> 
> Thanks,
> Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH edk2-platforms] Platform/Hisilicon: update D06 system firmware description

2019-03-26 Thread Ard Biesheuvel
On Tue, 26 Mar 2019 at 21:22, Leif Lindholm  wrote:
>
> Since the D06 port now depends on updated IMP firmware to function
> properly, there needs to be a one-way upgrade path. Upgrade to the
> current state of things must happen via .hpm. Subsequent capsule updates
> cannot be permitted to go below this version.
>
> So update the firmware descriptor to Version: 3 and
> LowestSupportedFirmwareVersion: 3.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Leif Lindholm 

Acked-by: Ard Biesheuvel 

> ---
>
> Ming: I would also be cherry-picking this patch into RPF 19.03.
>
>  
> Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
>  | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git 
> a/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
>  
> b/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
> index 36175338dd..1287dfd834 100644
> --- 
> a/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
> +++ 
> b/Platform/Hisilicon/D06/Drivers/SystemFirmwareDescriptor/SystemFirmwareDescriptor.aslc
> @@ -22,9 +22,9 @@
>  #define PACKAGE_VERSION 0x
>  #define PACKAGE_VERSION_STRING  L"Unknown"
>
> -#define CURRENT_FIRMWARE_VERSION0x0002
> -#define CURRENT_FIRMWARE_VERSION_STRING L"0x0002"
> -#define LOWEST_SUPPORTED_FIRMWARE_VERSION   0x0001
> +#define CURRENT_FIRMWARE_VERSION0x0003
> +#define CURRENT_FIRMWARE_VERSION_STRING L"0x0003"
> +#define LOWEST_SUPPORTED_FIRMWARE_VERSION   0x0003
>
>  #define IMAGE_IDSIGNATURE_64('H','W','A', 'R', 
> 'M', '_', 'F', 'd')
>  #define IMAGE_ID_STRING L"ARMPlatformFd"
> --
> 2.11.0
>
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel