Vitaly Cheptsov
09fe015af9
MdePkg: Fix SafeString performing assertions on runtime checks
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2054
Runtime checks returned via status return code should not work as
assertions to permit parsing not trusted data with SafeString
interfaces. Replace ASSERT() with a DEBUG_VERBOSE message.
Cc: Andrew Fish <afish@apple.com >
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Cc: Bret Barkelew <bret.barkelew@microsoft.com >
Cc: Brian J. Johnson <brian.johnson@hpe.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Marvin Häuser <mhaeuser@outlook.de >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Vincent Zimmer <vincent.zimmer@intel.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Vitaly Cheptsov <vit9696@protonmail.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2020-05-22 00:03:14 +00:00
Abner Chang
4e74764245
MdePkg/BaseSafeIntLib: Add RISCV64 arch for BaseSafeIntLib.
...
Add RISCV64 arch for BaseSafeIntLib library.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
Cc: Daniel Helmut Schaefer <daniel.schaefer@hpe.com >
2020-05-07 03:17:15 +00:00
Abner Chang
8c43227c64
MdePkg/BaseSynchronizationLib: RISC-V cache related code.
...
Support RISC-V cache related functions.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
2020-05-07 03:17:15 +00:00
Abner Chang
3fd8800954
MdePkg/BaseCpuLib: RISC-V Base CPU library
...
implementation.
Implement RISC-V CPU related functions in BaseCpuLib.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
2020-05-07 03:17:15 +00:00
Abner Chang
54a3d5ec48
MdePkg/BasePeCoff: Add RISC-V PE/Coff related code.
...
Support RISC-V image relocation.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
2020-05-07 03:17:15 +00:00
Abner Chang
089e9c19a8
MdePkg/BaseIoLibIntrinsic: Rename IoLibArm.c=>IoLibNoIo.c
...
RISC-V MMIO library instance.
IoLibArm.c in fact implements a generic Mmio-only (and ANSI
C compliant), so rename it to better reflect this.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
2020-05-07 03:17:15 +00:00
Abner Chang
38e72aa877
MdePkg/BaseCacheMaintenanceLib:
...
RISC-V cache maintenance implementation.
Implement RISC-V cache maintenance functions in
BaseCacheMaintenanceLib.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
2020-05-07 03:17:15 +00:00
Abner Chang
7601b251fd
MdePkg/BaseLib: BaseLib for RISCV64 architecture
...
Add RISC-V RV64 BaseLib functions.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
2020-05-07 03:17:15 +00:00
Zurcher, Christopher J
8c654bb3ec
MdePkg/UefiScsiLib: Set FUA bit for synchronous SCSI Write operations
...
The FUA (Force Unit Access) bit forces data to be written directly to
disk instead of the write cache. This prevents data from being lost if a
shutdown or reset is requested immediately after a SCSI write operation.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Christopher J Zurcher <christopher.j.zurcher@intel.com >
2020-04-15 01:13:04 +00:00
Daniel Schaefer
9b2b0942f1
MdePkg/DxeServicesLib: Add RISC-V architecture
...
BZ:2562:
https://bugzilla.tianocore.org/show_bug.cgi?id=2562
Signed-off-by: Daniel Schaefer <daniel.schaefer@hpe.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Cc: Abner Chang <abner.chang@hpe.com >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
2020-04-03 17:09:12 +00:00
Michael D Kinney
02b7b861b1
MdePkg/BaseSafeIntLib: Fix VS20xx IA32 link failures
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2525
SafeUint64Mult() looks for 64-bit overflows and performs
several 32-bit multiples with 64-bit results to check for
all possible overflow conditions. IA32 builds using VS20xx
with optimizations enabled are producing a reference to
the _allmull intrinsic.
The fix is to use MultU64x64() instead of '*' for
these operations. These are safe because the inputs
are guaranteed to have the upper 32-bits clear, which
means MultU64x64() can never overflow with those inputs.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-02-13 01:42:50 +00:00
Antoine Coeur
fae43d06dd
MdePkg/Library/Smm: Fix various typos
...
Fix various typos in comments and documentation.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Antoine Coeur <coeur@gmx.fr >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
Message-Id: <20200207010831.9046-27-philmd@redhat.com >
2020-02-10 22:30:07 +00:00
Antoine Coeur
a8ecf980c0
MdePkg/Library/Pci: Fix various typos
...
Fix various typos in comments and documentation.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Antoine Coeur <coeur@gmx.fr >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
Message-Id: <20200207010831.9046-26-philmd@redhat.com >
2020-02-10 22:30:07 +00:00
Antoine Coeur
c1d8b697cf
MdePkg/Library/Dxe: Fix various typos
...
Fix various typos in documentation, comments and strings,
and remove the duplicated 'the'.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Antoine Coeur <coeur@gmx.fr >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
Message-Id: <20200207010831.9046-25-philmd@redhat.com >
2020-02-10 22:30:07 +00:00
Vitaly Cheptsov via Groups.Io
df851da3ce
MdePkg: Do not use CreateEventEx unless required
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2446
There are many firmwares in the wild not supporting CreateEventEx,
including devices less than 5 years old.
Signed-off-by: Vitaly Cheptsov <vit9696@protonmail.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-01-10 03:25:59 +00:00
Shenglei Zhang
54a07f8fe0
MdePkg: Update the comments of IsLanguageSupported
...
Keep the comment style of IsLanguageSupported align with
other functions.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-11-20 15:03:24 +00:00
Jian J Wang
c9af866cdd
MdePkg: add null version of RngLib
...
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1871
This is null version of RngLib which should be used with modules that
inherit an (indirect) dependency on the RngLib class, but never actually
call RngLib APIs for consuming randomness.
To be more specific, if following components or functionalities are used
in a platform, the BaseRngLibNull should *not* be used. Instead, a non-Null
version of RngLib must be used (like BaseRngLib for IA32/X64, or future
DxeRngLibRngProtocol for all ARCHs).
- HddPasswordDxe.inf
- AES, TLS (TlsDxe.inf, TlsLib.inf), RSA_OAEP, RSA_PK1
- (If BaseRngLibNull interface ASSERTed at boot time)
Signed-off-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-11-14 01:32:15 +00:00
Marvin Haeuser
6407186db9
MdePkg/UefiFileHandleLib: Tolerate more Root handle FileNames
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2295
The current implementation of the FileHandleGetFileName() function
assumes that the Root directory always has the FileName '\0'.
However, the only requirement the UEFI specification defines is that
a prepended '\\' must be supported to access files and folders
relative to the Root directory.
This patch removes this assumption and supports constructing valid
paths for any value of FileName for the Root Directory.
In practice, this fixes compatibility issues with File System drivers
that report '\\' as the FileName of the Root directory, which
currently is both generating an invalid path ("\\\\") and resulting
in an EFI_NOT_FOUND result from the CurrentHandle->Open() call.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Marvin Haeuser <mhaeuser@outlook.de >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com >
2019-11-04 08:52:57 +08:00
Marvin Haeuser
1009b59b65
MdePkg/UefiFileHandleLib: Fix potential NULL dereference
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2293
Move the NULL check in FileHandleGetInfo() to directly after the
allocation to prevent potential NULL dereferences.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Marvin Haeuser <mhaeuser@outlook.de >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-11-04 08:52:07 +08:00
Marvin Haeuser
787c4baace
MdePkg/UefiDebugLibStdErr: Pass the correct buffer size
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2302
The second argument of "UnicodeVSPrintAsciiFormat" is "BufferSize",
which takes the size of the buffer in bytes. Replace the currently
used MAX_DEBUG_MESSAGE_LENGTH usage, which is the buffer's length,
with the actual buffer size.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Marvin Haeuser <mhaeuser@outlook.de >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-11-04 08:52:04 +08:00
Marvin Haeuser
5ae6c993ab
MdePkg/UefiDebugLibConOut: Pass the correct buffer size
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2302
The second argument of "UnicodeVSPrintAsciiFormat" is "BufferSize",
which takes the size of the buffer in bytes. Replace the currently
used MAX_DEBUG_MESSAGE_LENGTH usage, which is the buffer's length,
with the actual buffer size.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Marvin Haeuser <mhaeuser@outlook.de >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-11-04 08:52:01 +08:00
Liming Gao
0f59f44805
MdePkg BaseIoLibIntrinsic: Remove __inline__ attribute for IO functions
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1603
__inline__ has no functional difference effect with the GCC48 / GCC49 / GCC5
toolchains, but it breaks the build with CLANG9. Remove __inline__.
Signed-off-by: Liming Gao <liming.gao@intel.com >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Cc: Michael Kinney <michael.d.kinney@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2019-10-24 09:41:32 +08:00
Laszlo Ersek
b1a6a0676a
MdePkg/DxeServicesLib: remove bogus cast
...
The HandleProtocol() boot service takes an EFI_HANDLE, not an
(EFI_HANDLE*). Remove the bogus cast in the
InternalImageHandleToFvHandle() function.
This is a semantic cleanup; there is no change in behavior.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
2019-10-09 09:40:10 +02:00
Zurcher, Christopher J
9b14509b16
MdePkg: Implement SCSI commands for Security Protocol In/Out
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1546
This patch implements the Security Protocol In and Security Protocol Out
commands in UefiScsiLib to prepare support for the Storage Security
Command Protocol.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Christopher J Zurcher <christopher.j.zurcher@intel.com >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-09-29 16:43:45 +08:00
Tom Zhao
ea331a5c21
MdePkg: UefiLib: Add a function to check if a language is supported
...
Add a function that checks if a target language is in the supported
languages list. Add some calls to this function where appropriate in
UefiLib.c
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Tom Zhao <tzhao@solarflare.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-09-17 09:39:04 +08:00
Jayanth Raghuram
17f8c9e97d
MdePkg/DxeHstiLib: Added checks to improve error handling.
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2138
Added checks for return parameters of GetSupportedTypes
function calls in InternalHstiFindAip to improve error handling.
An issue was observed on Dell Poweredge R740, where the Dell
PERC H740P controller UEFI driver returned InfoTypesBuffer = NULL,
InfoTypesBufferCount = 0 and caused an FreePool assert.
Signed-off-by: Jayanth Raghuram <Jayanth.Raghuram@Dell.com >
Cc: Wei G Liu <Wei_G_Liu@Dell.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-09-02 12:17:56 +08:00
Shenglei Zhang
c0e174bd5b
MdePkg/BaseUefiDecompressLib: Add missing description for parameter
...
The description of parameter Version is missing in comments.
So add the description.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-08-13 17:16:14 +08:00
Xu, Wei6
28bc699240
MdePkg/UefiDebugLibStdErr: Add destructor to CloseEvent
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2012
When driver is unloaded, the ExitBootSerivesEvent must be closed at
the same time. Otherwise exception will occur when ExitBootServices.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Wei6 Xu <wei6.xu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-29 11:01:43 +08:00
Xu, Wei6
0f4b77f5b2
MdePkg/UefiDebugLibDebugPortProtocol: Add destructor to CloseEvent
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2012
When driver is unloaded, the ExitBootSerivesEvent must be closed at
the same time. Otherwise exception will occur when ExitBootServices.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Wei6 Xu <wei6.xu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-29 11:01:40 +08:00
Xu, Wei6
e92bdcb3ec
MdePkg/UefiDebugLibConOut: Add destructor to CloseEvent
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2012
When driver is unloaded, the ExitBootSerivesEvent must be closed at
the same time. Otherwise exception will occur when ExitBootServices.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Wei6 Xu <wei6.xu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-07-29 11:01:37 +08:00
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
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
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
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
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
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
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