Lendacky, Thomas
9378310dd8
UefiCpuPkg/CpuExceptionHandler: Revert CpuExceptionHandler binary patching
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2340
Now that an XCODE5 specific CpuExceptionHandlerLib library is in place,
revert the changes made to the ExceptionHandlerAsm.nasm in commit
2db0ccc2d7
("UefiCpuPkg: Update CpuExceptionHandlerLib pass XCODE5 tool
chain") so that binary patching of flash code is not performed.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Liming Gao <liming.gao@intel.com >
Acked-by: Bret Barkelew <bret.barkelew@microsoft.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com >
Message-Id: <810f67d8604c054c09d17a22f0bcfaeb41ee8e3b.1588856809.git.thomas.lendacky@amd.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
2020-05-11 19:25:33 +00:00
Lendacky, Thomas
b304d2807b
OvmfPkg: Use toolchain appropriate CpuExceptionHandlerLib
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2340
During the SEC phase, use the XCODE5 CpuExceptionHandlerLib library in
place of the standard library when building with the XCODE5 toolchain.
The SEC XCODE5 version of the library performs binary patching and should
only be used when building with the XCODE5 toolchain.
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Anthony Perard <anthony.perard@citrix.com >
Cc: Julien Grall <julien@xen.org >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com >
Message-Id: <0cfdd51deb6d39e08380645f2022b9b76e29f66f.1588856809.git.thomas.lendacky@amd.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
2020-05-11 19:25:33 +00:00
Lendacky, Thomas
ec94e97a6e
UefiCpuPkg/CpuExceptionHandler: Make XCODE5 changes toolchain specific
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2340
Commit 2db0ccc2d7
("UefiCpuPkg: Update CpuExceptionHandlerLib pass
XCODE5 tool chain") introduced binary patching into the exception handling
support. CPU exception handling is allowed during SEC and this results in
binary patching of flash, which should not be done.
Separate the changes from commit 2db0ccc2d7
into an XCODE5 toolchain
specific file, Xcode5ExceptionHandlerAsm.nasm, and create a new SEC INF
file for the XCODE5 version of CpuExceptionHandlerLib.
Since binary patching is allowed when running outside of flash, switch
the Dxe, Pei and Smm versions of the CpuExceptionHandlerLib over to use
the Xcode5ExceptionHandlerAsm.nasm file to retain current functionality.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com >
Message-Id: <9075570487616c731033a5738f6a444a15d71b74.1588856809.git.thomas.lendacky@amd.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
2020-05-11 19:25:33 +00:00
Sean Brogan
c8543b8d83
BaseTools/Plugin: Update HostBasedUnitTestRunner to support Linux
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2513
Update HostBasedUnitTestRunner plugin to support the Linux environment
and remove any Windows only logic.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-05-08 05:54:46 +00:00
Sean Brogan
f4f9c4cb63
.pytool/CISettings: Remove Windows only scope for host based unit tests
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2513
Remove Windows only scopes in the CISettngs file
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-05-08 05:54:46 +00:00
Leif Lindholm
f355b98606
BaseTools: add handling for 'S:' flag to GetMaintainer.py
...
GetMaintainer.py already extracts the value of any S: tags for sections,
but it doesn't do anything with that information.
Print a warning message, with the status, for each matching section with
a status explicitly set to anything other than 'Supported' or
'Maintained'.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Leif Lindholm <leif@nuviainc.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2020-05-08 04:37:08 +00:00
Rebecca Cran
3a3713e62c
BaseTools: add repo name option to SetupGit.py
...
Allow users who didn't clone one of the TianoCore repos from a
canonical URL to specify the name of the repo (edk2, edk2-platforms
or edk2-non-osi) when running SetupGit.py to allow them to configure
their repo properly.
The new option is:
-n repo, --name repo set the repo name to configure for, if not
detected automatically
Signed-off-by: Rebecca Cran <rebecca@bsdio.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-08 03:59:29 +00:00
Abner Chang
8293e6766a
NetworkPkg: Add RISCV64 architecture
...
Add RISCV64 Arch in NetworkPkg.
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: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Acked-by: Siyuan Fu <siyuan.fu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Jiaxin Wu <jiaxin.wu@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
86c4f437d8
MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL
...
Implementation of RISC-V DxeIPL.
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 >
Co-authored-by: Daniel Helmut <daniel.schaefer@hpe.com >
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org >
Reviewed-by: Dandan Bi <dandan.bi@intel.com >
Cc: Dandan Bi <dandan.bi@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
00acc6cbf9
MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 architecture
...
Add RISC-V in INF for building CapsuleRuntimeDxe RISCV64 image.
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 >
Acked-by: Hao A Wu <hao.a.wu@intel.com >
Cc: Hao A Wu <hao.a.wu@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
fd8c6bed8a
MdeModulePkg/Logo:Add RISCV64 architecture
...
Add RISCV64 Arch.
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 >
Acked-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Cc: Ray Ni <ray.ni@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
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
Abner Chang
d3abb40d77
MdePkg/Include: RISC-V definitions.
...
Add RISC-V processor related definitions.
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
1510d6a391
MdePkg: Add RISC-V RISCV64 binding
...
Add RISCV64 sections in MdePkg.dec and RISCV64 ProcessorBind.h
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
e6956d0052
.pytool: Add RISC-V architecture on RISC-V EDK2 CI.
...
BZ:2562:
https://bugzilla.tianocore.org/show_bug.cgi?id=2562
Add RISC-V architecture on RISC-V EDK2 CI testing.
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Reviewed-by: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
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
722da9078e
.azurepipelines: Add RISC-V architecture on RISC-V EDK2 CI.
...
BZ:2562:
https://bugzilla.tianocore.org/show_bug.cgi?id=2562
Add RISC-V architecture on RISC-V EDK2 CI.
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Reviewed-by: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
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
ea56fa3d47
BaseTools: Enable RISC-V architecture for RISC-V EDK2 CI.
...
BZ:2562:
https://bugzilla.tianocore.org/show_bug.cgi?id=2562
EDK CI for RISC-V architecture
Enable RISC-V architecture for RISC-V EDK2 CI testing.
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Reviewed-by: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Gilbert Chen <gilbert.chen@hpe.com >
Cc: Daniel Helmut Schaefer <daniel.schaefer@hpe.com >
2020-05-07 03:17:15 +00:00
Krzysztof Koch
faef5a367c
ShellPkg: acpiview: Check if SBBR mandatory ACPI tables are installed
...
For Arm-based platforms, count the instances of installed tables for
each ACPI table listed as 'mandatory' in any Server Base Boot
Requirements (SBBR) specification.
Validate that the all the mandatory SBBR tables present. Report an error
for each missing table.
This new feature is optional and can be enabled with the -r command line
parameter.
Reference(s):
- Arm Server Base Boot Requirements 1.2, September 2019
- Arm Server Base Boot Requirements 1.1, May 2018
- Arm Server Base Boot Requirements 1.0, March 2016
Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com >
Reviewed-by: Sami Mujawar <Sami.Mujawar@arm.com >
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com >
2020-05-06 17:00:57 +00:00
Krzysztof Koch
f793bfcae9
ShellPkg: acpiview: Add library for SBBR ACPI requirements validation
...
For Arm-based platforms, define and implement an interface for Server
Base Boot Requirements (SBBR) compliance checks. The library is
responsible for validating that all mandatory ACPI tables are installed
on the platform.
Internally, the library maintains a data structure which tracks
instance counts for ACPI tables which are labeled as 'mandatory' in any
SBBR specification version. The provided interface allows:
- resetting all instance counts to 0
- incremementing the instance count for a table with a given signature
- validating the instance counts against the requirements in SBBR
The ACPI table requirements for each SBBR spec version are represented
internally as a list of table signatures.
Every missing mandatory table (for the input SBBR version) is reported
to the user as a separate error. If all requirements are met, an info
message is displayed.
Reference(s):
- Arm Server Base Boot Requirements 1.2, September 2019
- Arm Server Base Boot Requirements 1.1, May 2018
- Arm Server Base Boot Requirements 1.0, March 2016
Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com >
Reviewed-by: Sami Mujawar <Sami.Mujawar@arm.com >
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com >
2020-05-06 17:00:57 +00:00
Krzysztof Koch
8af507c1f1
ShellPkg: acpiview: Add -r parameter for table requirements validation
...
Define a new command line parameter '-r' to enable checking if all
mandatory ACPI tables listed in a specification are present.
The -r parameter takes an integer value to specify which specification
the validation should be performed against.
The parameter is used to set two Acpiview variables. An interface to
access these variables is implemented in this patch.
The new functionality is aimed at Arm-based platforms, however,
there are no restriction on extending it to other architectures.
For the 32-bit and 64-bit Arm architectures, the possible values for
the -r parameter are:
0: Arm Server Base Boot Requirements 1.0, March 2016
1: Arm Server Base Boot Requirements 1.1, May 2018
2: Arm Server Base Boot Requirements 1.2, September 2019
Signed-off-by: Krzysztof Koch <krzysztof.koch@arm.com >
Reviewed-by: Sami Mujawar <Sami.Mujawar@arm.com >
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com >
2020-05-06 17:00:57 +00:00
Ard Biesheuvel
befd18fca6
EmbeddedPkg/EmbeddedPkg.dsc: remove some stale component references
...
Some driver were recently moved to edk2-platforms, but the DSC file
in EmbeddedPkg still refers to them. Drop these references.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-06 10:21:31 +00:00
Guomin Jiang
469eb46169
CryptoPkg/Pkcs7: Extend support for other OID types
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2539
Microsoft signtool supports creation of attached P7's with any OID payload
via the "/p7co" parameter. It is necessary to check the data before get
the string.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Signed-off-by: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-05-06 03:37:39 +00:00
Kun Qin
55d6e39f72
FmpDevicePkg/FmpDxe: Fix uninitialized pointer dereference
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2602
Zero the allocated buffer in case GetImageInfo `continue` in the middle of
a loop. This will cause unexpected GetImageInfo failure not clearing the
corresponding entry and lead to GP faults when dereferencing this entry.
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: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2020-05-06 03:04:17 +00:00
Leo Duran
8dd962a657
UefiCpuPkg/MpInitLib: Remove Executable attribute from MpLib.h
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2678
This patch fixes a file permission issue introduced by accident.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Leo Duran <leo.duran@amd.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Eric Dong <eric.dong@intel.com >
2020-05-06 01:12:25 +00:00
Nikita Leshenko
c635a56384
OvmfPkg/MptScsiDxe: Reset device on ExitBootServices()
...
This causes the device to forget about the reply frame. We allocated the
reply frame in EfiBootServicesData type memory, and code executing after
ExitBootServices() is permitted to overwrite it.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-13-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
505812ae1d
OvmfPkg/MptScsiDxe: Implement the PassThru method
...
Machines should be able to boot after this commit. Tested with different
Linux distributions (Ubuntu, CentOS) and different Windows
versions (Windows 7, Windows 10, Server 2016).
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-12-nikita.leshchenko@oracle.com >
[lersek@redhat.com: MPT_SCSI_DMA_ADDR_HIGH: drop redundant space char]
2020-05-05 20:43:02 +00:00
Nikita Leshenko
81cada9892
OvmfPkg/MptScsiDxe: Initialize hardware
...
Reset and send the IO controller initialization request. The reply is
read back to complete the doorbell function but it isn't useful to us
because it doesn't contain relevant data or status codes.
See "LSI53C1030 PCI-X to Dual Channel Ultra320 SCSI Multifunction
Controller" technical manual for more information.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Message-Id: <20200504210607.144434-11-nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
ecdbdba636
OvmfPkg/MptScsiDxe: Set and restore PCI attributes
...
Enable the IO Space and Bus Mastering and restore the original values
when the device is stopped. This is a standard procedure in PCI
drivers.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-10-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
da8c0b8f4d
OvmfPkg/MptScsiDxe: Open PciIo protocol for later use
...
This will give us an exclusive access to the PciIo of this device
after it was started and until is will be stopped.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-9-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
f9941d31dd
OvmfPkg/MptScsiDxe: Build and decode DevicePath
...
Used to identify the individual disks in the hardware tree.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-8-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
093cceaf79
OvmfPkg/MptScsiDxe: Report targets and one LUN
...
The controller supports up to 8 targets in practice (Not reported by the
controller, but based on the implementation of the virtual device),
report them in GetNextTarget and GetNextTargetLun. The firmware will
then try to communicate with them and create a block device for each one
that responds.
Support for multiple LUNs will be implemented in another series.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-7-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
a53e5b4174
OvmfPkg/MptScsiDxe: Install stubbed EXT_SCSI_PASS_THRU
...
Support dynamic insertion and removal of the protocol
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-6-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
f47074425d
OvmfPkg/MptScsiDxe: Probe PCI devices and look for MptScsi
...
The MptScsiControllerSupported function is called on handles passed in
by the ConnectController() boot service and if the handle is the
lsi53c1030 controller the function would return success. A successful
return value will attach our driver to the device.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Message-Id: <20200504210607.144434-5-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
be7fcaa1c9
OvmfPkg/MptScsiDxe: Report name of driver
...
Install Component Name protocols to have a nice display name for the
driver in places such as UEFI shell.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Message-Id: <20200504210607.144434-4-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
ad8f2d6b07
OvmfPkg/MptScsiDxe: Install DriverBinding Protocol
...
In order to probe and connect to the MptScsi device we need this
protocol. Currently it does nothing.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Message-Id: <20200504210607.144434-3-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Nikita Leshenko
feec20b28d
OvmfPkg/MptScsiDxe: Create empty driver
...
In preparation for implementing LSI Fusion MPT SCSI devices, create a
basic scaffolding for a driver.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390
Signed-off-by: Nikita Leshenko <nikita.leshchenko@oracle.com >
Reviewed-by: Liran Alon <liran.alon@oracle.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200504210607.144434-2-nikita.leshchenko@oracle.com >
2020-05-05 20:43:02 +00:00
Rebecca Cran
f159102a13
OvmfPkg: Add BaseResetSystemLibBhyve
...
Introduce BaseResetSystemLibBhyve.inf, to support powering off
bhyve guests.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Message-Id: <20200504021853.76658-1-rebecca@bsdio.com >
[lersek@redhat.com: MODULE_TYPE: replace DXE_DRIVER with BASE]
[lersek@redhat.com: replace <OvmfPlatforms.h> with <IndustryStandard/Bhyve.h>]
[lersek@redhat.com: strip ".inf" from subject line]
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2020-05-05 19:40:40 +00:00
Rebecca Cran
245bdd2cb9
OvmfPkg: Add QemuFwCfgLibNull
...
Add a null implementation library for QemuFwCfgLib, in order to
support building PciHostBridgeLib for bhyve.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20200503230910.26783-1-rebecca@bsdio.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2020-05-05 16:57:57 +00:00
Ard Biesheuvel
de15e7c265
ArmPlatformPkg: remove PL180 SD controller driver
...
The PL180 SD host controller driver is only used on emulated ARM
platforms, uses an obsolete version of the MMC host protocol and
does not adhere to the UEFI driver model.
It has been moved into edk2-platforms alongside the only platforms
that use it, so we can drop it from the EDK2 core repository.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-05 15:37:20 +00:00
Ard Biesheuvel
2a8fc911b9
EmbeddedPkg: remove ISP 1716 USB host controller driver
...
The ISP 1716 USB host controller driver does not implement the UEFI
driver model, and is not a suitable example for new drivers to be
based on. Also, it is currently only used on a limited set of ARM
development platforms.
Due to this, it has been moved into the edk2-platforms repository,
alongside its remaining users, which have been updated to refer to it in
its new location. So drop this version from EmbeddedPkg.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-05 15:37:20 +00:00
Ard Biesheuvel
704ff0ff2a
EmbeddedPkg: remove SiI3132 SATA controller driver
...
The SiI3132 SATA controller driver does not implement the UEFI driver
model, and is not a suitable example for new drivers to be based on.
Also, it is currently only used on a limited set of ARM development
platforms.
Due to this, it has been moved into the edk2-platforms repository,
alongside its remaining users, which have been updated to refer to it in
its new location. So drop this version from EmbeddedPkg.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-05 15:37:20 +00:00
Ard Biesheuvel
f2bd980059
EmbeddedPkg: remove Lan9118 network controller driver
...
The Lan9118 network controller driver does not implement the UEFI driver
model, and is not a suitable example for new drivers to be based on.
Also, it is currently only used on a limited set of ARM development
platforms.
Due to this, it has been moved into the edk2-platforms repository,
alongside its remaining users, which have been updated to refer to it in
its new location. So drop this version from EmbeddedPkg.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-05 15:37:20 +00:00
Ard Biesheuvel
43bad5b5ba
EmbeddedPkg: remove Lan91x network controller driver
...
The Lan91x network controller driver does not implement the UEFI driver
model, and is not a suitable example for new drivers to be based on.
Also, it is currently only used on a limited set of ARM development
platforms.
Due to this, it has been moved into the edk2-platforms repository,
alongside its remaining users, which have been updated to refer to it in
its new location. So drop this version from EmbeddedPkg.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-05 15:37:20 +00:00
Ard Biesheuvel
9ad9dc9d4f
EmbeddedPkg: remove DwEmmcDxe host controller driver
...
The Synopsys DesignWare eMMC host controller driver does not implement
that SD/MMC host controller protocol that the UEFI spec defines, but an
obsolete EDK2-specific one that predates it. It also does not implement
the UEFI driver model.
Due to this, it has been moved into the edk2-platforms repository,
alongside its remaining users, which have been updated to refer to it in
its new location. So drop this version from EmbeddedPkg.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-05-05 15:37:20 +00:00