public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: ritul guru <ritul.bits@gmail.com>
To: "Guo, Gua" <gua.guo@intel.com>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	Mike Maslenkin <mike.maslenkin@gmail.com>
Subject: Re: [edk2-devel] regarding build uefipayload in debug mode in linux
Date: Mon, 6 Feb 2023 23:22:38 +0530	[thread overview]
Message-ID: <CAHHF-2+6qe2NhNtxqiGK=ZNWHuSz1eTKA8brbyE78qT5Sn5yKg@mail.gmail.com> (raw)
In-Reply-To: <CAHHF-2+sLYkyj-h8EqeU_E24DswQVh-L69WH5uFpoUiBQ1yqog@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 16819 bytes --]

is it right? llvm path also need to set?



*Thanks & RegardsRitul Guru+91-9916513186*


On Mon, Feb 6, 2023 at 10:21 PM ritul guru <ritul.bits@gmail.com> wrote:

> PATH=$PATH:/usr/bin/clang
>
> yes, set it as above.
>
>
>
> *Thanks & RegardsRitul Guru+91-9916513186*
>
>
> On Mon, Feb 6, 2023 at 8:43 PM Guo, Gua <gua.guo@intel.com> wrote:
>
>> Do you set clang bin path ?
>>
>>
>>
>> *From:* ritul guru <ritul.bits@gmail.com>
>> *Sent:* Monday, February 6, 2023 11:12 PM
>> *To:* Guo, Gua <gua.guo@intel.com>
>> *Cc:* devel@edk2.groups.io; Mike Maslenkin <mike.maslenkin@gmail.com>
>> *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in
>> linux
>>
>>
>>
>> getting below error:
>>
>>
>>
>> build -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -a IA32 -a X64 -m
>> UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf -t CLANGDWARF -y
>> /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/UefiUniversalPayloadEntry.txt
>>  -D UNIVERSAL_PAYLOAD=TRUE -D CPU_TIMER_LIB_ENABLE=FALSE
>> Build environment:
>> Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-glibc2.29
>> Build start time: 20:37:47, Feb.06 2023
>>
>> WORKSPACE        = /home/a/src/opensource/edk2
>> EDK_TOOLS_PATH   = /home/a/src/opensource/edk2/BaseTools
>> CONF_PATH        = /home/a/src/opensource/edk2/Conf
>> PYTHON_COMMAND   = /usr/bin/python3.8
>>
>>
>> Processing meta-data .
>> Architecture(s)  = IA32 X64
>> Build target     = DEBUG
>> Toolchain        = CLANGDWARF
>>
>> Active Platform          =
>> /home/a/src/opensource/edk2/UefiPayloadPkg/UefiPayloadPkg.dsc
>> Active Module            =
>> /home/a/src/opensource/edk2/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
>> .build: : warning: The PCD was not specified by any INF module in the
>> platform for the given architecture.
>> PCD: [gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister]
>> Platform: [UefiPayloadPkg.dsc]
>> Arch: ['IA32']
>> build: : warning: The PCD was not specified by any INF module in the
>> platform for the given architecture.
>> PCD: [gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister]
>> Platform: [UefiPayloadPkg.dsc]
>> Arch: ['IA32']
>> done!
>> Generating code . done!
>> Generating makefile . done!
>> Building ...
>> /home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
>> [IA32]
>> "clang"  -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall
>> -Werror -Wno-array-bounds -include AutoGen.h -fno-common
>> -ffunction-sections -fdata-sections
>> -DSTRING_ARRAY_NAME=BaseUefiCpuLibStrings -Wno-parentheses-equality
>> -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare
>> -Wno-empty-body -Wno-unused-const-variable -Wno-varargs
>> -Wno-unknown-warning-option -Wno-unused-but-set-variable
>> -Wno-unused-const-variable -Wno-unaligned-access -fno-stack-protector
>> -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas
>> -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables
>> -mno-sse -mno-mmx -msoft-float -mno-implicit-float
>> -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
>> -funsigned-char -fno-ms-extensions -Wno-null-dereference -m32 -Oz -flto
>> -march=i586 -target i686-pc-linux-gnu -g -malign-double -D
>> DISABLE_NEW_DEPRECATED_INTERFACES -c -o
>> /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/./BaseUefiCpuLib.obj
>> -I/home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32
>> -I/home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib
>> -I/home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/DEBUG
>> -I/home/a/src/opensource/edk2/MdePkg
>> -I/home/a/src/opensource/edk2/MdePkg/Include
>> -I/home/a/src/opensource/edk2/MdePkg/Test/UnitTest/Include
>> -I/home/a/src/opensource/edk2/MdePkg/Include/Ia32
>> -I/home/a/src/opensource/edk2/UefiCpuPkg
>> -I/home/a/src/opensource/edk2/UefiCpuPkg/Include
>> /home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c
>> /bin/sh: 1: clang: not found
>> make: *** [GNUmakefile:344:
>> /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/BaseUefiCpuLib.obj]
>> Error 127
>>
>>
>> build.py...
>> : error 7000: Failed to execute command
>> make tbuild
>> [/home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/DEBUG_CLANGDWARF/IA32/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib]
>>
>>
>> build.py...
>> : error F002: Failed to build module
>> /home/a/src/opensource/edk2/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
>> [IA32, CLANGDWARF, DEBUG]
>>
>> - Failed -
>> Build end time: 20:37:54, Feb.06 2023
>> Build total time: 00:00:07
>>
>> - Failed - error happened when run command: build -p
>> UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -a IA32 -a X64 -m
>> UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf -t CLANGDWARF -y
>> /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/UefiUniversalPayloadEntry.txt
>>  -D UNIVERSAL_PAYLOAD=TRUE -D CPU_TIMER_LIB_ENABLE=FALSE
>> Traceback (most recent call last):
>>   File "UefiPayloadPkg/UniversalPayloadBuild.py", line 172, in <module>
>>     main()
>>   File "UefiPayloadPkg/UniversalPayloadBuild.py", line 168, in main
>>     BuildUniversalPayload(args, MacroList)
>>   File "UefiPayloadPkg/UniversalPayloadBuild.py", line 108, in
>> BuildUniversalPayload
>>     RunCommand(BuildModule)
>>   File "UefiPayloadPkg/UniversalPayloadBuild.py", line 51, in RunCommand
>>     raise Exception("ERROR: when run command: %s"%cmd)
>> Exception: ERROR: when run command: build -p
>> UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -a IA32 -a X64 -m
>> UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf -t CLANGDWARF -y
>> /home/a/src/opensource/edk2/Build/UefiPayloadPkgX64/UefiUniversalPayloadEntry.txt
>>  -D UNIVERSAL_PAYLOAD=TRUE -D CPU_TIMER_LIB_ENABLE=FALSE
>>
>>
>>
>>
>>
>>
>>
>> *Thanks & Regards Ritul Guru +91-9916513186*
>>
>>
>>
>>
>>
>> On Mon, Feb 6, 2023 at 8:23 PM ritul guru <ritul.bits@gmail.com> wrote:
>>
>> thanks,
>>
>>
>>
>> ./cbfstool coreboot.rom remove -r COREBOOT -n fallback/payload
>>
>> ./cbfstool coreboot.rom add-payload -r COREBOOT -n fallback/payload -f
>> ShimLayer.elf
>>
>> ./cbfstool coreboot.rom remove -r COREBOOT -n img/UniversalPayload
>>
>> ./cbfstool coreboot.rom add-flat-binary -r COREBOOT -n
>> img/UniversalPayload -f UniversalPayload.elf -l 0x200000 -e 0x100 -c lzma
>>
>>
>>
>> with above commands, we can inject shim.elf and uefipayload.elf into
>> coreboot image, and should be able to boot from this payload?
>>
>>
>>
>>
>>
>> *Thanks & Regards Ritul Guru +91-9916513186*
>>
>>
>>
>>
>>
>> On Mon, Feb 6, 2023 at 7:56 PM Guo, Gua <gua.guo@intel.com> wrote:
>>
>> I think you can run “. edksetup.sh” in your local and WORKSPACE will be
>> setup automatically.
>>
>>
>>
>> *From:* ritul guru <ritul.bits@gmail.com>
>> *Sent:* Monday, February 6, 2023 10:22 PM
>> *To:* Guo, Gua <gua.guo@intel.com>
>> *Cc:* devel@edk2.groups.io; Mike Maslenkin <mike.maslenkin@gmail.com>
>> *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in
>> linux
>>
>>
>>
>> workspace needs to be set to any value?
>>
>>
>>
>> 0 $ bash UefiPayloadPkg/UniversalPayloadBuild.sh -t GCC5 -a IA32 -a X64
>> -D CPU_TIMER_LIB_ENABLE=FALSE
>> python_exe=
>> Traceback (most recent call last):
>>   File "UefiPayloadPkg/UniversalPayloadBuild.py", line 172, in <module>
>>     main()
>>   File "UefiPayloadPkg/UniversalPayloadBuild.py", line 168, in main
>>     BuildUniversalPayload(args, MacroList)
>>   File "UefiPayloadPkg/UniversalPayloadBuild.py", line 58, in
>> BuildUniversalPayload
>>     BuildDir     = os.path.join(os.environ['WORKSPACE'],
>> os.path.normpath("Build/UefiPayloadPkgX64"))
>>   File "/usr/lib/python3.8/os.py", line 675, in __getitem__
>>     raise KeyError(key) from None
>> KeyError: 'WORKSPACE'
>>
>>
>>
>>
>>
>>
>>
>> *Thanks & Regards Ritul Guru +91-9916513186*
>>
>>
>>
>>
>>
>> On Mon, Feb 6, 2023 at 5:17 PM Guo, Gua <gua.guo@intel.com> wrote:
>>
>> UniversalPayload.sh have Clang tool chain dependency.
>>
>>
>>
>> I assume your machine is ubuntu-20.10, please download it. And set use
>> export PATH=$PATH:<Clang bin path> to prevent the issue.
>>
>>
>>
>>
>> https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-20.10.tar.xz
>>
>>
>>
>> Thanks,
>>
>> Gua
>>
>>
>>
>> *From:* ritul guru <ritul.bits@gmail.com>
>> *Sent:* Monday, February 6, 2023 7:37 PM
>> *To:* Guo, Gua <gua.guo@intel.com>
>> *Cc:* devel@edk2.groups.io; Mike Maslenkin <mike.maslenkin@gmail.com>
>> *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in
>> linux
>>
>>
>>
>> Thanks,
>>
>>
>>
>> 17:05 $ ./UefiPayloadPkg/UniversalPayloadBuild.sh -t GCC5 -a IA32 -a X64
>> -D CPU_TIMER_LIB_ENABLE=FALSE
>> python_exe=/usr/bin/python3.8
>> "llvm-objcopy" --version
>> /bin/sh: 1: llvm-objcopy: not found
>> - Failed - error happened when run command: "llvm-objcopy" --version
>> - Failed - Please check if LLVM is installed or if CLANG_BIN is set
>> correctly
>> ✘-1 ~/src/opensource/edk2 [master ↓·22|✚ 1]
>>
>>
>>
>>
>>
>> I am seeing above errors, is clang required for UniversalPayloadBuild.sh
>> compilation?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *Thanks & Regards Ritul Guru +91-9916513186*
>>
>>
>>
>>
>>
>> On Mon, Feb 6, 2023 at 6:23 AM Guo, Gua <gua.guo@intel.com> wrote:
>>
>> I just quickly check your command, look like it incorrect UefiPayload
>>
>>
>>
>> For Uefi Payload
>>
>>    - build -p "UefiPayloadPkg/UefiPayloadPkg.dsc" -b DEBUG -t GCC5 -a
>>    IA32 -a X64 -D BOOTLOADER=COREBOOT
>>
>>
>>
>> For Uefi Universal Payload
>>
>>    - *Coreboot *
>>
>> git clone https://github.com/StarLabsLtd/coreboot.git Coreboot
>>
>> cd Coreboot
>>
>> git submodule update --init
>>
>> make iasl
>>
>> make crossgcc
>>
>> make defconfig KBUILD_DEFCONFIG=config.starlabs_qemu
>>
>> make
>>
>>
>>
>>    - *Edk2*
>>
>> git clone https://github.com/tianocore/edk2.git Edk2
>>
>> cd Edk2
>>
>> git submodule update --init
>>
>> source ./edksetup.sh
>>
>> make -C ./BaseTools
>>
>> bash UefiPayloadPkg/UniversalPayloadBuild.sh -t GCC5 -a IA32 -D
>> CPU_TIMER_LIB_ENABLE=FALSE
>>
>>
>>
>>    - *ShimLayer*
>>
>> git clone
>> https://github.com/UniversalScalableFirmware/upl.coreboot.shimlayer
>> ShimLayer
>>
>> cd ShimLayer
>>
>> bash CorebootShimBuild.sh
>>
>>
>>
>>    - *Test Procedure*
>>
>>
>>    1. Copy "ShimLayer/Build/ShimLayer.elf" and
>>    "Edk2/Build/UefiPayloadPkgX64/UniversalPayload.elf" to “Coreboot/build”.
>>
>> 2.    cd Coreboot/build
>>
>> 3.    Do the following commands.
>>
>> ./cbfstool coreboot.rom remove -r COREBOOT -n fallback/payload
>>
>> ./cbfstool coreboot.rom add-payload -r COREBOOT -n fallback/payload -f
>> ShimLayer.elf
>>
>> ./cbfstool coreboot.rom remove -r COREBOOT -n img/UniversalPayload
>>
>> ./cbfstool coreboot.rom add-flat-binary -r COREBOOT -n
>> img/UniversalPayload -f UniversalPayload.elf -l 0x200000 -e 0x100 -c lzma
>>
>> qemu-system-x86_64 -bios coreboot.rom -serial stdio -M q35
>>
>>
>>
>> Thanks,
>>
>> Gua
>>
>> *From:* devel@edk2.groups.io <devel@edk2.groups.io> *On Behalf Of *ritul
>> guru
>> *Sent:* Friday, February 3, 2023 11:08 PM
>> *To:* Mike Maslenkin <mike.maslenkin@gmail.com>
>> *Cc:* devel@edk2.groups.io
>> *Subject:* Re: [edk2-devel] regarding build uefipayload in debug mode in
>> linux
>>
>>
>>
>> Thanks,
>>
>>
>>
>> build -p "UefiPayloadPkg/UefiPayloadPkg.dsc" *-b DEBUG* -t GCC5 -a IA32
>> -a X64 -D COREBOOT
>>
>>
>>
>> I used above cmd, added DEBUG option by seeing NO debug messages coming
>> from uefipayload.
>>
>> any idea how to enable debug messages coming from uefipayload built with
>> above cmd?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *Thanks & Regards Ritul Guru +91-9916513186*
>>
>>
>>
>>
>>
>> On Fri, Feb 3, 2023 at 4:46 AM Mike Maslenkin <mike.maslenkin@gmail.com>
>> wrote:
>>
>> Hi Ritul Guru.
>>
>> There is a misprint in path to dsc file.
>> The path should be "UefiPayloadPkg/UefiPayloadPkg.dsc"
>> But there is another issue with your command line exists.
>> The instructions you are referred to [1]  contain a sentence:
>> "NOTE: Pure 32bit UEFI payload support could be added if required
>> later.", i.e. it won't build.
>> So, you need to build either pure X64 or X64 build with IA32 entry.
>>
>> The command line for the latter is:
>> "build -p UefiPayloadPkg/UefiPayloadPkg.dsc -t GCC5 -a IA32 -a X64"
>>
>> *[1]
>> https://github.com/tianocore/edk2/blob/master/UefiPayloadPkg/BuildAndIntegrationInstructions.txt#L55
>>
>> Regards,
>> Mike.
>>
>>
>>
>> On Fri, Feb 3, 2023 at 1:37 AM ritul guru <ritul.bits@gmail.com> wrote:
>> >
>> >
>> > Hi,
>> > I was following below link to build UEfiPayload for coreboot to boot
>> from,
>> >
>> >
>> https://github.com/tianocore/edk2/blob/master/UefiPayloadPkg/BuildAndIntegrationInstructions.txt
>> >
>> > but getting below error,
>> > would appreciate help, thanks.
>> >
>> >
>> > ~/src/opensource/edk2 [master| ]
>> > 03:04 $ build -p UefiPayloadPkg\UefiPayloadPkg.dsc -t GCC5 -a IA32
>> > Build environment:
>> Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-glibc2.29
>> > Build start time: 03:04:57, Feb.03 2023
>> >
>> > WORKSPACE        = /home//src/opensource/edk2
>> > EDK_TOOLS_PATH   = /home//src/opensource/edk2/BaseTools
>> > CONF_PATH        = /home//src/opensource/edk2/Conf
>> > PYTHON_COMMAND   = /usr/bin/python3.8
>> >
>> >
>> > build.py...
>> >  : error C0DE: Unknown fatal error when processing
>> [/home//src/opensource/edk2/UefiPayloadPkgUefiPayloadPkg.dsc]
>> >
>> > (Please send email to devel@edk2.groups.io for help, attaching
>> following call stack trace!)
>> >
>> > (Python 3.8.10 on linux) Traceback (most recent call last):
>> >   File
>> "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py",
>> line 2692, in Main
>> >     MyBuild = Build(Target, Workspace, Option,LogQ)
>> >   File
>> "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py",
>> line 815, in __init__
>> >     self.InitPreBuild()
>> >   File
>> "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py",
>> line 1015, in InitPreBuild
>> >     self.LoadConfiguration()
>> >   File
>> "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py",
>> line 971, in LoadConfiguration
>> >     self.GetToolChainAndFamilyFromDsc (self.PlatformFile)
>> >   File
>> "/home//src/opensource/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py",
>> line 905, in GetToolChainAndFamilyFromDsc
>> >     dscobj = self.BuildDatabase[File, BuildArch]
>> >   File
>> "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py",
>> line 104, in __getitem__
>> >     BuildObject = self.CreateBuildObject(FilePath, Arch, Target,
>> Toolchain)
>> >   File
>> "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py",
>> line 120, in CreateBuildObject
>> >     MetaFileStorage(self.WorkspaceDb, FilePath, FileType)
>> >   File
>> "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/MetaFileTable.py",
>> line 426, in __new__
>> >     reval = Class._FILE_TABLE_[FileType](*Args)
>> >   File
>> "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/MetaFileTable.py",
>> line 303, in __init__
>> >     MetaFileTable.__init__(self, Cursor, MetaFile, MODEL_FILE_DSC,
>> Temporary, FromItem)
>> >   File
>> "/home//src/opensource/edk2/BaseTools/Source/Python/Workspace/MetaFileTable.py",
>> line 39, in __init__
>> >     MetaFile.TimeStamp,
>> >   File
>> "/home//src/opensource/edk2/BaseTools/Source/Python/Common/Misc.py", line
>> 1539, in TimeStamp
>> >     return os.stat(self.Path)[8]
>> >   File
>> "/home//src/opensource/edk2/BaseTools/Source/Python/Common/LongFilePathOs.py",
>> line 51, in stat
>> >     return os.stat(LongFilePath(path))
>> > FileNotFoundError: [Errno 2] No such file or directory:
>> '/home//src/opensource/edk2/UefiPayloadPkgUefiPayloadPkg.dsc'
>> >
>> >
>> >
>> >
>> >
>> > Thanks & Regards
>> > Ritul Guru
>> > +91-9916513186
>>
>> 
>>
>>

[-- Attachment #2: Type: text/html, Size: 33209 bytes --]

  reply	other threads:[~2023-02-06 17:52 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 21:39 regarding build uefipayload in debug mode in linux ritul guru
2023-02-02 23:16 ` [edk2-devel] " Mike Maslenkin
2023-02-03 15:07   ` ritul guru
2023-02-06  0:53     ` Guo, Gua
2023-02-06 11:37       ` ritul guru
2023-02-06 11:47         ` Guo, Gua
2023-02-06 14:21           ` ritul guru
2023-02-06 14:26             ` Guo, Gua
2023-02-06 14:53               ` ritul guru
2023-02-06 14:55                 ` Guo, Gua
2023-02-06 15:12                 ` ritul guru
2023-02-06 15:13                   ` Guo, Gua
2023-02-06 16:51                     ` ritul guru
2023-02-06 17:52                       ` ritul guru [this message]
2023-02-06 18:02                         ` ritul guru
2023-02-06 23:08                   ` Guo, Gua

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='CAHHF-2+6qe2NhNtxqiGK=ZNWHuSz1eTKA8brbyE78qT5Sn5yKg@mail.gmail.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