Yi Li
dfa6147a79
CryptoPkg: add more dummy implement of openssl for size optimization
...
Add dummy implement of Encoder, Pkcs12 and sslserver.
OpenSSL libraries which don't need these features can include
these files to reduce the size of output.
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
2bead79cfc
CryptoPkg: add implemention of _ftol2_sse() to avoid build error
...
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
b2ff8e45db
CryptoPkg: add define of maximum unsigned size_t
...
Used by openssl30 source code.
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
4b5faa5775
CryptoPkg: add missing gcc instructions
...
Used when build IA32 CryptoPkg by gcc, the definition of the
instructions can be found at:
https://gcc.gnu.org/onlinedocs/gccint/Integer-library-routines.html
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
43e0ede26b
CryptoPkg: Enable memcpy sys call in RISCV64 build
...
When build Openssl30, compiler optimization may use memcpy()
for memory copy.
Need enable it in RISCV64 build also.
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
f0d3e59754
CryptoPkg: Align with 4096 when build with OpensslFullAccel
...
Should align to 4096 when build ecp_nistz256 related asm files.
ecp_nistz256-x86.S Line3:
.globl ecp_nistz256_precomputed
.align 4096
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
bdf3142eb7
CryptoPkg/TlsLib: use unsigned long for ErrorCode
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
20193b20b5
CryptoPkg: disable C4133 warning in openssl libraries
...
Disable warning as error of C4133:
v3_genn.c(101): warning C4133: 'function': incompatible types
- from 'ASN1_TYPE *' to 'const ASN1_STRING *'.
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
bf1ff73c8c
CryptoPkg: Add instrinsics to support building openssl3 on IA32 windows
...
This dependency is needed to build openssl lib with openssl3
under IA32 Windows, so added implementation for _alldiv, _aulldiv,
_aullrem and _alldvrm instrinsics.
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
cea8e3b513
CryptoPkg: adapt 3.0 change in SslNull.c
...
Type of input params changed in openssl30.
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
ea7a37d352
CryptoPkg: use UEFI provider as default
...
Added UEFI provider which removed unused features to
optimize the size of openssl3.
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
9b9b331e0f
CryptoPkg: Move all UEFI implement of openssl to OpensslStub
...
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
5e1900f266
CryptoPkg/openssl: adapt EcSm2Null.c for openssl 3.0
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
174a306ccd
CryptoPkg/openssl: store dummy update for openssl 3.0
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
3af00aec7f
CryptoPkg/openssl: move compiler_flags to buildinf.c
...
Seems with openssl 3.0 this is used by multiple source files,
so we get duplicate symbol errors when linking. Fix that by
moving compiler_flags from header file to a source file.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
c638d1f672
CryptoPkg/openssl: adapt rand_pool.c to openssl 3.0 changes
...
Some functions have been renamed.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
eac38f74c4
CryptoPkg/TlsLib: ERR_GET_FUNC is gone
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
2a6dc1211f
CryptoPkg/BaseCryptLib: drop BIO_* dummy functions
...
openssl 3.0 requires a functional BIO_sprintf() implementation.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
63c8d160ae
CryptoPkg/BaseCryptLib: adapt CryptSm3.c to openssl 3.0 changes.
...
Functions have been renamed.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
84158d0ebe
CryptoPkg/BaseCryptLib: no openssl deprecation warnings please
...
Stop using deprecated interfaces is left as exercise for another day.
So please don't warn for now so -Werror builds can work.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
ac492c3ead
CryptoPkg/openssl: UefiAsm.conf update for openssl 3.0
...
New naming convention for the configs: UEFI-${efiarch}-${compiler}.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
81f5aa0700
CryptoPkg/openssl: add openssl3 configure scripts
...
Rewrite the script to configure openssl 3.0 from scratch. It's two
scripts now:
* Tiny helper script, dumping the perl configdata as json.
* Actual configure.py script, written in python, which copies over
the generated files to openssl-gen and updates the OpensslLib*.inf
file lists and build flags.
The configuration workflow has changed a bit:
* All generated files are stored in the OpensslGen directory tree.
* For ec/no-ec builds two different header files are used. Default is
the ec variant, and the new EDK2_OPENSSL_NOEC define is used to
select the no-ec build. A five line wrapper include is used to pick
the one or the other.
* For non-accel builds -DOPENSSL_NO_ASM on the command line is used
(same as before).
* For configration defines the OPENSSL_FLAGS_$(variant) variable is
used, where variant is the architecture for the accelerated builds
and 'NOASM' for the non-accelerated builds.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
7cede6d5f4
CryptoPkg/openssl: update Openssl*.inf files for openssl 3.0
...
The configure workflow as changed, see the commit adding the configure
script for details. Adapt the *.inf files to the changes. The
configuration define handling has changed a bit. The new configure
script will build a single per-arch file list, which simplifies the
Accel configs.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Yi Li
49a113a7a4
CryptoPkg/openssl: cleanup all openssl1.1.1 generated files and code
...
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Gerd Hoffmann
9d6d237c3c
CryptoPkg/openssl: update submodule to openssl-3.0.9
...
Signed-off-by: Yi Li <yi1.li@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Brian J. Johnson <brian.johnson@hpe.com >
Tested-by: Kenneth Lautner <klautner@microsoft.com >
2023-08-09 07:10:31 +00:00
Foster Nong
136931c4db
MedPkg/Include: Add PCI_EXPRESS_EXTENDED_CAPABILITY_DVSEC_ID
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4515
Add PCI_EXPRESS_EXTENDED_CAPABILITY_DESIGNATED_VENDOR_SPECIFIC_ID
0x0023 in PciExpress40.h
Signed-off-by: Foster Nong <foster.nong@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2023-08-09 05:48:00 +00:00
Nate DeSimone
3c274c0d83
MdePkg: Add new status codes to PrintLib
...
PrintLib does not correctly decode the follow status codes:
1. EFI_IP_ADDRESS_CONFLICT
2. EFI_HTTP_ERROR
3. EFI_WARN_FILE_SYSTEM
4. EFI_WARN_RESET_REQUIRED
These missing status codes have been added.
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2023-08-07 22:56:02 +00:00
Nate DeSimone
107ddf1de9
MdePkg: Add missing status codes
...
REF: https://uefi.org/specs/UEFI/2.10/Apx_D_Status_Codes.html
Upon review it has been found that MdePkg is missing two
status code definitions:
1. EFI_IP_ADDRESS_CONFLICT - Added in UEFI Spec v2.5
2. EFI_WARN_RESET_REQUIRED - Added in UEFI Spec v2.6
These missing status codes have been added.
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2023-08-07 22:56:02 +00:00
Gerd Hoffmann
2d8c17a9b6
OvmfPkg/PlatformCI: Boot OVMF in SMP mode.
...
Increase the chance that CI finds bugs in MP changes.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
(cherry picked from commit f92a9dce10
)
Reapplying, since the CI (Windows and Linux) use Qemu 8 now, which works
with SMP again.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4324
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
[ardb: use single-threaded TCG for SMM]
2023-08-04 16:36:04 +02:00
Oliver Steffen
bae848ee25
OvmfPkg/PlatformCI VS2019: Disable workaround for cpuhp bugfix
...
This reverts commit 3beb8c9654
.
Both Windows and Linux CI jobs are now using Qemu 8, this workaround is
no longer needed.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4324
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
2023-08-04 16:36:04 +02:00
Oliver Steffen
744c42bfd8
OvmfPkg/PlatformCI: Use recent Qemu on Windows
...
Bump the version of the Qemu chocolatey package up to 2023.7.25.
The Linux CI is already using Qemu 8.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4324
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
2023-08-04 16:36:04 +02:00
likun su
01ad4134c3
MdeModulePkg: Solve boot hang Xhci driver when use USB DVD with empty disk
...
Signed-off-by: likun su <sulikun@loongson.cn >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: lichao <lichao@loongson.cn >
Acked-by: Hao A Wu <hao.a.wu@intel.com >
2023-08-04 01:27:33 +00:00
Oliver Smith-Denny
ef05145136
ArmPkg: DefaultExceptionHandlerLib: Do Not Allocate Memory
...
If gST->ConOut is available when Arm's DefaultExceptionHandler is
running, AsciiPrint will get called to attempt to print to ConOut, in
addition to the serial output.
AsciiPrint calls AsciiInternalPrint in UefiLibPrint.c which in turn
calls AllocatePool to allocate a buffer to convert the Ascii input
string to a Unicode string to pass to ConOut->OutputString.
Per the comment on DefaultExceptionHandler, we should not be allocating
memory in the exception handler, as this can cause the exception handler
to fail if we had a memory exception or the system state is such that we
cannot allocate memory.
It has been observed on ArmVirtQemu that exceptions generated in the
memory handling code will fail to output the stack dump and CPU state
that is critical to debugging because the AllocatePool will fail.
This patch fixes the Arm and AARCH64 DefaultExceptionHandlers to not
allocate memory when ConOut is available and instead use stack memory to
convert the Ascii string needed for SerialPortWrite to the Unicode
string needed for ConOut->OutputString. Correspondingly, ArmVirtQemu can
now output the stack dump and CPU state when hitting an exception in
memory code.
Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com >
2023-08-03 14:43:08 +00:00
Dandan Bi
7672d1cca5
MdeModulePkg/SetupBrowser: Load storage via GetVariable for EfiVarStore
...
For EfiVarStore (EFI_HII_VARSTORE_EFI_VARIABLE_BUFFER), it will call
ExtractConfig-GetVariable-HiiBlockToConfig-ConfigToBlock when load storage
value in LoadStorage function. It's not necessary and costs lots of time
to do the conversion between config and block.
So now enhance it to call GetVariable directly.
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Eric Dong <eric.dong@intel.com >
Signed-off-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Eric Dong <eric.dong@intel.com >
2023-08-03 12:12:27 +00:00
Joey Vagedes
fa789cc68a
BaseTools: scan Edk2ToolsBuild.py make output
...
Adds edk2_logging.scan_compiler_output() to Edk2ToolsBuild.py to catch
some compilation errors and log them as an error.
Cc: Rebecca Cran <rebecca@bsdio.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Signed-off-by: Joey Vagedes <joeyvagedes@gmail.com >
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
2023-08-02 15:20:47 +00:00
Joey Vagedes
5cadb8ce21
BaseTools: BinToPcd: Resolve xdrlib deprecation
...
Removes the dependency on xdrlib and replaces it with custom logic to
pack a per the xdr requirements. Necessary as xdrlib is being deprecated
in python 3.13.
Cc: Rebecca Cran <rebecca@bsdio.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Joey Vagedes <joeyvagedes@gmail.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-08-02 05:23:00 +00:00
Ranbir Singh
d11968fcc5
MdeModulePkg/Bus/Ata/AtaAtapiPassThru: Fix UNUSED_VALUE Coverity issue
...
The return value stored in Status after call to SetDriveParameters
is not made of any use thereafter and hence it remains as UNUSED.
Based on Hao's findings (https://edk2.groups.io/g/devel/message/106844 ),
the successful execution of SetDriveParameters() is not mandatory for
initializing IDE mode of a hard disk device. Hence remove the 'Status'
assignment of the return value from SetDriveParameters() and instead add
error checks & DEBUG_WARN level messages within SetDriveParameters()
function after sending INIT_DRIVE_PARAM & SET_MULTIPLE_MODE ATA commands.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4204
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Ranbir Singh <Ranbir.Singh3@Dell.com >
Signed-off-by: Ranbir Singh <rsingh@ventanamicro.com >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
2023-08-02 03:13:36 +00:00
Ranbir Singh
c7c1170a45
MdeModulePkg/Bus/Ata/AtaAtapiPassThru: Fix SIGN_EXTENSION Coverity issue
...
Line number 1348 does contain a typecast with UINT32, but it is after
all the operations (16-bit left shift followed by OR'ing) are over.
To avoid any SIGN_EXTENSION, typecast the intermediate result after
16-bit left shift operation immediately with UINT32.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4204
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Ranbir Singh <Ranbir.Singh3@Dell.com >
Signed-off-by: Ranbir Singh <rsingh@ventanamicro.com >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
2023-08-02 03:13:36 +00:00
Sunil V L
677f2c6f15
OvmfPkg/RiscVVirt: Update README for CLANGDWARF support
...
Update the README with instruction to build using CLANGDWARF
toolchain.
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Andrei Warkentin <andrei.warkentin@intel.com >
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com >
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org > # Debian clang version 14.0.6
2023-07-31 12:37:12 +00:00
Sunil V L
3f49462558
BaseTools/tools_def: Add CLANGDWARF support for RISC-V
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4478
Add tools_def definitions to support CLANGDWARF toolchain
for RISC-V. This uses clang and the llvm LLD linker. This
helps people by not requiring to install multiple
cross compilers for different architectures.
Cc: Rebecca Cran <rebecca@bsdio.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org > # Debian clang version 14.0.6
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
2023-07-31 12:37:12 +00:00
Sunil V L
0f9fd06919
OvmfPkg/RiscVVirt: SecEntry: Remove unnecessary assembly directives
...
llvm fails to resolve _ModuleEntry when these extra directives are
present. ASM_FUNC already takes care what is required.
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Andrei Warkentin <andrei.warkentin@intel.com >
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org > # Debian clang version 14.0.6
2023-07-31 12:37:12 +00:00
Sunil V L
8543840cfd
OvmfPkg/RiscVVirt: use 'auto' alignment and FIXED for XIP modules
...
Use auto alignment and FIXED FFS attribute for XIP modules similar
to [1]. Without this change, the CLANGDWARF toolchain will fail to
build with below error.
GenFfs: ERROR 1000: Unknown option
SectionAlign option must be specified with section file.
[1] - 7669f73498
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc Gerd Hoffmann <kraxel@redhat.com >
Cc: Andrei Warkentin <andrei.warkentin@intel.com >
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Ard Biesheuvel <ardb@kernel.org > # Debian clang version 14.0.6
2023-07-31 12:37:12 +00:00
Corvin Köhne
70f3e62dc7
OvmfPkg/BhyvePkg: enable bus enumeration
...
bhyve supports adding a ROM to PCI devices. It was added to support GPU
passthrough of dedicated AMD GPUs. At the moment, this ROM file is
mostly useless as it's not shadowed and executed by firmware. Change
that by enabling bus enumeration.
Signed-off-by: Corvin Köhne <corvink@FreeBSD.org >
Acked-by: Peter Grehan <grehan@freebsd.org >
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Rebecca Cran <rebecca@bsdio.com >
2023-07-31 01:13:47 +00:00
Corvin Köhne
f284981506
Revert "OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver"
...
We like to enable bus enumeration for bhyve. Therefore, this patch needs
to be reverted.
This reverts commit 8c8f886f27
.
Signed-off-by: Corvin Köhne <corvink@FreeBSD.org >
Acked-by: Peter Grehan <grehan@freebsd.org >
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Rebecca Cran <rebecca@bsdio.com >
2023-07-31 01:13:47 +00:00
Corvin Köhne
1c923b9f25
Revert "OvmfPkg/Bhyve: consume PciHostBridgeLibScan"
...
We like to enable bus enumartion for bhyve. Therefore, this patch needs
to be reverted.
This reverts commit c2f24ba321
.
Signed-off-by: Corvin Köhne <corvink@FreeBSD.org >
Acked-by: Peter Grehan <grehan@freebsd.org >
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Rebecca Cran <rebecca@bsdio.com >
2023-07-31 01:13:47 +00:00
YuanhaoXie
c7a7f09c1d
UefiCpuPkg: Decouple the SEV-ES functionality.
...
The purpose is to fix an issue where an exception occurs at the start
of the DXE phase by applying the following patch series on INTEL-based
systems.
UefiCpuPkg: Refactor the logic for placing APs in HltLoop.
UefiCpuPkg: Refactor the logic for placing APs in Mwait/Runloop.
UefiCpuPkg: Create MpHandOff.
UefiCpuPkg: ApWakeupFunction directly use CpuMpData.
UefiCpuPkg: Eliminate the second INIT-SIPI-SIPI sequence.
This series of patches makes changes to the way the APs are
initialized and woken up. It removes the 2nd time INIT-SIPI-SIPI and
introduces a special startup signal to wake up APs. These patches also
create a new HOB identified by the mMpHandOffGuid, which stores only the
minimum information required from the PEI phase to the DXE phase.
As a result, the original HOB (mCpuInitMpLibHobGuid) is now used only
as a global variable in the PEI phase and is no longer necessary in the
DXE phase for INTEL-based systems. The AMD SEV-ES related code
still relies on the OldCpuMpData in the DXE phase.
This patch decouple the SEV-ES functionality of assigning CpuMpData to
OldCpuMpData->NewCpuMpData from the Intel logic.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com >
2023-07-27 17:10:13 +05:30
Nickle Wang
25a6745fe8
RedfishPkg/RedfishDiscoverDxe: fix netmask check issue
...
- Add NTOHL() for coverting IP address from EFI_IPv4_ADDRESS to
IP4_ADDR so that IP4_IS_VALID_NETMASK() return correct value.
- Add DumpIpv4Address() in RedfishDebugLib and print IP address
when invalid IP or subnet mask address is detected.
Signed-off-by: Nickle Wang <nicklew@nvidia.com >
Cc: Abner Chang <abner.chang@amd.com >
Cc: Igor Kulchytskyy <igork@ami.com >
Cc: Nick Ramirez <nramirez@nvidia.com >
Reviewed-by: Igor Kulchytskyy <igork@ami.com >
Reviewed-by: Abner Chang <abner.chang@amd.com >
2023-07-26 00:49:45 +00:00
Michael D Kinney
dcf05f958e
MdePkg/Include/IndustryStandard: Remove VS20xx workaround
...
Remove workaround for the redefinition of the type
RUNTIME_FUNCTION that is generated when building with
VS20xx tool chains and using windows include files.
The correct location for this fix is in the EmulatorPkg
in the WinInclude.h file that addresses all the name
collisions between edk2 types and windows types.
The commit that added the workaround is:
ff52068d92
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Rebecca Cran <rebecca@bsdio.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
2023-07-24 03:57:52 +00:00
Michael D Kinney
5309ddc83b
EmulatorPkg/Win/Host: Fix RUNTIME_FUNCTION redefinition error
...
Update WinInclude.h to prevent error due to redefinition of
RUNTIME_FUNCTION using same technique that has been used
in the past for structure types such as LIST_ENTRY.
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Rebecca Cran <rebecca@bsdio.com >
Cc: Andrew Fish <afish@apple.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Rebecca Cran <rebecca@bsdio.com >
2023-07-24 03:57:52 +00:00
Sunil V L
925c445fd3
OvmfPkg/RiscVVirt: Avoid printing hard coded timeout value
...
Print the timeout value set in the PCD variable instead of
hard coded 10 seconds.
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Andrei Warkentin <andrei.warkentin@intel.com >
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com >
Reviewed-by: Andrei Warkentin <andrei.warkentin@intel.com >
2023-07-21 05:56:55 +00:00