mirror_edk2.git
4 years agoMerge branch 'master' of https://github.com/tianocore/edk2
david wei [Fri, 1 Jul 2016 07:05:48 +0000 (15:05 +0800)]
Merge branch 'master' of https://github.com/tianocore/edk2

4 years agoVlv2TbltDevicePkg: fix ASSERT_EFI_ERROR() typos
Laszlo Ersek [Tue, 28 Jun 2016 13:25:38 +0000 (21:25 +0800)]
Vlv2TbltDevicePkg: fix ASSERT_EFI_ERROR() typos

A number of code locations use

  ASSERT_EFI_ERROR (BooleanExpression)

instead of

  ASSERT (BooleanExpression)

Fix them.

Cc: David Wei <david.wei@intel.com>
Cc: Tim He <tim.he@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: David Wei <david.wei@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoMdeModulePkg/EmmcDxe: Don't expose BlockIo interface for RPMB partition
Feng Tian [Wed, 29 Jun 2016 03:15:50 +0000 (11:15 +0800)]
MdeModulePkg/EmmcDxe: Don't expose BlockIo interface for RPMB partition

This change is to avoid UEFI SCT failure as UEFI SCT has no knowledge
about how to accessing a EMMC RPMB partition.

The user needs to access RPMB partition should get access through
EFI_SD_MMC_PASS_THRU protocol with authentication key & mac.

Cc: Hao Wu <hao.a.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
4 years agoMdeModulePkg/SdMmc: update TPL to notify to fix UEFI SCT hang
Feng Tian [Wed, 22 Jun 2016 08:21:35 +0000 (16:21 +0800)]
MdeModulePkg/SdMmc: update TPL to notify to fix UEFI SCT hang

We have to upgrade the TPL level used by SdMmc stack because the
following flow:

DiskIo2ReadWriteDisk() in logical partition -> PartitionReadBlocksEx()
in logical partition at TPL callback level -> ProbeMediaStatusEx()
with sync request -> DiskIo2ReadWriteDisk() in physical partition ->
 waiting for async task completion.

if the low layer driver doesn't run at TPL_NOTIFY level, it will have
no time to trigger async task and cause system hang.

Cc: Hao Wu <hao.a.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
4 years agoSecurityPkg/Tcg: Fix bug that prevented SubmitCommand buffers from being Max size
Zhang, Chao B [Fri, 1 Jul 2016 02:32:27 +0000 (10:32 +0800)]
SecurityPkg/Tcg: Fix bug that prevented SubmitCommand buffers from being Max size

SubmitCommand() was checking the buffer size for ">=" Max size. This would
cause code to fail with "EFI_INVALID_PARAMETER" if a buffer was passed
that was the "max" size as indicated by the GetCapability() command.
Change to ">" to allow for maximum buffer size.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bret Barkelew <brbarkel@microsoft.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
4 years agoBaseTools Scripts: Add MemoryProfileSymbolGen.py
Star Zeng [Sun, 26 Jun 2016 05:07:26 +0000 (13:07 +0800)]
BaseTools Scripts: Add MemoryProfileSymbolGen.py

This tool depends on DIA2Dump.exe (VS) or nm (gcc) to parse debug entry.

Usage: MemoryProfileSymbolGen.py [--version] [-h] [--help] [-i inputfile
[-o outputfile]]

Copyright (c) 2016, Intel Corporation. All rights reserved.

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -i INPUTFILENAME, --inputfile=INPUTFILENAME
                        The input memory profile info file output from
                        MemoryProfileInfo application in MdeModulePkg
  -o OUTPUTFILENAME, --outputfile=OUTPUTFILENAME
                        The output memory profile info file with symbol,
                        MemoryProfileInfoSymbol.txt will be used if it is not

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg PiSmmCoreMemoryAllocLib: Extend to support MemoryProfileLib
Star Zeng [Thu, 23 Jun 2016 14:45:14 +0000 (22:45 +0800)]
MdeModulePkg PiSmmCoreMemoryAllocLib:  Extend to support MemoryProfileLib

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg DxeCoreMemoryAllocationLib: Extend to support MemoryProfileLib
Star Zeng [Thu, 23 Jun 2016 14:33:55 +0000 (22:33 +0800)]
MdeModulePkg DxeCoreMemoryAllocationLib: Extend to support MemoryProfileLib

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg: Implement new library instance SmmMemoryAllocationProfileLib
Star Zeng [Sat, 18 Jun 2016 01:05:22 +0000 (09:05 +0800)]
MdeModulePkg: Implement new library instance SmmMemoryAllocationProfileLib

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg: Implement new library instance UefiMemoryAllocationProfileLib
Star Zeng [Sat, 18 Jun 2016 01:31:28 +0000 (09:31 +0800)]
MdeModulePkg: Implement new library instance UefiMemoryAllocationProfileLib

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg: Introduce new library class MemoryProfileLib
Star Zeng [Sat, 18 Jun 2016 01:04:31 +0000 (09:04 +0800)]
MdeModulePkg: Introduce new library class MemoryProfileLib

Provides services to record memory profile of multilevel caller.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg MemoryProfileInfo: Enhance output info for memory leak detection
Star Zeng [Sat, 18 Jun 2016 01:03:39 +0000 (09:03 +0800)]
MdeModulePkg MemoryProfileInfo: Enhance output info for memory leak detection

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg PiSmmCore: Enhance memory profile for memory leak detection
Star Zeng [Sat, 18 Jun 2016 02:14:40 +0000 (10:14 +0800)]
MdeModulePkg PiSmmCore: Enhance memory profile for memory leak detection

1. Produce SMM memory profile protocol.
2. Consume PcdMemoryProfilePropertyMask to support disable recording
at the start.
3. Consume PcdMemoryProfileDriverPath to control which drivers need
memory profile data.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg DxeCore: Add lock to pretect memory profile AllocInfo list
Star Zeng [Wed, 29 Jun 2016 04:51:55 +0000 (12:51 +0800)]
MdeModulePkg DxeCore: Add lock to pretect memory profile AllocInfo list

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg DxeCore: Enhance memory profile for memory leak detection
Star Zeng [Sat, 18 Jun 2016 01:03:20 +0000 (09:03 +0800)]
MdeModulePkg DxeCore: Enhance memory profile for memory leak detection

1. Implement include GetRecordingState/SetRecordingState/Record for
memory profile protocol.
2. Consume PcdMemoryProfilePropertyMask to support disable recording
at the start.
3. Consume PcdMemoryProfileDriverPath to control which drivers need
memory profile data.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg: Extend memory profile definitions for memory leak detection
Star Zeng [Tue, 31 May 2016 05:40:24 +0000 (13:40 +0800)]
MdeModulePkg: Extend memory profile definitions for memory leak detection

Current memory profile feature:
1. Shows which line of code calls gBS->AllocateXXX(). But most entries
are from MemoryAllocationLib.
2. Records at the start.
3. Records all modules.

Enhanced memory profile feature:
1. User can know which line of code calls AllocateXXX() API instead of
gBS->Allocate().
2. User can know which line of code calls a specific API that will call
AllocateXXX().
3. User can know total memory allocated by a specific line of code.
4. User can configure to record single module.
5. User can configure when to enable recording.
6. User can know RVA<->Symbol (Function, Source, Line).

For the enhanced memory profile feature,
1. Extend MEMORY_PROFILE_DRIVER_INFO to include PdbString.
2. Extend MEMORY_PROFILE_ALLOC_INFO to include ActionString.
3. Extend MEMORY_PROFILE_ACTION to indicate action in memory allocation
lib and user defined action.
4. Extend memory profile protocol to include GetRecordingState/
SetRecordingState/Record.
5. Define SMM memory profile protocol.
6. Extend PcdMemoryProfilePropertyMask to support disable recording at
the start.
7. Introduce new PCD PcdMemoryProfileDriverPath to control which drivers
need memory profile data.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg/PiSmmCore: Replace BASE_4GB with MAX_ADDRESS check.
Jiewen Yao [Wed, 29 Jun 2016 02:19:57 +0000 (10:19 +0800)]
MdeModulePkg/PiSmmCore: Replace BASE_4GB with MAX_ADDRESS check.

PI specification Vol 4 - SMM does not have any limitation of BASE_4GB for SMM.
So we should replace BASE_4GB check with MAX_ADDRESS check to make sure
the SMM memory is accessible by SMM Core.

Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
4 years agoIntelFsp2WrapperPkg: Add error handling for possible NULL ptr dereference
Hao Wu [Thu, 30 Jun 2016 01:13:24 +0000 (09:13 +0800)]
IntelFsp2WrapperPkg: Add error handling for possible NULL ptr dereference

Possible NULL pointer dereference for FspmHeaderPtr/FspsHeaderPtr in
module FspmWrapperPeim/FspsWrapperPeim.

Add error handling codes to avoid this issue.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoShellPkg: UefiHandleParsingLib: remove tautological comparison
Laszlo Ersek [Thu, 30 Jun 2016 20:39:00 +0000 (22:39 +0200)]
ShellPkg: UefiHandleParsingLib: remove tautological comparison

The code being removed in this patch dates back to git commit a405b86d274d
(Sep 14, 2010; "udk2010.up2.shell initial release."). The condition always
evaluates to true, and it breaks DEBUG builds of ArmVirtPkg with gcc-6.1:

  ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c:
    In function 'ParseHandleDatabaseByRelationshipWithType':
  ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c:2465:76:
    error: self-comparison always evaluates to true
    [-Werror=tautological-compare]
         ASSERT((*HandleType)[HandleIndex] == (*HandleType)[HandleIndex]);

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Michael Zimmermann <sigmaepsilon92@gmail.com>
Reported-by: Gerd Hoffmann <kraxel@redhat.com>
Reported-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
Suggested-by: Jaben Carsey <jaben.carsey@intel.com>
Ref: http://thread.gmane.org/gmane.comp.bios.edk2.devel/13794/focus=13939
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
4 years agoVlv2TbltDevicePkg: fix ASSERT_EFI_ERROR() typos
Laszlo Ersek [Tue, 28 Jun 2016 11:47:52 +0000 (13:47 +0200)]
Vlv2TbltDevicePkg: fix ASSERT_EFI_ERROR() typos

A number of code locations use

  ASSERT_EFI_ERROR (BooleanExpression)

instead of

  ASSERT (BooleanExpression)

Fix them.

Cc: David Wei <david.wei@intel.com>
Cc: Tim He <tim.he@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: David Wei <david.wei@intel.com>
4 years agoUefiCpuPkg: fix ASSERT_EFI_ERROR() typos
Laszlo Ersek [Tue, 28 Jun 2016 11:47:52 +0000 (13:47 +0200)]
UefiCpuPkg: fix ASSERT_EFI_ERROR() typos

A number of code locations use

  ASSERT_EFI_ERROR (BooleanExpression)

instead of

  ASSERT (BooleanExpression)

Fix them.

Cc: Jeff Fan <jeff.fan@intel.com>
Reported-by: Gerd Hoffmann <kraxel@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
4 years agoShellPkg: don't call functions with side effects in ASSERT_EFI_ERROR()
Laszlo Ersek [Tue, 28 Jun 2016 11:52:11 +0000 (13:52 +0200)]
ShellPkg: don't call functions with side effects in ASSERT_EFI_ERROR()

When ASSERT_EFI_ERROR() is compiled out, dependent on build flags, only
the status checking should be removed; the function calls should stay.

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Shumin Qiu <shumin.qiu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
4 years agoQuarkPlatformPkg: fix ASSERT_EFI_ERROR() typos
Laszlo Ersek [Tue, 28 Jun 2016 11:47:52 +0000 (13:47 +0200)]
QuarkPlatformPkg: fix ASSERT_EFI_ERROR() typos

A number of code locations use

  ASSERT_EFI_ERROR (BooleanExpression)

instead of

  ASSERT (BooleanExpression)

Fix them.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Kelly Steele <kelly.steele@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
4 years agoNetworkPkg: fix ASSERT_EFI_ERROR() typos
Laszlo Ersek [Tue, 28 Jun 2016 11:47:52 +0000 (13:47 +0200)]
NetworkPkg: fix ASSERT_EFI_ERROR() typos

A number of code locations use

  ASSERT_EFI_ERROR (BooleanExpression)

instead of

  ASSERT (BooleanExpression)

Fix them.

Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoEdkCompatibilityPkg: fix ASSERT_EFI_ERROR() typos
Laszlo Ersek [Tue, 28 Jun 2016 11:47:52 +0000 (13:47 +0200)]
EdkCompatibilityPkg: fix ASSERT_EFI_ERROR() typos

A number of code locations use

  ASSERT_EFI_ERROR (BooleanExpression)

instead of

  ASSERT (BooleanExpression)

Fix them.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
4 years agoMdeModulePkg VariableInfo: Fix GCC build failure
Star Zeng [Wed, 29 Jun 2016 14:22:57 +0000 (22:22 +0800)]
MdeModulePkg VariableInfo: Fix GCC build failure

GCC build failure: 'RealCommSize' may be used uninitialized

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoIntelFrameworkModulePkg StatusCode RuntimeDxe: Remove duplicated structure.
Liming Gao [Thu, 30 Jun 2016 02:36:35 +0000 (10:36 +0800)]
IntelFrameworkModulePkg StatusCode RuntimeDxe: Remove duplicated structure.

RUNTIME_MEMORY_STATUSCODE_HEADER has been moved into MdeModulePkg public header
file Include/Guid/MemoryStatusCodeRecord.h. It should be removed from the driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
4 years agoVlv2TbltDevicePkg:Add PiSmmCommunication&PiSmmCpuDxeSmm of UefiCpuPkg.
Lu, ShifeiX A [Tue, 21 Jun 2016 07:42:01 +0000 (15:42 +0800)]
Vlv2TbltDevicePkg:Add PiSmmCommunication&PiSmmCpuDxeSmm of UefiCpuPkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lushifex <shifeix.a.lu@intel.com>
Reviewed-by: David Wei <david.wei@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoNetworkPkg: Stop the HTTP Boot service after the boot image download complete.
Fu Siyuan [Tue, 28 Jun 2016 03:30:04 +0000 (11:30 +0800)]
NetworkPkg: Stop the HTTP Boot service after the boot image download complete.

After boot image has been downloaded, the HTTP boot driver leaves the service
in the started state, with an active TCP child. This may cause some problems:
1. The HTTP session may become unavaiable after a while, then a following HTTP
Boot will fail.
2. An active TCP child will send RST to any incoming TCP message, which may
break other driver which tries to setup a TCP connection.
The HTTP boot driver doesn't provide any interface to the boot loader, so it's
unnecessary to keep the service running after a boot image is downloaded.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com>
4 years agoMdePkg/IndustryStandard: fix build break due to latest Atapi.h change
Feng Tian [Wed, 29 Jun 2016 03:11:35 +0000 (11:11 +0800)]
MdePkg/IndustryStandard: fix build break due to latest Atapi.h change

Update the new introduced ATA_CMD_SEEK to ATA_CMD_ATAPI_SEEK.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
4 years agoMdeModulePkg VariableInfo: Use fixed buffer for smm comm buffer
Star Zeng [Tue, 28 Jun 2016 05:37:06 +0000 (13:37 +0800)]
MdeModulePkg VariableInfo: Use fixed buffer for smm comm buffer

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdeModulePkg DxeSmmPerformanceLib: Add missing UefiLib in *.inf at de2459d
Star Zeng [Tue, 28 Jun 2016 05:32:12 +0000 (13:32 +0800)]
MdeModulePkg DxeSmmPerformanceLib: Add missing UefiLib in *.inf at de2459d

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
4 years agoMdePkg/IndustryStandard: Add additional Atapi.h definitions.
Feng Tian [Wed, 29 Jun 2016 01:46:57 +0000 (09:46 +0800)]
MdePkg/IndustryStandard: Add additional Atapi.h definitions.

Add definitions complying Industry Standard specifications.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anandakrishnan Loganathan <anandakrishnanl@ami.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
4 years agoMdeModulePkg/XhciDxe:Fix usb desc length check logic
Feng Tian [Wed, 15 Jun 2016 02:29:45 +0000 (10:29 +0800)]
MdeModulePkg/XhciDxe:Fix usb desc length check logic

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Evgeny Yakovlev <insoreiges@gmail.com>
4 years agoMdeModulePkg/UsbBusDxe: Fixed USB descriptor length check
Evgeny Yakovlev [Sun, 5 Jun 2016 14:28:31 +0000 (22:28 +0800)]
MdeModulePkg/UsbBusDxe: Fixed USB descriptor length check

According to spec if the length of a descriptor is smaller than
what the specification defines, then the host shall ignore it.
However if the size is greater than expected the host will ignore
the extra bytes and start looking for the next descriptor
at the end of actual length returned. Original check did not
handle the latter case correctly and only allowed descriptors
with lengths exactly as defined in specification.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Evgeny Yakovlev <insoreiges@gmail.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
4 years agoMdeModulePkg/MemoryStatusCode: Expose the DXE memory status code table.
Cinnamon Shia [Tue, 28 Jun 2016 09:40:35 +0000 (17:40 +0800)]
MdeModulePkg/MemoryStatusCode: Expose the DXE memory status code table.

Let data of DXE memory status code can be used by other modules.
1. Save the address of DXE memory status code table to DxeConfigurationTable.
2. Save the address of SMM memory status code table to SmmConfigurationTable.
3. Move RUNTIME_MEMORY_STATUSCODE_HEADER to its public header file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cinnamon Shia <cinnamon.shia@hpe.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
4 years agoSecurityPkg: Update PlatformSecureLibNull with PCD to get physical presence.
Liming Gao [Thu, 23 Jun 2016 09:52:33 +0000 (17:52 +0800)]
SecurityPkg: Update PlatformSecureLibNull with PCD to get physical presence.

This is an incompatible change. It uses PcdUserPhysicalPresence value instead
of hard code TRUE. Because PcdUserPhysicalPresence default value is FALSE,
this patch changes UserPhysicalPresent() return value from TRUE to FALSE.

From Security point, it is not safe to always return TRUE. If user wants this
behavior, he can still configure PcdUserPhysicalPresence value to TRUE in
the platform DSC file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoSecurityPkg: Add PcdUserPhysicalPresence to indicate use physical presence.
Liming Gao [Thu, 23 Jun 2016 09:50:27 +0000 (17:50 +0800)]
SecurityPkg: Add PcdUserPhysicalPresence to indicate use physical presence.

This PCD supports all configuration type. Its default value is FALSE.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoArmVirtPkg: Re-add the Driver Health Manager
Bruce Cran [Tue, 28 Jun 2016 19:24:57 +0000 (13:24 -0600)]
ArmVirtPkg: Re-add the Driver Health Manager

The Driver Health HII menu is not an integral part of the MdeModulePkg BDS
driver / UI app. Because we abandoned the IntelFrameworkModulePkg BDS in
the QEMU builds, now we have to get the same functionality explicitly from
DriverHealthManagerDxe.

Suggested-by: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bruce Cran <bruce@cran.org.uk>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
[lersek@redhat.com: update commit message, drop Xen changes]
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
4 years agoOvmfPkg: Re-add the Driver Health Manager
Bruce Cran [Tue, 28 Jun 2016 19:09:53 +0000 (13:09 -0600)]
OvmfPkg: Re-add the Driver Health Manager

The Driver Health HII menu is not an integral part of the MdeModulePkg BDS
driver / UI app. Because we abandoned the IntelFrameworkModulePkg BDS, now
we have to get the same functionality explicitly from
DriverHealthManagerDxe.

Suggested-by: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bruce Cran <bruce.cran@gmail.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
[lersek@redhat.com: update commit message]
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
4 years agoBaseTools ConvertMasmToNasm: Don't try to reconvert .nasm files
Jordan Justen [Tue, 31 May 2016 01:48:50 +0000 (18:48 -0700)]
BaseTools ConvertMasmToNasm: Don't try to reconvert .nasm files

We now check to see if the destination .nasm file already exists. If
it does, then we don't try to convert the .asm to .nasm.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
4 years agoBaseTools ConvertMasmToNasm: Support preserving assembly files
Jordan Justen [Sat, 19 Mar 2016 08:06:13 +0000 (01:06 -0700)]
BaseTools ConvertMasmToNasm: Support preserving assembly files

In the first stage of conversion, we need to preserve the AT&T style
.s assembly files for use with OS X toolchains.

This change allows '--keep=s' to be used with the script to preserve
these files.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
4 years agoBaseTools ConvertMasmToNasm: put filter/map result in tuple for python3
Jordan Justen [Wed, 16 Mar 2016 23:14:14 +0000 (16:14 -0700)]
BaseTools ConvertMasmToNasm: put filter/map result in tuple for python3

Python 3's filter and map functions returns an iterator which you
can't call len() on. Since we'll want to use len() later, we put the
filter results into a tuple.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
4 years agoBaseTools ConvertMasmToNasm: Support ASM_PFX in .asm files
Jordan Justen [Wed, 16 Mar 2016 23:01:55 +0000 (16:01 -0700)]
BaseTools ConvertMasmToNasm: Support ASM_PFX in .asm files

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
4 years agoArmVirtPkg/ArmVirtXen: Add ACPI support for Virt Xen ARM
Shannon Zhao [Sat, 25 Jun 2016 07:16:49 +0000 (15:16 +0800)]
ArmVirtPkg/ArmVirtXen: Add ACPI support for Virt Xen ARM

Add ACPI support for Virt Xen ARM and only for aarch64. It gets the
ACPI tables through Xen ARM multiboot protocol.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
4 years agoMdeModulePkg/HiiDatabaseDxe: Add ASSERT before using the pointer 'String'
Dandan Bi [Fri, 24 Jun 2016 05:19:14 +0000 (13:19 +0800)]
MdeModulePkg/HiiDatabaseDxe: Add ASSERT before using the pointer 'String'

The 'Sting' is returned by the function GetUnicodeStringTextAndSize.
If it is NULL, function GetUnicodeStringTextAndSize will return
EFI_OUT_OF_RESOURCES, and error handling codes will cover it.
So the pointer 'Sting' can not be NULL when using it.
So we can add the ASSERT codes.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
4 years agoPcAtChipsetPkg: Update ResetSystemLib with PCDs
Liming Gao [Thu, 23 Jun 2016 09:53:57 +0000 (17:53 +0800)]
PcAtChipsetPkg: Update ResetSystemLib with PCDs

Update ResetSystemLib with PCDs for Reset Control Register and Value
instead of hard code 0x64 and 0xFE.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoPcAtChipsetPkg: Add two PCDs for Reset Control Register and Value
Liming Gao [Thu, 23 Jun 2016 09:53:56 +0000 (17:53 +0800)]
PcAtChipsetPkg: Add two PCDs for Reset Control Register and Value

PcdResetControlRegister for Reset Control Register address.
PcdResetControlValueColdReset for Reset Control Register code reset value.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
4 years agoSourceLevelDebugPkg DebugAgentLib: Add nasm source file into LIB INF files.
Liming Gao [Tue, 14 Jun 2016 08:53:57 +0000 (16:53 +0800)]
SourceLevelDebugPkg DebugAgentLib: Add nasm source file into LIB INF files.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoSourceLevelDebugPkg DebugAgentLib: Convert X64/AsmFuncs.asm
Liming Gao [Tue, 14 Jun 2016 08:53:20 +0000 (16:53 +0800)]
SourceLevelDebugPkg DebugAgentLib: Convert X64/AsmFuncs.asm

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/AsmFuncs.asm to X64/AsmFuncs.nasm.
And, manually update the wrong replacement with 0H.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoSourceLevelDebugPkg DebugAgentLib: Convert Ia32/AsmFuncs.asm
Liming Gao [Tue, 14 Jun 2016 08:52:44 +0000 (16:52 +0800)]
SourceLevelDebugPkg DebugAgentLib: Convert Ia32/AsmFuncs.asm

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/AsmFuncs.asm to Ia32/AsmFuncs.nasm.
And, manually update the wrong replacement with 0H.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoSourceLevelDebugPkg PeCoffExtraActionLibDebug: Add nasm source file into INF
Liming Gao [Tue, 14 Jun 2016 08:46:54 +0000 (16:46 +0800)]
SourceLevelDebugPkg PeCoffExtraActionLibDebug: Add nasm source file into INF

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoSourceLevelDebugPkg PeCoffExtraActionLibDebug: Convert X64/IntHandler.asm
Liming Gao [Tue, 14 Jun 2016 08:44:40 +0000 (16:44 +0800)]
SourceLevelDebugPkg PeCoffExtraActionLibDebug: Convert X64/IntHandler.asm

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/IntHandler.asm to X64/IntHandler.nasm.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoSourceLevelDebugPkg PeCoffExtraActionLibDebug: Convert Ia32/IntHandler.asm
Liming Gao [Tue, 14 Jun 2016 08:43:58 +0000 (16:43 +0800)]
SourceLevelDebugPkg PeCoffExtraActionLibDebug: Convert Ia32/IntHandler.asm

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/IntHandler.asm to Ia32/IntHandler.nasm.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFrameworkModulePkg LegacyBiosDxe: Add nasm source file into INF file
Liming Gao [Tue, 14 Jun 2016 08:40:15 +0000 (16:40 +0800)]
IntelFrameworkModulePkg LegacyBiosDxe: Add nasm source file into INF file

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFrameworkModulePkg LegacyBiosDxe: Convert X64/InterruptTable.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:39:51 +0000 (16:39 +0800)]
IntelFrameworkModulePkg LegacyBiosDxe: Convert X64/InterruptTable.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InterruptTable.asm to X64/InterruptTable.nasm.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFrameworkModulePkg LegacyBiosDxe: Convert Ia32/InterruptTable.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:39:19 +0000 (16:39 +0800)]
IntelFrameworkModulePkg LegacyBiosDxe: Convert Ia32/InterruptTable.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InterruptTable.asm to Ia32/InterruptTable.nasm.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Add nasm source file into INF file.
Liming Gao [Tue, 14 Jun 2016 08:37:33 +0000 (16:37 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Add nasm source file into INF file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert X64/SmmInit.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:36:53 +0000 (16:36 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert X64/SmmInit.asm to NASM

Manually convert X64/SmmInit.asm to X64/SmmInit.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert X64/SmiException.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:36:20 +0000 (16:36 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert X64/SmiException.asm to NASM

Manually convert X64/SmiException.asm to X64/SmiException.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert X64/SmiEntry.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:35:57 +0000 (16:35 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert X64/SmiEntry.asm to NASM

Manually convert X64/SmiEntry.asm to X64/SmiEntry.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Update X64/MpFuncs.nasm
Liming Gao [Tue, 14 Jun 2016 08:35:08 +0000 (16:35 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Update X64/MpFuncs.nasm

Use 16bit and 32bit assembly code to replace hard code db.

In V2: add 0x67 prefixes to far jumps

Without the a32 modifier under FLAT32_JUMP, and the a16 modifier under
LONG_JUMP, nasm doesn't generate the 0x67 prefixes, and the far jumps
don't work. (For the former, KVM returns an emulation failure. For the
latter, KVM performs a triple fault (guest reboot).) By forcing the 0x67
prefixes we end up with the same machine code as the one open-coded in
"MpFuncs.asm".

This bug breaks S3 resume in the Ia32X64 + SMM_REQUIRE build of OVMF.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert X64/MpFuncs.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:31:13 +0000 (16:31 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert X64/MpFuncs.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/MpFuncs.asm to X64/MpFuncs.nasm
And, manually update it to pass build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/SmmInit.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:29:40 +0000 (16:29 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/SmmInit.asm to NASM

Manually convert Ia32/SmmInit.asm to Ia32/SmmInit.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/SmiException.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:29:11 +0000 (16:29 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/SmiException.asm to NASM

Manually convert Ia32/SmiException.asm to Ia32/SmiException.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/SmiEntry.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:28:14 +0000 (16:28 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/SmiEntry.asm to NASM

Manually convert Ia32/SmiEntry.asm to Ia32/SmiEntry.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Update Ia32/MpFuncs.nasm
Liming Gao [Tue, 14 Jun 2016 08:26:46 +0000 (16:26 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Update Ia32/MpFuncs.nasm

Use 16bit assembly code to replace hard code db.

In V2:
Add 0x67 prefix to far jump

When we enter protected mode, with the far jump still in big real mode,
the JMP instruction not only needs the 0x66 prefix (for 32-bit operand
size), but also the 0x67 prefix (for 32-bit address size). Use the a32
nasm modifier to enforce this.

This bug breaks S3 resume in the Ia32 + SMM_REQUIRE build of OVMF.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
4 years agoUefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/MpFuncs.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:24:02 +0000 (16:24 +0800)]
UefiCpuPkg PiSmmCpuDxeSmm: Convert Ia32/MpFuncs.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/MpFuncs.asm to Ia32/MpFuncs.nasm.
And, manually update it to pass build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg S3Resume2Pei: Add nasm source file into INF file.
Liming Gao [Tue, 14 Jun 2016 08:21:44 +0000 (16:21 +0800)]
UefiCpuPkg S3Resume2Pei: Add nasm source file into INF file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg S3Resume2Pei: Convert X64/AsmFuncs.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:21:08 +0000 (16:21 +0800)]
UefiCpuPkg S3Resume2Pei: Convert X64/AsmFuncs.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/AsmFuncs.asm to X64/AsmFuncs.nasm.
And, manually add o16 prefix to specify 16bit operation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg S3Resume2Pei: Convert Ia32/AsmFuncs.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:20:18 +0000 (16:20 +0800)]
UefiCpuPkg S3Resume2Pei: Convert Ia32/AsmFuncs.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/AsmFuncs.asm to Ia32/AsmFuncs.nasm.
And, manually add o16 prefix to specify 16bit operation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg CpuExceptionHandlerLib: Add nasm source files into INF files.
Liming Gao [Tue, 14 Jun 2016 08:15:13 +0000 (16:15 +0800)]
UefiCpuPkg CpuExceptionHandlerLib: Add nasm source files into INF files.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg CpuExceptionHandlerLib:Convert X64/ExceptionHandlerAsm.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:12:10 +0000 (16:12 +0800)]
UefiCpuPkg CpuExceptionHandlerLib:Convert X64/ExceptionHandlerAsm.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ExceptionHandlerAsm.asm to X64/ExceptionHandlerAsm.nasm.
Then, manually update nasm to pass build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg CpuExceptionHandlerLib:Convert Ia32/ExceptionHandlerAsm.asm to NASM
Liming Gao [Tue, 14 Jun 2016 08:11:24 +0000 (16:11 +0800)]
UefiCpuPkg CpuExceptionHandlerLib:Convert Ia32/ExceptionHandlerAsm.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/ExceptionHandlerAsm.asm to Ia32/ExceptionHandlerAsm.nasm.
Then, manually update nasm to pass build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg BaseUefiCpuLib: Add nasm source file in BaseUefiCpuLib.inf
Liming Gao [Tue, 14 Jun 2016 08:08:46 +0000 (16:08 +0800)]
UefiCpuPkg BaseUefiCpuLib: Add nasm source file in BaseUefiCpuLib.inf

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg BaseUefiCpuLib: Convert X64/InitializeFpu.asm to NASM
Liming Gao [Tue, 14 Jun 2016 07:59:02 +0000 (15:59 +0800)]
UefiCpuPkg BaseUefiCpuLib: Convert X64/InitializeFpu.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InitializeFpu.asm to X64/InitializeFpu.nasm.
And, manually add .rdata section.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg BaseUefiCpuLib: Convert Ia32/InitializeFpu.asm to NASM
Liming Gao [Tue, 14 Jun 2016 07:58:31 +0000 (15:58 +0800)]
UefiCpuPkg BaseUefiCpuLib: Convert Ia32/InitializeFpu.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InitializeFpu.asm to Ia32/InitializeFpu.nasm.
And, manually add .rdata section.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg CpuDxe: Add nasm source file in CpuDxe.inf
Liming Gao [Tue, 14 Jun 2016 07:43:44 +0000 (15:43 +0800)]
UefiCpuPkg CpuDxe: Add nasm source file in CpuDxe.inf

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoUefiCpuPkg CpuDxe: Convert Ia32/CpuAsm.asm to NASM
Liming Gao [Tue, 14 Jun 2016 07:42:46 +0000 (15:42 +0800)]
UefiCpuPkg CpuDxe: Convert Ia32/CpuAsm.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/CpuAsm.asm to Ia32/CpuAsm.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFsp2WrapperPkg SecFspWrapperPlatformSecLibSample: Convert ASM to NASM
Liming Gao [Wed, 8 Jun 2016 09:54:45 +0000 (17:54 +0800)]
IntelFsp2WrapperPkg SecFspWrapperPlatformSecLibSample: Convert ASM to NASM

Manually converts Ia32/PeiCoreEntry.asm, Ia32/SecEntry.asm and Ia32/Stack.asm
to Ia32/PeiCoreEntry.nasm, Ia32/SecEntry.nasm and Ia32/Stack.nasm.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFsp2WrapperPkg BaseFspWrapperApiLib: Convert X64/Thunk64To32.asm to NASM
Liming Gao [Wed, 8 Jun 2016 09:51:15 +0000 (17:51 +0800)]
IntelFsp2WrapperPkg BaseFspWrapperApiLib: Convert X64/Thunk64To32.asm to NASM

Manually convert X64/Thunk64To32.asm to X64/Thunk64To32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFsp2Pkg SecFspSecPlatformLibNull: Convert Ia32/Flat32.asm to NASM
Liming Gao [Wed, 8 Jun 2016 09:02:21 +0000 (17:02 +0800)]
IntelFsp2Pkg SecFspSecPlatformLibNull: Convert Ia32/Flat32.asm to NASM

Manually convert Ia32/Flat32.asm to Ia32/Flat32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFsp2Pkg SecFspSecPlatformLibNull: Convert Ia32/SecCarInit.asm to NASM
Liming Gao [Wed, 8 Jun 2016 09:01:33 +0000 (17:01 +0800)]
IntelFsp2Pkg SecFspSecPlatformLibNull: Convert Ia32/SecCarInit.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/SecCarInit.asm to Ia32/SecCarInit.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFsp2Pkg BaseFspSwitchStackLib: Convert Ia32/Stack.asm to NASM
Liming Gao [Wed, 8 Jun 2016 09:00:25 +0000 (17:00 +0800)]
IntelFsp2Pkg BaseFspSwitchStackLib: Convert Ia32/Stack.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/Stack.asm to Ia32/Stack.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoIntelFsp2Pkg BaseFspDebugLibSerialPort: Convert Ia32/FspDebug.asm to NASM
Liming Gao [Wed, 8 Jun 2016 08:58:47 +0000 (16:58 +0800)]
IntelFsp2Pkg BaseFspDebugLibSerialPort: Convert Ia32/FspDebug.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/FspDebug.asm to Ia32/FspDebug.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoMdeModulePkg BootScriptExecutorDxe: Convert X64/S3Asm.asm to NASM
Liming Gao [Sun, 12 Jun 2016 08:25:27 +0000 (16:25 +0800)]
MdeModulePkg BootScriptExecutorDxe: Convert X64/S3Asm.asm to NASM

Use real nasm instruction to replace DB bytes.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoMdeModulePkg BootScriptExecutorDxe: Convert X64/S3Asm.asm to NASM
Jordan Justen [Tue, 31 May 2016 01:52:18 +0000 (18:52 -0700)]
MdeModulePkg BootScriptExecutorDxe: Convert X64/S3Asm.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/S3Asm.asm to X64/S3Asm.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoMdeModulePkg BootScriptExecutorDxe: Convert IA32/S3Asm.asm to NASM
Liming Gao [Sun, 12 Jun 2016 08:25:20 +0000 (16:25 +0800)]
MdeModulePkg BootScriptExecutorDxe: Convert IA32/S3Asm.asm to NASM

Use real nasm instruction to replace DB bytes.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
4 years agoMdeModulePkg BootScriptExecutorDxe: Convert IA32/S3Asm.asm to NASM
Jordan Justen [Tue, 31 May 2016 01:52:18 +0000 (18:52 -0700)]
MdeModulePkg BootScriptExecutorDxe: Convert IA32/S3Asm.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
IA32/S3Asm.asm to IA32/S3Asm.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoMdeModulePkg EbcDxe: Convert X64/EbcLowLevel.asm to NASM
Jordan Justen [Tue, 31 May 2016 01:52:18 +0000 (18:52 -0700)]
MdeModulePkg EbcDxe: Convert X64/EbcLowLevel.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/EbcLowLevel.asm to X64/EbcLowLevel.nasm

And, manually update nasm code to use mov rcx, dword value and generate
the same assembly code with rcx register to asm code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoMdeModulePkg EbcDxe: Convert Ia32/EbcLowLevel.asm to NASM
Jordan Justen [Tue, 31 May 2016 01:52:18 +0000 (18:52 -0700)]
MdeModulePkg EbcDxe: Convert Ia32/EbcLowLevel.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/EbcLowLevel.asm to Ia32/EbcLowLevel.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoMdeModulePkg DebugSupportDxe: Convert X64/AsmFuncs.asm to NASM
Jordan Justen [Sat, 25 Oct 2014 21:48:26 +0000 (14:48 -0700)]
MdeModulePkg DebugSupportDxe: Convert X64/AsmFuncs.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/AsmFuncs.asm to X64/AsmFuncs.nasm

Note: Also applied many manual cleanups where conversion script failed

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
4 years agoMdeModulePkg DebugSupportDxe: Convert Ia32/AsmFuncs.asm to NASM
Jordan Justen [Sat, 25 Oct 2014 21:48:26 +0000 (14:48 -0700)]
MdeModulePkg DebugSupportDxe: Convert Ia32/AsmFuncs.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/AsmFuncs.asm to Ia32/AsmFuncs.nasm

Note: Also applied many manual cleanups where conversion script failed
And, update Vect2Desc() to be same to original logic

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
4 years agoMdeModulePkg CapsulePei: Convert X64/PageFaultHandler.asm to NASM
Jordan Justen [Tue, 31 May 2016 01:52:18 +0000 (18:52 -0700)]
MdeModulePkg CapsulePei: Convert X64/PageFaultHandler.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/PageFaultHandler.asm to X64/PageFaultHandler.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoMdeModulePkg DxeIplPeim: Convert Ia32/IdtVectorAsm.asm to NASM
Jordan Justen [Fri, 31 Oct 2014 08:18:48 +0000 (01:18 -0700)]
MdeModulePkg DxeIplPeim: Convert Ia32/IdtVectorAsm.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/IdtVectorAsm.asm to Ia32/IdtVectorAsm.nasm

Note: Manually updated code storing @VectorTemplateBase address

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
4 years agoMdeModulePkg EbcDxe: Use NASM compatible syntax
Jordan Justen [Thu, 16 Oct 2014 14:57:03 +0000 (07:57 -0700)]
MdeModulePkg EbcDxe: Use NASM compatible syntax

Without this change, after converting this code to NASM, this error
will be reported:
error: comma or end of line expected

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
4 years agoMdeModulePkg BootScriptExecutorDxe: EXTERNDEF=>PUBLIC in S3Asm
Jordan Justen [Thu, 16 Oct 2014 05:55:36 +0000 (22:55 -0700)]
MdeModulePkg BootScriptExecutorDxe: EXTERNDEF=>PUBLIC in S3Asm

NASM doesn't support EXTERNDEF, so convert this to PUBLIC.

This will make it easier to convert this code to NASM using an
automated script.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
4 years agoMdeModulePkg BootScriptExecutorDxe: Use NASM compatible syntax
Jordan Justen [Thu, 16 Oct 2014 14:57:03 +0000 (07:57 -0700)]
MdeModulePkg BootScriptExecutorDxe: Use NASM compatible syntax

Without this change, after converting this code to NASM, this error
will be reported:
error: invalid combination of opcode and operands

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
4 years agoMdePkg BaseLib: Convert Ia32/DisablePaging32.asm to NASM
Liming Gao [Sun, 12 Jun 2016 08:13:28 +0000 (16:13 +0800)]
MdePkg BaseLib: Convert Ia32/DisablePaging32.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/DisablePaging32.asm to Ia32/DisablePaging32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoMdePkg BaseSynchronizationLib: Convert X64/InterlockedIncrement.asm to NASM
Jordan Justen [Tue, 31 May 2016 01:52:14 +0000 (18:52 -0700)]
MdePkg BaseSynchronizationLib: Convert X64/InterlockedIncrement.asm to NASM

The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InterlockedIncrement.asm to X64/InterlockedIncrement.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>