Hi Mike,

Thank you, that is great news!

Cheers,
Tom

On 20/03/2019 20:00, Kinney, Michael D wrote:
> Hi Tomas,
>
> Thanks for the contribution.  I agree we need this feature.
> We have been working on updates to GenerateCapsule that
> add support for one or more embedded drivers and multiple
> payloads and the option to provide all the configuration
> information in a JSON file.  It also extends decode
> and dumpinfo to show the embedded drivers.  We will post
> patch with all those features very soon.
>
> Thanks,
>
> Mike
>
>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org]
>> On Behalf Of Tomas Pilar (tpilar)
>> Sent: Wednesday, March 20, 2019 10:18 AM
>> To: edk2-devel@lists.01.org
>> Subject: [edk2] [PATCH] BaseTools: Add embedded driver
>> support to GenerateCapsule.py
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Tomas Pilar <tpi...@solarflare.com>
>> ---
>>  .../Source/Python/Capsule/GenerateCapsule.py  | 25
>> ++++++++++++++++---
>>  1 file changed, 22 insertions(+), 3 deletions(-)
>>
>> diff --git
>> a/BaseTools/Source/Python/Capsule/GenerateCapsule.py
>> b/BaseTools/Source/Python/Capsule/GenerateCapsule.py
>> index 7b08918857..4b275b092b 100644
>> --- a/BaseTools/Source/Python/Capsule/GenerateCapsule.py
>> +++ b/BaseTools/Source/Python/Capsule/GenerateCapsule.py
>> @@ -9,8 +9,7 @@
>>  # system firmware or device firmware for integrated
>> devices.  In order to
>>  # keep the tool as simple as possible, it has the
>> following limitations:
>>  #   * Do not support multiple payloads in a capsule.
>> -#   * Do not support optional drivers in a capsule.
>> -#   * Do not support vendor code bytes in a capsule.
>> +#   * Support at most one optional driver in a capsule.
>>  #
>>  # Copyright (c) 2018, Intel Corporation. All rights
>> reserved.<BR>
>>  # This program and the accompanying materials
>> @@ -236,6 +235,12 @@ if __name__ == '__main__':
>>                          help = "Input binary payload
>> filename.")
>>      parser.add_argument("-o", "--output", dest =
>> 'OutputFile', type = argparse.FileType('wb'),
>>                          help = "Output filename.")
>> +
>> +    #
>> +    # Add optional embedded driver and vendor code
>> arguments
>> +    #
>> +    parser.add_argument("--driver", dest = 'Driver',
>> type = argparse.FileType('rb'),
>> +                        help = "Input binary embedded
>> driver to package alongside the image")
>>      #
>>      # Add group for -e and -d flags that are mutually
>> exclusive and required
>>      #
>> @@ -355,7 +360,7 @@ if __name__ == '__main__':
>>              parser.error ('the following option is not
>> supported for dumpinfo operations: --output')
>>
>>      #
>> -    # Read binary input file
>> +    # Read binary input files
>>      #
>>      try:
>>          if args.Verbose:
>> @@ -366,6 +371,17 @@ if __name__ == '__main__':
>>          print ('GenerateCapsule: error: can not read
>> binary input file {File}'.format (File =
>> args.InputFile.name))
>>          sys.exit (1)
>>
>> +    DriverBuffer = b''
>> +    if args.Driver:
>> +        try:
>> +            if args.Verbose:
>> +                print ('Read binary embedded driver
>> {File}'.format (File = args.Driver.name))
>> +            DriverBuffer = args.Driver.read ()
>> +            args.Driver.close ()
>> +        except:
>> +            print ('GenerateCapsule: error: can not read
>> supplied binary embedded driver file {File}'.format (File
>> = args.Driver.name))
>> +            sys.exit (1)
>> +
>>      #
>>      # Create objects
>>      #
>> @@ -423,6 +439,9 @@ if __name__ == '__main__':
>>
>>          try:
>>              FmpCapsuleHeader.AddPayload (args.Guid,
>> Result, HardwareInstance = args.HardwareInstance)
>> +            if args.Driver:
>> +
>> FmpCapsuleHeader.AddEmbeddedDriver(DriverBuffer)
>> +
>>              Result = FmpCapsuleHeader.Encode ()
>>              if args.Verbose:
>>                  FmpCapsuleHeader.DumpInfo ()
>> --
>> 2.17.2
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel

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

Reply via email to