public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Liming" <liming.gao@intel.com>
To: "Song, BinX" <binx.song@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support
Date: Mon, 27 Mar 2017 03:15:02 +0000	[thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14D702B64@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <559D2DF22BC9A3468B4FA1AA547F0EF10254603B@shsmsx102.ccr.corp.intel.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Song, BinX
>Sent: Thursday, March 23, 2017 2:05 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: RE: [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm
>support
>
>Hi All,
>
>The code is also in https://github.com/binxsong/edk2/tree/Brotli_V1
>
>Best Regards,
>Bell Song
>
>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>Song,
>> BinX
>> Sent: Thursday, March 23, 2017 10:16 AM
>> To: edk2-devel@lists.01.org
>> Cc: Gao, Liming <liming.gao@intel.com>
>> Subject: [edk2] [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli
>algorithm
>> support
>>
>> Brotli algorithm was released on the website
>https://github.com/google/brotli.
>> It has a little less compress ratio than Lzma, but has better decompress
>> performance than it.
>> Add Brotli algorithm support, include Brotli decompression library and tool
>set.
>>
>> Tested on:
>> OS: Windows
>> Arch: IA32/X64
>> Platform: Nt32Pkg
>> ToolChain: VS2015x86
>> Target: Release
>>
>> OS: Ubuntu
>> Arch: IA32/X64
>> Platform: OvmfPkgIa32.dsc/OvmfPkgX64.dsc
>> ToolChain: GCC5
>> Target: Release
>>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song <binx.song@intel.com>
>>
>> Bell Song (4):
>>   MdeModulePkg: Copy Brotli algorithm 3rd party source code for library
>>   MdeModulePkg: Add Brotli algorithm decompression library
>>   BaseTools: Copy Brotli algorithm 3rd party source code for tool
>>   BaseTools: Add Brotli algorithm tool
>>
>>  BaseTools/BinWrappers/PosixLike/Brotli             |    29 +
>>  BaseTools/BinWrappers/PosixLike/BrotliCompress     |    42 +
>>  BaseTools/Conf/tools_def.template                  |     6 +
>>  .../Source/C/BrotliCompress/BrotliCompress.bat     |    48 +
>>  BaseTools/Source/C/BrotliCompress/GNUmakefile      |    43 +
>>  BaseTools/Source/C/BrotliCompress/LICENSE          |    19 +
>>  BaseTools/Source/C/BrotliCompress/Makefile         |    60 +
>>  BaseTools/Source/C/BrotliCompress/README.md        |    26 +
>>  BaseTools/Source/C/BrotliCompress/ReadMe.txt       |     2 +
>>  .../Source/C/BrotliCompress/common/constants.h     |    47 +
>>  .../Source/C/BrotliCompress/common/dictionary.c    |  9474
>> ++++++++++++++++
>>  .../Source/C/BrotliCompress/common/dictionary.h    |    29 +
>>  BaseTools/Source/C/BrotliCompress/common/port.h    |   107 +
>>  BaseTools/Source/C/BrotliCompress/common/types.h   |    58 +
>>  BaseTools/Source/C/BrotliCompress/dec/bit_reader.c |    48 +
>>  BaseTools/Source/C/BrotliCompress/dec/bit_reader.h |   383 +
>>  BaseTools/Source/C/BrotliCompress/dec/context.h    |   251 +
>>  BaseTools/Source/C/BrotliCompress/dec/decode.c     |  2347 ++++
>>  BaseTools/Source/C/BrotliCompress/dec/decode.h     |   188 +
>>  BaseTools/Source/C/BrotliCompress/dec/huffman.c    |   357 +
>>  BaseTools/Source/C/BrotliCompress/dec/huffman.h    |    68 +
>>  BaseTools/Source/C/BrotliCompress/dec/port.h       |   159 +
>>  BaseTools/Source/C/BrotliCompress/dec/prefix.h     |   751 ++
>>  BaseTools/Source/C/BrotliCompress/dec/state.c      |   168 +
>>  BaseTools/Source/C/BrotliCompress/dec/state.h      |   246 +
>>  BaseTools/Source/C/BrotliCompress/dec/transform.h  |   300 +
>>  .../docs/brotli-comparison-study-2015-09-22.pdf    |   Bin 0 -> 215208 bytes
>>  .../C/BrotliCompress/enc/backward_references.c     |   892 ++
>>  .../C/BrotliCompress/enc/backward_references.h     |    99 +
>>  .../C/BrotliCompress/enc/backward_references_inc.h |   147 +
>>  BaseTools/Source/C/BrotliCompress/enc/bit_cost.c   |    35 +
>>  BaseTools/Source/C/BrotliCompress/enc/bit_cost.h   |    63 +
>>  .../Source/C/BrotliCompress/enc/bit_cost_inc.h     |   127 +
>>  .../C/BrotliCompress/enc/block_encoder_inc.h       |    33 +
>>  .../Source/C/BrotliCompress/enc/block_splitter.c   |   197 +
>>  .../Source/C/BrotliCompress/enc/block_splitter.h   |    51 +
>>  .../C/BrotliCompress/enc/block_splitter_inc.h      |   432 +
>>  .../C/BrotliCompress/enc/brotli_bit_stream.c       |  1334 +++
>>  .../C/BrotliCompress/enc/brotli_bit_stream.h       |   107 +
>>  BaseTools/Source/C/BrotliCompress/enc/cluster.c    |    56 +
>>  BaseTools/Source/C/BrotliCompress/enc/cluster.h    |    48 +
>>  .../Source/C/BrotliCompress/enc/cluster_inc.h      |   315 +
>>  BaseTools/Source/C/BrotliCompress/enc/command.h    |   163 +
>>  .../C/BrotliCompress/enc/compress_fragment.c       |   747 ++
>>  .../C/BrotliCompress/enc/compress_fragment.h       |    58 +
>>  .../enc/compress_fragment_two_pass.c               |   557 +
>>  .../enc/compress_fragment_two_pass.h               |    51 +
>>  BaseTools/Source/C/BrotliCompress/enc/compressor.h |   161 +
>>  BaseTools/Source/C/BrotliCompress/enc/context.h    |   184 +
>>  .../Source/C/BrotliCompress/enc/dictionary_hash.h  |  4121 +++++++
>>  BaseTools/Source/C/BrotliCompress/enc/encode.c     |  1562 +++
>>  BaseTools/Source/C/BrotliCompress/enc/encode.h     |   221 +
>>  .../Source/C/BrotliCompress/enc/encode_parallel.h  |    27 +
>>  .../Source/C/BrotliCompress/enc/entropy_encode.c   |   501 +
>>  .../Source/C/BrotliCompress/enc/entropy_encode.h   |   122 +
>>  .../C/BrotliCompress/enc/entropy_encode_static.h   |   539 +
>>  BaseTools/Source/C/BrotliCompress/enc/fast_log.h   |   145 +
>>  .../C/BrotliCompress/enc/find_match_length.h       |    80 +
>>  BaseTools/Source/C/BrotliCompress/enc/hash.h       |   717 ++
>>  .../BrotliCompress/enc/hash_forgetful_chain_inc.h  |   249 +
>>  .../C/BrotliCompress/enc/hash_longest_match_inc.h  |   241 +
>>  .../enc/hash_longest_match_quickly_inc.h           |   230 +
>>  BaseTools/Source/C/BrotliCompress/enc/histogram.c  |    95 +
>>  BaseTools/Source/C/BrotliCompress/enc/histogram.h  |    60 +
>>  .../Source/C/BrotliCompress/enc/histogram_inc.h    |    51 +
>>  .../Source/C/BrotliCompress/enc/literal_cost.c     |   178 +
>>  .../Source/C/BrotliCompress/enc/literal_cost.h     |    30 +
>>  BaseTools/Source/C/BrotliCompress/enc/memory.c     |   181 +
>>  BaseTools/Source/C/BrotliCompress/enc/memory.h     |    62 +
>>  BaseTools/Source/C/BrotliCompress/enc/metablock.c  |   515 +
>>  BaseTools/Source/C/BrotliCompress/enc/metablock.h  |   110 +
>>  .../Source/C/BrotliCompress/enc/metablock_inc.h    |   183 +
>>  BaseTools/Source/C/BrotliCompress/enc/port.h       |   168 +
>>  BaseTools/Source/C/BrotliCompress/enc/prefix.h     |    52 +
>>  BaseTools/Source/C/BrotliCompress/enc/quality.h    |   130 +
>>  BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h |   160 +
>>  .../Source/C/BrotliCompress/enc/static_dict.c      |   478 +
>>  .../Source/C/BrotliCompress/enc/static_dict.h      |    37 +
>>  .../Source/C/BrotliCompress/enc/static_dict_lut.h  | 11241
>> +++++++++++++++++++
>>  BaseTools/Source/C/BrotliCompress/enc/streams.h    |   121 +
>>  BaseTools/Source/C/BrotliCompress/enc/utf8_util.c  |    85 +
>>  BaseTools/Source/C/BrotliCompress/enc/utf8_util.h  |    32 +
>>  BaseTools/Source/C/BrotliCompress/enc/write_bits.h |    90 +
>>  BaseTools/Source/C/BrotliCompress/tools/bro.c      |   538 +
>>  BaseTools/Source/C/BrotliCompress/tools/version.h  |    14 +
>>  BaseTools/Source/C/GNUmakefile                     |     1 +
>>  BaseTools/Source/C/Makefile                        |     1 +
>>  .../BrotliCustomDecompressLib.inf                  |    56 +
>>  .../BrotliCustomDecompressLib/BrotliDecompress.c   |   321 +
>>  .../BrotliDecompressLib.uni                        |    21 +
>>  .../BrotliDecompressLibInternal.h                  |    71 +
>>  .../GuidedSectionExtraction.c                      |   196 +
>>  .../Library/BrotliCustomDecompressLib/LICENSE      |    19 +
>>  .../Library/BrotliCustomDecompressLib/README.md    |    26 +
>>  .../Library/BrotliCustomDecompressLib/ReadMe.txt   |     2 +
>>  .../BrotliCustomDecompressLib/common/constants.h   |    47 +
>>  .../BrotliCustomDecompressLib/common/dictionary.c  |  9474
>> ++++++++++++++++
>>  .../BrotliCustomDecompressLib/common/dictionary.h  |    29 +
>>  .../BrotliCustomDecompressLib/common/port.h        |   107 +
>>  .../BrotliCustomDecompressLib/common/types.h       |    72 +
>>  .../BrotliCustomDecompressLib/dec/bit_reader.c     |    48 +
>>  .../BrotliCustomDecompressLib/dec/bit_reader.h     |   384 +
>>  .../BrotliCustomDecompressLib/dec/context.h        |   251 +
>>  .../Library/BrotliCustomDecompressLib/dec/decode.c |  2348 ++++
>>  .../Library/BrotliCustomDecompressLib/dec/decode.h |   188 +
>>  .../BrotliCustomDecompressLib/dec/huffman.c        |   357 +
>>  .../BrotliCustomDecompressLib/dec/huffman.h        |    69 +
>>  .../Library/BrotliCustomDecompressLib/dec/port.h   |   159 +
>>  .../Library/BrotliCustomDecompressLib/dec/prefix.h |   751 ++
>>  .../Library/BrotliCustomDecompressLib/dec/state.c  |   169 +
>>  .../Library/BrotliCustomDecompressLib/dec/state.h  |   246 +
>>  .../BrotliCustomDecompressLib/dec/transform.h      |   300 +
>>  .../docs/brotli-comparison-study-2015-09-22.pdf    |   Bin 0 -> 215208 bytes
>>  MdeModulePkg/MdeModulePkg.dec                      |     3 +
>>  MdeModulePkg/MdeModulePkg.dsc                      |     1 +
>>  115 files changed, 60196 insertions(+)
>>  create mode 100644 BaseTools/BinWrappers/PosixLike/Brotli
>>  create mode 100644 BaseTools/BinWrappers/PosixLike/BrotliCompress
>>  create mode 100644
>BaseTools/Source/C/BrotliCompress/BrotliCompress.bat
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/GNUmakefile
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/LICENSE
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/Makefile
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/README.md
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/ReadMe.txt
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/common/constants.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/common/dictionary.c
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/common/dictionary.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/common/port.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/common/types.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/bit_reader.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/bit_reader.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/context.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/decode.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/decode.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/huffman.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/huffman.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/port.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/prefix.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/state.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/state.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/dec/transform.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/docs/brotli-
>> comparison-study-2015-09-22.pdf
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/backward_references.c
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/backward_references.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/bit_cost.h
>>  create mode 100644
>BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h
>>  create mode 100644
>BaseTools/Source/C/BrotliCompress/enc/block_splitter.c
>>  create mode 100644
>BaseTools/Source/C/BrotliCompress/enc/block_splitter.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/command.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h
>>  create mode 100644
>BaseTools/Source/C/BrotliCompress/enc/compressor.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/context.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/encode.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/encode.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/fast_log.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/find_match_length.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/hash.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h
>>  create mode 100644
>>
>BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/histogram.h
>>  create mode 100644
>BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/literal_cost.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/literal_cost.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/memory.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/memory.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/metablock.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/metablock.h
>>  create mode 100644
>> BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/port.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/prefix.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/quality.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/static_dict.h
>>  create mode 100644
>BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/streams.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/utf8_util.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/utf8_util.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/enc/write_bits.h
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/tools/bro.c
>>  create mode 100644 BaseTools/Source/C/BrotliCompress/tools/version.h
>>  create mode 100644
>>
>MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompre
>ss
>> Lib.inf
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompress.c
>>  create mode 100644
>>
>MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLib.un
>i
>>  create mode 100644
>>
>MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLibInt
>er
>> nal.h
>>  create mode 100644
>>
>MdeModulePkg/Library/BrotliCustomDecompressLib/GuidedSectionExtractio
>n.
>> c
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/README.md
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/ReadMe.txt
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/common/constants.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.c
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/common/port.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/common/types.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.c
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/context.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.c
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.c
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/port.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/prefix.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.c
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/dec/transform.h
>>  create mode 100644
>> MdeModulePkg/Library/BrotliCustomDecompressLib/docs/brotli-
>comparison-
>> study-2015-09-22.pdf
>>
>> --
>> 2.10.2.windows.1
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel


  reply	other threads:[~2017-03-27  3:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-23  2:15 [PATCH 0/4] MdeModulePkg/BaseTools: Add Brotli algorithm support Song, BinX
2017-03-23  6:05 ` Song, BinX
2017-03-27  3:15   ` Gao, Liming [this message]
2017-03-29 21:04     ` Michael Zimmermann
2017-03-30  4:45       ` Gao, Liming
2017-03-30  5:13         ` Michael Zimmermann
2017-03-30  5:21           ` Gao, Liming

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A89E2EF3DFEDB4C8BFDE51014F606A14D702B64@shsmsx102.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox