Laszlo Ersek
cce01f538f
MdePkg/BaseLib: Base64Decode(): don't declare variables in nested blocks
...
The EDK II C Coding Standards Specification (v2.20) strongly discourages
variable declarations in nested block scope:
5 Source Files
5.4 Code File Structure
5.4.1 Scoping Rules
5.4.1.1 Scope
> Block (local) Scope
>
> [...]
>
> Data declarations may follow the opening brace of a compound statement,
> regardless of nesting depth, and before any code generating statements
> have been entered. Other than at the outermost block of a function body,
> this type of declaration is strongly discouraged.
Hoist such variable declarations in Base64Decode() to the outermost
function scope.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Fixes: 35e242b698
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1980
Reported-by: Zhichao Gao <zhichao.gao@intel.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Tested-by: Philippe Mathieu-Daude <philmd@redhat.com >
2019-07-17 16:36:57 +02:00
Laszlo Ersek
35e242b698
MdePkg/BaseLib: rewrite Base64Decode()
...
Rewrite Base64Decode() from scratch, due to reasons listed in the second
reference below.
Implement Base64Decode() according to the specification added in the
previous patch. The decoder scans the input buffer once, it has no inner
loop(s), and it spills each output byte as soon as the output byte is
complete.
The intent is to only strengthen the checks (sanity and input) relative to
the previous implementation, hence the MAX_ADDRESS checks are reinstated.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Marvin Häuser <mhaeuser@outlook.de >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1891
Ref: http://mid.mail-archive.com/c495bd0b-ea4d-7206-8a4f-a7149760d19a@redhat.com
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Tested-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
[lersek@redhat.com: add last para to commit msg per talks w/ Marvin & Phil]
2019-07-16 23:24:38 +02:00
Laszlo Ersek
5d68fc6781
MdePkg/BaseLib: re-specify Base64Decode(), and add temporary stub impl
...
Rewrite Base64Decode() from scratch, due to reasons listed in the second
reference below.
As first step, redo the interface contract, and replace the current
implementation with a stub that asserts FALSE, then fails.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Marvin Häuser <mhaeuser@outlook.de >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1891
Ref: http://mid.mail-archive.com/c495bd0b-ea4d-7206-8a4f-a7149760d19a@redhat.com
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-16 23:04:15 +02:00
Eric Dong
18f169a95c
MdePkg: Add new MM MP Protocol definition.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1937
EFI MM MP Protocol is defined in the PI 1.5 specification.
The MM MP protocol provides a set of functions to allow execution of
procedures on processors that have entered MM. This protocol has the
following properties:
1. The caller can invoke execution of a procedure on a processor, other
than the caller, that has also entered MM. Supports blocking and
non-blocking modes of operation.
2. The caller can invoke a procedure on multiple processors. Supports
blocking and non-blocking modes of operation.
Cc: Ray Ni <ray.ni@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Regression-tested-by: Laszlo Ersek <lersek@redhat.com >
2019-07-16 11:54:55 +08:00
Ray Ni
6e5a33d1fb
MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging
...
5-level paging is documented in white paper:
https://software.intel.com/sites/default/files/managed/2b/80/5-level_paging_white_paper.pdf
Commit f8113e2500
changed Cpuid.h already.
This patch updates IA32_CR4 structure to include LA57 field.
Signed-off-by: Ray Ni <ray.ni@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Regression-tested-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
(cherry picked from commit 7c5010c7f8
)
2019-07-12 15:12:43 +08:00
Ray Ni
deb90ac03a
Revert "MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging"
...
This reverts commit 7c5010c7f8
.
Commit
7c5010c7f8
MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging
technically breaks the EDKII development process documented in
https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Development-Process
and Maintainers.txt in EDKII repo root directory.
The voilation is commit 7c5010c7f8
doesn't have a Reviewed-by or
Acked-by from MdePkg maintainers.
Signed-off-by: Ray Ni <ray.ni@intel.com >
2019-07-12 15:11:02 +08:00
Ray Ni
7c5010c7f8
MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging
...
5-level paging is documented in white paper:
https://software.intel.com/sites/default/files/managed/2b/80/5-level_paging_white_paper.pdf
Commit f8113e2500
changed Cpuid.h already.
This patch updates IA32_CR4 structure to include LA57 field.
Signed-off-by: Ray Ni <ray.ni@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Regression-tested-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
2019-07-10 16:00:06 +08:00
Laszlo Ersek
6a34c1ce70
Revert "MdePkg/Protocol/Hash: introduce GUID for SM3"
...
This reverts commit 49c1e683c4
.
The reason is that said commit had not been reviewed by MdePkg
maintainers, before it was pushed.
Cc: Imran Desai <imran.desai@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1781
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
2019-07-04 17:50:50 +02:00
Imran Desai
49c1e683c4
MdePkg/Protocol/Hash: introduce GUID for SM3
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1781
EDK2 Support for SM3 digest algorithm is needed to enable TPM with SM3 PCR
banks. This digest algorithm is part of the China Crypto algorithm suite.
This integration has dependency on the openssl_1_1_1b integration into
edk2.
This patch adds GUID for SM3 digest algorithm.
Signed-off-by: Imran Desai <imran.desai@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: jiewen.yao@intel.com
2019-07-03 16:31:53 +08:00
Krzysztof Koch
425d8d487f
MdePkg: Add Generic Initiator Affinity Structure definitions to SRAT
...
Add Generic Initiator Affinity Structure to the list of recognised
System Resource Affinity Table (SRAT) structure types.
Add definitions for Device Handle Types inside the Generic Initiator
Affinity Structure.
References:
- ACPI 6.3 January 2019, Table 5-78
Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-06-21 09:21:56 +08:00
Dandan Bi
3f0055c8de
MdePkg: Merge TianoCustomDecompress algorithm into
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1722
We plan to merge the BaseUefiTianoCustomDecompressLib
in MdeModulePkg into the BaseUefDecompressLib in MdePkg.
In order to reduce the duplicated codes and maintain
easily.
This patch adds a new fdf file in BaseUefDecompressLib
(BaseUefiTianoCustomDecompressLib.inf) to keep the same
functionality and usage model with the one in MdeModulePkg,
and then update consumer to use this new one one and
remove the one in MdeModulePkg finally.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-05-15 20:48:26 +08:00
Krzysztof Koch
a40f30398a
MdePkg: Add ACPI 6.3 header file
...
The patch includes the following ACPI 6.3 updates:
1. Reserve CRAT and CDIT table names in ACPI 6.3 header.
- ACPI 6.3 January 2019, Table 5-30
- Mantis ID 1883 (https://mantis.uefi.org/mantis/view.php?id=1883 )
2. Add new processor structure flags in PPTT.
- ACPI 6.3 January 2019, Section 5.2.29
- Mantis ID 1870 (https://mantis.uefi.org/mantis/view.php?id=1870 )
- Mantis ID 1934 (https://mantis.uefi.org/mantis/view.php?id=1934 )
3. Add SPE support to MADT.
- ACPI 6.3 January 2019, Table 5-60
- Mantis ID 1934 (https://mantis.uefi.org/mantis/view.php?id=1934 )
4. Add 'Hot-plug Capable' flag to APIC.
- ACPI 6.3 January 2019, Table 5-44, Table 5-47 & Table 5-58
- Mantis ID 1948 (https://mantis.uefi.org/mantis/view.php?id=1948 )
5. Add CNTHV timer to GTDT.
- ACPI 6.3 January 2019, Section 5.2.24
- Mantis ID 1851 (https://mantis.uefi.org/mantis/view.php?id=1851 )
6. Add 'Trigger Order' to Platform Communication Channel Identification
Structure.
- ACPI 6.3 January 2019, Section 5.2.28
- Mantis ID 1867 (https://mantis.uefi.org/mantis/view.php?id=1867 )
7. Add Generic Initiator Affinity Structure to SRAT.
- ACPI 6.3 January 2019, Section 5.2.16.6
- Mantis ID 1904 (https://mantis.uefi.org/mantis/view.php?id=1904 )
8. Add 'HMAT Enhancements'.
- ACPI 6.3 January 2019, Section 5.2.27
- Mantis ID 1914 (https://mantis.uefi.org/mantis/view.php?id=1914 )
- Mantis ID 1959 (https://mantis.uefi.org/mantis/view.php?id=1959 )
9. Fix generic address structure definition to include all address
space ID keywords.
- ACPI 6.3 January 2019, Table 5-25
- Mantis ID 1965 (https://mantis.uefi.org/mantis/view.php?id=1965 )
10. Make Acpi63.h the latest ACPI definition.
Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2019-05-15 20:04:58 +08:00
Michael D Kinney
aec7465689
MdePkg/BaseLib: Use PcdSpeculationBarrierType
...
Use PcdSpeculationBarrierType in the x86 implementation
of SpeculationBarrier() to select between AsmLfence(),
AsmCpuid(), and no operation.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Brian J. Johnson <brian.johnson@hpe.com >
2019-04-30 16:39:15 -07:00
Michael D Kinney
a41b12574e
MdePkg: Add PcdSpeculationBarrierType
...
Add gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType that
uses the PCD type FixedAtBuild. This performs a build time
selection for the type of speculation barrier to use in the
BaseLib function SpeculationBarrier(). The recommended
speculation barrier for x86 is LFENCE and this is the default
value for this PCD. x86 CPUs that do not support LFENCE must
select one of the other supported values which includes CPUID
and nothing.
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Brian J. Johnson <brian.johnson@hpe.com >
2019-04-30 16:39:09 -07:00
Zhichao Gao
ffe48f4b6c
MdePkg/UefiDebugLibStdErr: make global variable static
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1740
Add a 'static' storage-class specifier to the global variables
that only used in a single file to minimize the name collisions.
This is only for the variable named 'mExitBootServicesEvent'.
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Dandan Bi <dandan.bi@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 10:54:27 +08:00
Zhichao Gao
7eef381378
MdePkg/UefiDebugLibDebugPortProtocol: make global variable static
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1740
Add a 'static' storage-class specifier to the global variables
that only used in a single file to minimize the name collisions.
This is only for the variable named 'mExitBootServicesEvent'.
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Dandan Bi <dandan.bi@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 10:54:27 +08:00
Zhichao Gao
c17e4a2f53
MdePkg/UefiDebugLibConOut: make global variable static
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1740
Add a 'static' storage-class specifier to the global variables
that only used in a single file to minimize the name collisions.
This is only for the variable named 'mExitBootServicesEvent'.
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Dandan Bi <dandan.bi@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 10:54:27 +08:00
Shenglei Zhang
4e1daa60f5
MdePkg: Removed IPF related code
...
A previous commit(3cb0a311cb
) didn't
clean all IPF contents. So this change removes the rest contents.
https://bugzilla.tianocore.org/show_bug.cgi?id=1560
v2: Withdraw the removal of Mps.h. It is written in Mps.h that
MPS only was included to support Itanium-based platform power on.
But we found MPS is not so relevant to Itanium architecture.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 09:50:14 +08:00
Zhichao Gao
d821151e81
MdePkg/PeiServicesLib.c: Change comments of PeiServicesResetSystem2
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1460
Refer to Uefi spec 2.8, the ResetData is valid while ResetStatus
is EFI_SUCCESS regardless of the ResetType is EfiResetPlatformSpecific
or not.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 09:40:12 +08:00
Zhichao Gao
1abe0959f0
MdePkg/PeiServicesLib.h: Change comments of PeiServicesResetSystem2
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1460
Refer to Uefi spec 2.8, the ResetData is valid while ResetStatus
is EFI_SUCCESS regardless of the ResetType is EfiResetPlatformSpecific
or not.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 09:40:12 +08:00
Zhichao Gao
efaed0ab67
MdePkg/PiPeiCis.h: Change comments of EFI_PEI_RESET2_SYSTEM
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1460
Refer to Uefi spec 2.8, the ResetData is valid while ResetStatus
is EFI_SUCCESS regardless of the ResetType is EfiResetPlatformSpecific
or not.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 09:40:11 +08:00
Zhichao Gao
228a9c2999
MdePkg/UefiSpec.h: Change comments of EFI_RESET_SYSTEM
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1460
Refer to Uefi spec 2.8, the ResetData is valid while ResetStatus
is EFI_SUCCESS regardless of the ResetType is EfiResetPlatformSpecific
or not.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-28 09:40:11 +08:00
Laszlo Ersek
1fd227dd26
MdePkg/PiFirmwareFile: fix undefined behavior in FFS_FILE_SIZE
...
Accessing "EFI_FFS_FILE_HEADER.Size", which is of type UINT8[3], through a
(UINT32*), is undefined behavior. Fix it by accessing the array elements
individually.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1710
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-04-24 17:31:00 +02:00
Laszlo Ersek
fc76bbd94d
MdePkg/PiFirmwareFile: fix undefined behavior in SECTION_SIZE
...
RH covscan justifiedly reports that accessing
"EFI_COMMON_SECTION_HEADER.Size", which is of type UINT8[3], through a
(UINT32*), is undefined behavior:
> Error: OVERRUN (CWE-119):
> edk2-89910a39dcfd/OvmfPkg/Sec/SecMain.c:178: overrun-local: Overrunning
> array of 3 bytes at byte offset 3 by dereferencing pointer
> "(UINT32 *)((EFI_COMMON_SECTION_HEADER *)(UINTN)Section)->Size".
> # 176| Section = (EFI_COMMON_SECTION_HEADER*)(UINTN) CurrentAddress;
> # 177|
> # 178|-> Size = SECTION_SIZE (Section);
> # 179| if (Size < sizeof (*Section)) {
> # 180| return EFI_VOLUME_CORRUPTED;
Fix this by accessing the array elements individually.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1710
Issue: scan-1007.txt
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-04-24 17:30:54 +02:00
Laszlo Ersek
d976f09d99
MdePkg/PiFirmwareFile: express IS_SECTION2 in terms of SECTION_SIZE
...
The IS_SECTION2() function-like macro duplicates the SECTION_SIZE()
calculation, just to compare the computed size against 0xFFFFFF. Invoke
SECTION_SIZE() instead; only preserve the comparison.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1710
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-04-24 17:30:46 +02:00
Shenglei Zhang
5b7255e3d9
MdePkg/BaseLib: Remove support of INTEL tool chain
...
As Intel tool chain will be removed, support of INTEL tool chain
should be removed first.
https://bugzilla.tianocore.org/show_bug.cgi?id=1666
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
(cherry picked from commit dd611bfeaac249cebb6c12ffdcbbf510f8ed1980)
2019-04-24 10:23:21 +08:00
Shenglei Zhang
e7ee4e0da1
MdePkg/BaseIoLibIntrinsic: Remove IoLibIcc.c
...
As ICC tool chain will be removed, IoLibIcc.c should
also be removed.
https://bugzilla.tianocore.org/show_bug.cgi?id=1666
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
(cherry picked from commit 9b5be294b93f7ff7fe1bcafdc3c57016f58ee4e8)
2019-04-24 10:23:21 +08:00
Aaron Antone
e72920ec61
MdePkg/UefiDebugLibStdErr: Make it runtime safe
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1416
After ExitBootServices, some pointer would be invalid such as
the Protocol pointer and gST. The function depend on those should
be prevent. So disable the related function while after
ExitBootServices.
Change the gST to a internal one, because there will be a cycle
consume between UefiBootServicesTableLib and DebugLib due to the
library constructors.
Also remove the SMM support for this instance.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-22 09:52:54 +08:00
Aaron Antone
452702d0bc
MdePkg/UefidebugLibConOut: Make it runtime safe
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1416
After ExitBootServices, some pointer would be invalid such as
the Protocol pointer and gST. The function depend on those should
be prevent. So disable the related function while after
ExitBootServices.
Change the gST to a internal one, because there will be a cycle
consume between UefiBootServicesTableLib and DebugLib due to the
library constructors.
Also remove the SMM support for this instance.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-22 09:52:54 +08:00
Aaron Antone
2b5778c68b
MdePkg/UefiDebugLibDebugPortProtocol: Make it runtime safe
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1416
After ExitBootServices, some pointer would be invalid such as
the Protocol pointer and gBS. The function depend on those should
be prevent. So disable the related function while after
ExitBootServices.
Change the gBS to a internal one, because there will be a cycle
consume between UefiBootServicesTableLib and DebugLib due to the
library constructors.
Also remove the SMM support for this instance.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-22 09:52:54 +08:00
Ard Biesheuvel
431390dc1f
MdePkg/UefiBaseType.h: treat EBC as a non-native machine type
...
Instead of classifying EBC as a supported machine type and have special
handling in DXE core for loading EBC images, make it a foreign type and
rely on the EDK2 PE/COFF image emulator protocol to claim the image when
the DXE core finds that it cannot be supported natively.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Hao Wu <hao.a.wu@intel.com >
2019-04-14 18:37:36 -07:00
Shenglei Zhang
174232fa9a
MdePkg/BaseLib: Remove LongJump.c and SetJump.c
...
MdePkg BaseLib still uses the inline X86 assembly code
in C code files.For now, inline SetJump/LongJump() can be removed.
https://bugzilla.tianocore.org/show_bug.cgi?id=1163
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-15 09:12:44 +08:00
Michael D Kinney
9344f09215
MdePkg: Replace BSD License with BSD+Patent License
...
https://bugzilla.tianocore.org/show_bug.cgi?id=1373
Replace BSD 2-Clause License with BSD+Patent License. This change is
based on the following emails:
https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html
RFCs with detailed process for the license change:
V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-09 10:58:13 -07:00
Shenglei Zhang
94cf7d235a
MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch
...
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-03 13:27:44 +08:00
Shenglei Zhang
42b7b15d27
MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch
...
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-03 13:27:44 +08:00
Shenglei Zhang
ef008cd706
MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch
...
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-03 13:27:44 +08:00
Shenglei Zhang
fbce3e064c
MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch
...
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-03 13:27:43 +08:00
Shenglei Zhang
f578386cc4
MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch
...
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-03 13:27:43 +08:00
Shenglei Zhang
1ee58b7103
MdePkg/BaseLib: Remove .S files for IA32 and X64 arch
...
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-03 13:27:43 +08:00
Shenglei Zhang
4eea7627ef
MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch
...
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594
v2: Remove CpuSleep.nasm| GCC and CpuFlushTlb.nasm| GCC in X64 arch
in BaseCpuLib.inf.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-03 13:27:43 +08:00
Bret Barkelew
27d86bc12b
MdePkg/UefiDebuglibDebugPortProtocol: Add new APIs
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
Add new APIs' implementation (DebugVPrint, DebugBPrint)
in the DebugLib instance. These APIs would expose print
routines with VaList parameter and BaseList parameter.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-02 12:49:28 +08:00
Bret Barkelew
b22b4f5aee
MdePkg/DxeRuntimeDebugLibSerialPort: Add new APIs
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
Add new APIs' implementation (DebugVPrint, DebugBPrint)
in the DebugLib instance. These APIs would expose print
routines with VaList parameter and BaseList parameter.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-02 12:49:28 +08:00
Bret Barkelew
8055c3d5ee
MdePkg/UefiDebugLibStdErr: Add new APIs
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
Add new APIs' implementation (DebugVPrint, DebugBPrint)
in the DebugLib instance. These APIs would expose print
routines with VaList parameter and BaseList parameter.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-02 12:49:28 +08:00
Bret Barkelew
ec81dba51f
MdePkg/UefidebugLibConOut: Add new APIs
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
Add new APIs' implementation (DebugVPrint, DebugBPrint)
in the DebugLib instance. These APIs would expose print
routines with VaList parameter and BaseList parameter.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-02 12:49:27 +08:00
Bret Barkelew
f13202874c
MdePkg/BaseDebugLibSerialPort: Add new APIs
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
Add new APIs' implementation (DebugVPrint, DebugBPrint)
in the DebugLib instance. These APIs would expose print
routines with VaList parameter and BaseList parameter.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-02 12:49:27 +08:00
Bret Barkelew
b04bdd154a
MdePkg/BaseDebugLibNull: Add new APIs for DebugLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
Add new APIs' implementation (DebugVPrint, DebugBPrint)
in the DebugLib instance. These APIs would expose print
routines with VaList parameter and BaseList parameter.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-02 12:49:27 +08:00
Bret Barkelew
b87a9a76eb
MdePkg/DebugLib.h: Add new APIs for DebugLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1395
Add new APIs DebugVPrint and DebugBPrint prototype
definition in the DebugLib header file. These APIs
would expose a print routine with VaList parameter
and BaseList parameter.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael Turner <Michael.Turner@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-02 12:49:27 +08:00
Shenglei Zhang
8028f03032
MdePkg/BaseUefiDecompressLib: Improve performance of boundary validation
...
The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-03-27 20:11:22 +08:00
Shenglei Zhang
2ac896a67b
MdePkg/PciSegmentLibSegmentInfo: Change parameters type
...
The current structure can lead to dependency on VC++ compiler support
functions when build for "IA32" with "/Od" switch, such as _aullshr().
So change the type of parameters in structure
PCI_SEGMENT_LIB_ADDRESS_STRUCTURE from UINT64 to UINT32.
https://bugzilla.tianocore.org/show_bug.cgi?id=1532
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-03-19 15:22:07 +08:00
Shenglei Zhang
d0abf8bb3e
MdePkg/MdePkg.uni: Add the prompt and help information
...
The prompt and help information are missing in MdePkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600
v2:Fix the error message of help and prompt information.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2019-03-19 15:21:59 +08:00