public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Liming" <liming.gao@intel.com>
To: Pete Batard <pete@akeo.ie>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "ard.biesheuvel@linaro.org" <ard.biesheuvel@linaro.org>
Subject: Re: [PATCH 0/4] Add ARM64 support for VS2017
Date: Thu, 15 Mar 2018 06:15:20 +0000	[thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E1E7104@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20180223095003.6012-1-pete@akeo.ie>

Pete:
  For new added ASM file in BaseLib, could you use the same comment style for them? ASM use ; for the comment. Most of new files uses ; as the comment, but switchstack is not. Besides, compared to Arm arch assembly file, I don't find CpuPause.asm. Is it required?

Thanks
Liming
>-----Original Message-----
>From: Pete Batard [mailto:pete@akeo.ie]
>Sent: Friday, February 23, 2018 5:50 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>; ard.biesheuvel@linaro.org
>Subject: [PATCH 0/4] Add ARM64 support for VS2017
>
>This is v2, which just removes a redundant #if defined(_MSC_EXTENSIONS) in
>1/4.
>
>This series completes VS2017 support by enabling AARCH64 compilation.
>* PATCH 1 targets the disabling of VS Level 4 warnings. The disabled
>  warnings for ARM64 are the same as the ones for IA32, X64 and ARM.
>* PATCH 2 adds assembly source in MdePkg/Library/BaseLib for various low
>  level required functions. These new assembly files were converted from
>  their GCC version, with minor changes applied to make them palatable
>  to the MSFT assembler.
>* PATCH 3 adds variable argument handlers for print output. This is
>  achieved without relying on any external toolchain headers. However
>  a call to the __va_start() compiler intrinsic function is now being
>  used for the VA_START macros, which we apply for ARM as well.
>* PATCH 4 enables the selection of ARM64 in the conf templates.
>  One item of note is that the build options for ARM64 are the same as
>  for ARM, except for /BASE:0 which was removed to avoid error:
>  'invalid base address 0x0; ARM64 image cannot have base address below
>4GB'
>
>With these patches, VS2017 toolchain users should be able to compile
>regular UEFI ARM64 applications using EDK2.
>
>Note however that ARM64 support requires the use of Visual Studio 2017
>Update 4 or later (a.k.a. v15.4), as native ARM64 compilation was not
>included in any version of Visual Studio prior to that.
>
>Additional notes:
>
>We tested compiling and running the full UEFI Shell with this series, as
>well as a small set of applications and drivers, and saw no issues.
>Since we also modified the VA_START() macro for ARM, we also re-ran
>similar tests for ARM, to confirm that there was no regression there.
>
>Finally, we did not test the generation of a complete QEMU ARM64 firmware
>as it requires porting a handful of assembly sources, that don't exist
>yet, and our focus is with the generation of working AARCH64 drivers or
>applications. Hopefully, this can be tackled as VS2017/ARM64 sees more
>usage...
>
>Regards,
>
>/Pete
>
>Pete Batard (4):
>  MdePkg: Disable some Level 4 warnings for VS2017/ARM64
>  MdePkg/Library/BaseLib: Enable VS2017/ARM64 builds
>  MdePkg/Include: Add VA list support for VS2017/ARM64
>  BaseTools/Conf: Add VS2017/ARM64 support
>
> BaseTools/Conf/build_rule.template                    |   2 +-
> BaseTools/Conf/tools_def.template                     |  32 ++++++-
> MdePkg/Include/AArch64/ProcessorBind.h                |  53 +++++++++-
> MdePkg/Include/Base.h                                 |   7 +-
> MdePkg/Library/BaseLib/AArch64/CpuBreakpoint.asm      |  39 ++++++++
> MdePkg/Library/BaseLib/AArch64/DisableInterrupts.asm  |  37 +++++++
> MdePkg/Library/BaseLib/AArch64/EnableInterrupts.asm   |  37 +++++++
> MdePkg/Library/BaseLib/AArch64/GetInterruptsState.asm |  49 ++++++++++
> MdePkg/Library/BaseLib/AArch64/MemoryFence.asm        |  38 ++++++++
> MdePkg/Library/BaseLib/AArch64/SetJumpLongJump.asm    | 101
>++++++++++++++++++++
> MdePkg/Library/BaseLib/AArch64/SwitchStack.asm        |  69 +++++++++++++
> MdePkg/Library/BaseLib/BaseLib.inf                    |   8 ++
> 12 files changed, 463 insertions(+), 9 deletions(-)
> create mode 100644 MdePkg/Library/BaseLib/AArch64/CpuBreakpoint.asm
> create mode 100644
>MdePkg/Library/BaseLib/AArch64/DisableInterrupts.asm
> create mode 100644 MdePkg/Library/BaseLib/AArch64/EnableInterrupts.asm
> create mode 100644
>MdePkg/Library/BaseLib/AArch64/GetInterruptsState.asm
> create mode 100644 MdePkg/Library/BaseLib/AArch64/MemoryFence.asm
> create mode 100644
>MdePkg/Library/BaseLib/AArch64/SetJumpLongJump.asm
> create mode 100644 MdePkg/Library/BaseLib/AArch64/SwitchStack.asm
>
>--
>2.9.3.windows.2



  parent reply	other threads:[~2018-03-15  6:09 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-23  9:49 [PATCH 0/4] Add ARM64 support for VS2017 Pete Batard
2018-02-23  9:50 ` [PATCH 1/4] MdePkg: Disable some Level 4 warnings for VS2017/ARM64 Pete Batard
2018-02-23  9:50 ` [PATCH 2/4] MdePkg/Library/BaseLib: Enable VS2017/ARM64 builds Pete Batard
2018-02-23  9:50 ` [PATCH 3/4] MdePkg/Include: Add VA list support for VS2017/ARM64 Pete Batard
2018-02-23  9:50 ` [PATCH 4/4] BaseTools/Conf: Add VS2017/ARM64 support Pete Batard
2018-02-23 11:55 ` [PATCH 0/4] Add ARM64 support for VS2017 Ard Biesheuvel
2018-02-23 13:14   ` Pete Batard
2018-03-15  6:15 ` Gao, Liming [this message]
2018-03-15  9:28   ` Pete Batard
2018-03-16  8:24     ` Gao, Liming
2018-03-16 11:03       ` Pete Batard
2018-03-16 15:56         ` Gao, Liming
2018-03-16 16:11           ` Pete Batard
2018-03-16 16:31             ` Gao, Liming
2018-03-16 16:35               ` Pete Batard
2018-03-19  9:07                 ` Gao, Liming
  -- strict thread matches above, loose matches on Subject: below --
2018-02-14 13:08 Pete Batard

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=4A89E2EF3DFEDB4C8BFDE51014F606A14E1E7104@SHSMSX104.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