Leif Lindholm
80bbea192a
MdePkg/BaseLib: add ASSERT in ARM* SetJump implementations
...
The SetJump comment header states that:
If JumpBuffer is NULL, then ASSERT().
However, this was not currently done.
Add a call to InternalAssertJumpBuffer.
Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-10-02 15:48:02 +00:00
Leif Lindholm
cbf0e4f5b3
MdePkg/BaseLib: fix comments in ARM* SetJump/LongJump implementations
...
Drop redundant comment about IPF (clearly copied across from now deleted
code).
Also change
"Instead is resumes execution" ->
"Instead it resumes execution"
Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-10-02 15:48:02 +00:00
Leif Lindholm
f6a314e5b5
Maintainers.txt: add Sami as maintainer of arm-architectural subdirs
...
We added Sami as a reviewer to ArmPkg early last year, and I think it was
always our intention to have him as a reviewer of Arm architectural stuff
in general, but we seem to have missed out the Arm/AArch64 subdir
wildcards. So let's fix that.
Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Cc: Andrew Fish <afish@apple.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Ard Biesheuvel <ardb@kernel.org >
2023-10-02 12:47:13 +00:00
Gao Cheng
f36e1ec1f0
MdeModulePkg/Xhci: Skip size round up for TRB during address translation
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4560
TRB Template is 16 bytes. When boundary checking is 64 bytes for xHCI
device/host memory address, it may exceed xHCI host memory pool and
cause unwanted DXE_ASSERT. Introduce a new input parameter to indicate
whether to enforce 64byte size alignment and round up. For TRB case,
should set it to FALSE to skip the size round up.
Signed-off-by: Gao Cheng <gao.cheng@intel.com >
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
2023-09-28 02:02:11 +00:00
Nate DeSimone
ad1c0394b1
EmulatorPkg: Fix Terminal Issues
...
After running EmulatorPkg, one will notice that their terminal acts
strangely. This is caused by the EmulatorPkg Host changing the terminal
mode and not restoring the original mode, which is now fixed.
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Andrew Fish <afish@apple.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2023-09-27 01:00:47 +00:00
HoraceX Lien
be971fc302
MdeModulePkg/SmbiosDxe: Fix BcdRevision is not match with SMBIOS version
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4544
These value of Major/Minor version are updated from SMBIOS memory data,
but BCD Revision is updated from PCD PcdSmbiosVersion.
We should also update BCD Revision from SMBIOS memory data,
to ensure that get consistent version value.
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Reviewed-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Signed-off-by: HoraceX Lien <horacex.lien@intel.com >
2023-09-26 23:56:43 +00:00
Nate DeSimone
bf0bdacdd6
MdeModulePkg: Fix misspelling
...
confroms should be conforms.
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Dandan Bi <dandan.bi@intel.com >
2023-09-26 20:03:23 +00:00
Brucex.Wang
39f3c26e8c
UefiPayloadPkg: Add FIT support
...
Provide Fit format for UniversalPayload, developer can use argument
"--Fit" to build UniversalPayload.fit
Cc: Guo Dong <guo.dong@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: BruceX Wang <brucex.wang@intel.com >
2023-09-26 07:26:21 +00:00
Brucex.Wang
d6b05375b4
MdePkg/BaseFdtLib: Add Fdt function.
...
Add FdtGetName() and FdtNodeDepth() function.
Cc: Benny Lin <benny.lin@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Benny Lin <benny.lin@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: BruceX Wang <brucex.wang@intel.com >
2023-09-26 07:26:21 +00:00
Dongyan Qian
c70d914428
BaseTools/GenFw: Add support for LOONGARCH64 relax relocation
...
Correct relax id from 99 to 100 and added relocation support up to 109
fix gcc14 adds new relocation, and the generated relocation
causes the build and compilation to fail.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4559
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: Chao Li <lichao@loongson.cn >
Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn >
Reviewed-by: Chao Li <lichao@loongson.cn >
2023-09-25 08:32:47 +00:00
Cai, Xianglei
d11f0ea045
MdeModulePkg/XhciDxe: Abort the Address Device cmd when time out
...
https://bugzilla.tianocore.org/show_bug.cgi?id=4552
Following XHCI spec 4.6.1.2, software may abort the
execution of Address Device Command when command failed
due to timeout.
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: More Shih <more.shih@intel.com >
Cc: Jenny Huang <jenny.huang@intel.com >
Signed-off-by: Xianglei Cai <xianglei.cai@intel.com >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
2023-09-25 03:45:15 +00:00
Henz, Patrick
43dcf453fc
MdeModulePkg/XhciDxe: Use Performance Timer for XHCI Timeouts
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2948
XhciDxe uses the timer functionality provided by the
boot services table to detect timeout conditions. This
breaks the driver's ExitBootServices call back, as
CoreExitBootServices halts the timer before signaling
the ExitBootServices event. If the host controller
fails to halt in the call back, the timeout condition
will never occur and the boot gets stuck in an indefinite
spin loop. Use the free running timer provided by
TimerLib to calculate timeouts, avoiding the potential
hang.
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Patrick Henz <patrick.henz@hpe.com >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
2023-09-25 02:56:05 +00:00
Vidya Sagar
8b2e6b90b8
DynamicTablesPkg: AcpiSsdtPcieLibArm: Use QWord to describe I/O range
...
Use AmlCodeGenRdQWordIo() to generate the I/O range in _CRS instead of
AmlCodeGenRdDWordIo() to cater to the scenarios where 64-bit addresses
can be used to generate I/O packets over the PCIe bus.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com >
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-09-22 14:46:02 +00:00
Vidya Sagar
909e870e34
DynamicTablesPkg: AML Code generation for I/O ranges
...
Add helper functions to generate AML Resource Data describing I/O
ranges of four words long. API AmlCodeGenRdQWordIo () is exposed.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com >
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-09-22 14:46:02 +00:00
Jeff Brasen
b5003ab725
DynamicTablesPkg: Add Aml NameUnicodeString API
...
Add API to generate a Name that contains a Unicode string buffer.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com >
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-09-22 09:06:21 +00:00
Jeff Brasen
fd0ccccb42
DynamicTablesPkg: Add support to add Strings to package
...
Add API to add a String to a package created with NamedPackage API.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-09-22 09:06:21 +00:00
Jeff Brasen
b2df3ee17f
DynamicTablesPkg: Add support for simple method invocation.
...
Add support to add Return objects via AML that pass a single integer
argument to the named method.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-09-22 09:06:21 +00:00
Jeff Brasen
8f5505a4c9
DynamicTablesPkg: Add ThermalZone CodeGen function
...
Add API to generate a ThermalZone object to AmlLib.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com >
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2023-09-22 09:06:21 +00:00
Ranbir Singh
28a267af40
MdeModulePkg/Bus/Pci/UhciDxe: Fix FORWARD_NULL Coverity issues
...
The function UsbHcGetPciAddressForHostMem has
ASSERT ((Block != NULL)); and
and the function UsbHcFreeMem has
ASSERT (Block != NULL);
statement after for loop, but these are applicable only in DEBUG mode.
In RELEASE mode, if for whatever reasons there is no match inside for
loop and the loop exits because of Block != NULL; condition, then there
is no "Block" NULL pointer check afterwards and the code proceeds to do
dereferencing "Block" which will lead to CRASH.
Hence, for safety add NULL pointer checks always.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4211
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Co-authored-by: Veeresh Sangolli <veeresh.sangolli@dellteam.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-09-22 04:56:35 +00:00
Ranbir Singh
e9f5d8c0e0
MdeModulePkg/Bus/Pci/UhciDxe: Fix BAD_SHIFT Coverity issue
...
The function UhciConvertPollRate has a check
ASSERT (Interval != 0);
but this comes into play only in DEBUG mode. In Release mode, there is
no handling if the Interval parameter value is ZERO. To avoid shifting
by a negative amount later in the code flow in this undesirable case,
it is better to handle it as well by treating it same as if 1 is sent.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4211
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Co-authored-by: Veeresh Sangolli <veeresh.sangolli@dellteam.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-09-22 04:56:35 +00:00
Nickle Wang
f67e1934d9
RedfishPkg/JsonLib: fix JsonObjectGetValue issue
...
JsonObjectGetValue() cannot find corresponding JSON value
when the EDKII_JSON_VALUE object is created by another UEFI
driver. This is because "hashtable_seed" is initialized by
current time while JsonLib is loaded. So, "hashtable_seed"
will be different in each individual UEFI driver.
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-09-22 03:59:03 +00:00
Andrei Warkentin
ea628f28e5
RISCV: Fix InternalLongJump to return correct value
...
InternalLongJump was not returning the 2nd parameter passed
to LongJmp (Value) as the return value from SetJmp.
Seen with code compiled with -Os, where an LongJmp (Buffer, -1)
somehow translated to SetJmp returning 0...
Cc: Yong Li <yong.li@intel.com >
Cc: Sunil V L <sunilvl@ventanamicro.com >
Cc: Tuan Phan <tphan@ventanamicro.com >
Cc: Daniel Schaefer <git@danielschaefer.me >
Signed-off-by: Andrei Warkentin <andrei.warkentin@intel.com >
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com >
2023-09-21 04:57:57 +00:00
Leif Lindholm
89dad77cfb
ArmPkg/ArmLib: Add ArmHasVhe () helper function
...
Create a helper function to query whether ID_AA64MFR1_EL1 indicates
presence of the Virtualization Host Extensions. This feature is only
visible in AARCH64 state.
Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Cc: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
Tested-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org >
2023-09-20 14:52:07 +00:00
Ranbir Singh
4317b4824b
MdeModulePkg/Bus/Pci/NvmExpressPei: Fix DEADCODE Coverity issue
...
The code can reach line 65 only through the else path above at line 53.
The else path already has the same NULL check at line 55 and hence the
duplicate code lines are totally redundant which can be deleted.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4220
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Co-authored-by: Veeresh Sangolli <veeresh.sangolli@dellteam.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-09-20 06:49:52 +00:00
Ranbir Singh
4fb69c2bee
MdeModulePkg/Bus/Ata/AtaBusDxe: Fix SIGN_EXTENSION Coverity issue
...
Line number 365 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=4209
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-09-20 05:47:00 +00:00
Leif Lindholm
eb485b6438
ArmVirtPkg: handle virtual EL2 timer in DT
...
FEAT_VHE, introduced in ARMv8.1, adds a virtual EL2 timer.
However, this library verifies that exactly 3 or 4 12-byte timer
interrupts are provided in input DT, ASSERTing when the new timer
is added.
Change the assert to >= 36.
Extend the current logic, also initializing PcdArmArchTimerHypVirtIntrNum
if 5 interrupts are provided.
Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reported-by: Peter Maydell <peter.maydell@linaro.org >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Ard Biesheuvel <ardb@kernel.org >
Tested-by: Peter Maydell <peter.maydell@linaro.org >
2023-09-19 20:27:55 +00:00
Leif Lindholm
baee97670f
ArmPkg: add EL2 virtual timer interrupt Pcd
...
PcdArmArchTimerHypVirtIntrNum, defaults to 28 as defined in Arm's
Base System Architecture (current version DEN0094C 1.0C).
Relevant for systems implementing FEAT_VHE, added in ARMv8.1.
Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reviewed-by: Ard Biesheuvel <ardb@kernel.org >
2023-09-19 20:27:55 +00:00
Nickle Wang
7275993dc6
RedfishPkg/RedfishRestExDxe: return HTTP status code to caller.
...
Return unsupported HTTP status code to caller so caller can handle
HTTP error status code. Current implementation only return EFI error
to caller. Without knowing the HTTP status code, caller has trouble
to handle HTTP request failure.
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 >
Cc: Mike Maslenkin <mike.maslenkin@gmail.com >
Reviewed-by: Igor Kulchytskyy <igork@ami.com >
Reviewed-by: Abner Chang <abner.chang@amd.com >
Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com >
2023-09-19 15:41:18 +00:00
Michael Kubacki
cbcf0428e8
BaseTools/Plugin: Add DebugMacroCheck
...
Adds a plugin that finds debug macro formatting issues. These errors
often creep into debug prints in error conditions not frequently
executed and make debug more difficult when they are encountered.
The code can be as a standalone script which is useful to find
problems in a large codebase that has not been checked before or as
a build plugin that notifies a developer of an error right away.
The script was already used to find numerous issues in edk2 in the
past so there's not many code fixes in this change. More details
are available in the readme file:
.pytool\Plugin\DebugMacroCheck\Readme.md
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
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: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-09-19 01:20:27 +00:00
Michael Kubacki
97d367f37e
OvmfPkg/PlatformCI: Disable DebugMacroCheck
...
Disables the DebugMacroCheck CI plugin to reduce CI checks performed
in the package.
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 >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2023-09-19 01:20:27 +00:00
Michael Kubacki
8803033c0c
DynamicTablesPkg.ci.yaml: Add debug macro exception
...
Adds a CI YAML entry to acknowledge a case where custom strings
contain print specifiers for a single debug macro.
Cc: Sami Mujawar <Sami.Mujawar@arm.com >
Cc: Alexei Fedorov <Alexei.Fedorov@arm.com >
Cc: Pierre Gondois <pierre.gondois@arm.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-09-19 01:20:27 +00:00
Michael Kubacki
1312c2e9fd
ArmVirtPkg.ci.yaml: Add debug macro exception
...
Adds a CI YAML entry to acknowledge a case where a macro is expanded
that contains a print specifier.
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-09-19 01:20:27 +00:00
Michael Kubacki
bc7bbd3bc4
SecurityPkg.ci.yaml: Add debug macro exception
...
Adds a CI YAML entry to acknowledge a case where a single argument
is matched to a format specifier with a ternary operator.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2023-09-19 01:20:27 +00:00
Michael Kubacki
5cfb5d6c01
pip-requirements.txt: Add regex
...
regex is a popular PIP module for regular expression support.
https://pypi.org/project/regex/
This change adds regex for the upcoming DebugMacroCheck plugin.
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-09-19 01:20:27 +00:00
Michael Kubacki
6f0729484f
RedfishPkg/PlatformHostInterfaceBmcUsbNicLib: Fix DEBUG macro args
...
Some macros added have a mismatched number of print specifiers to
arguments.
Cc: Abner Chang <abner.chang@amd.com >
Cc: Nickle Wang <nicklew@nvidia.com >
Cc: Igor Kulchytskyy <igork@ami.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Abner Chang <abner.chang@amd.com >
2023-09-19 01:20:27 +00:00
Taylor Beebe
408e463135
MdeModulePkg: Memory Bin Range Update Accounts for Guard Page
...
When finding a free page range for allocation, if the found range
starts below the tracked memory bin address range, the lowest
memory bin address is updated which will not include the guard page if
present. When CoreConvertPagesWithGuard() is called on the range
being allocated, the memory range is adjusted to include guard
pages which can push it out of the memory bin address range and
cause the memory type statistics to be unaltered.
This patch updates the lowest memory bin address range to account for
the guard page if NeedGuard is TRUE so the memory type statistics
are updated correctly.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Dandan Bi <dandan.bi@intel.com >
Signed-off-by: Taylor Beebe <t@taylorbeebe.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2023-09-18 21:21:32 +00:00
Zhiguang Liu
db38c7de64
UefiCpuPkg/ResetVector: Remove AP waking vector from ResetVector
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4494
Current reset vector uses 0xffffffe0 as AP waking vector, and expects
GenFv generates code aligned on a 4k boundary which will jump to this
location. However, some issues are listed below
1. GenFV doesn't generate code as the comment expects, because GenFv
assumes no modifications are required to the VTF-0 'Volume Top File'.
2. Even if removing VFT0 signature and let GenFv to modify, Genfv is
hard-code using another flash address 0xffffffd0.
3. In the same patch series, AP waking vector code is removed from
GenFv, because no such usage anymore. The existing of first two issues
also approve the usage is not available for a long time.
Therefore, remove AP waking vector related code.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2023-09-18 02:39:25 +00:00
Zhiguang Liu
dea6002d6e
OvmfPkg: Remove applicationProcessorEntryPoint
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4494
Current reset vector uses 0xffffffe0 as AP waking vector, and expects
GenFv generates code aligned on a 4k boundary which will jump to this
location. However, some issues are listed below
1. GenFV doesn't generate code as the comment expects, because GenFv
assumes no modifications are required to the VTF-0 'Volume Top File'.
2. Even if removing VFT0 signature and let GenFv to modify, Genfv is
hard-code using another flash address 0xffffffd0.
3. In the same patch series, AP waking vector code is removed from
GenFv, because no such usage anymore. The existing of first two issues
also approve the usage is not available for a long time.
Therefore, remove AP waking vector related code.
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: Anthony Perard <anthony.perard@citrix.com >
Cc: Julien Grall <julien@xen.org >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Acked-by: Anthony PERARD <anthony.perard@citrix.com >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2023-09-18 02:39:25 +00:00
Zhiguang Liu
718cf21a5a
UefiCpuPkg/SecCore: Remove AP waking Vector logic in SecCore
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4494
There are two part of AP waking Vector logic in SecCore.
The first one working with GenFv to find a free 4K aligned space,
use the 4K aligned address as AP waking Vector and jump to 4G-30h,
and finally jump to ApStartup..
The second one hard code uses 4G-1000h as AP waking Vector and
jump to ApStartup.
Both usages are no longer used. Remove them.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2023-09-18 02:39:25 +00:00
Zhiguang Liu
392456240a
BaseTools: Remove logic to create AP waking vector in GenFv
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4494
Today for SEC core(not VTF-0), GenFv finds free 4K aligned space in
FV for AP waking vector and JMP to 4G-30h in the waking vector.
There is no usage of this today. Remove the logic to avoid confusing
and save spaces in reset vector.
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 >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2023-09-18 02:39:25 +00:00
Laszlo Ersek
29cce3356a
OvmfPkg/RiscVVirt/README: document direct kernel boot
...
Direct (fw_cfg) kernel boot works on the RiscVVirt firmware platform too;
I've tested it after extracting the kernel, initrd, and kernel command
line from "openSUSE-Tumbleweed-RISC-V-E20-efi.riscv64.raw". Document this
type of boot, because at least historically, fw_cfg kernel boot was
implemented differently between OVMF and ArmVirtQemu. Thanks: Drew, Sunil.
Cc: Andrei Warkentin <andrei.warkentin@intel.com >
Cc: Andrew Jones <ajones@ventanamicro.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: Sunil V L <sunilvl@ventanamicro.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Andrew Jones <ajones@ventanamicro.com >
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com >
2023-09-14 09:56:20 +00:00
Laszlo Ersek
1bfd63ac39
OvmfPkg/RiscVVirt/README: explain the "acpi=off" machine property
...
"acpi=off" is arguably unusual with UEFI guest OSes; add a note to explain
it. Original explanation by Drew Jones.
Cc: Andrei Warkentin <andrei.warkentin@intel.com >
Cc: Andrew Jones <ajones@ventanamicro.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: Sunil V L <sunilvl@ventanamicro.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Andrew Jones <ajones@ventanamicro.com >
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com >
2023-09-14 09:56:20 +00:00
Laszlo Ersek
5242bae5dd
OvmfPkg/RiscVVirt/README: explain that "-bios" is only useful with TCG
...
Riscv64 KVM services SBI calls internally, so OpenSBI is not used in such
setups. Restrict the "-bios" flag accordingly. Thanks: Andrei, Drew.
Cc: Andrei Warkentin <andrei.warkentin@intel.com >
Cc: Andrew Jones <ajones@ventanamicro.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: Sunil V L <sunilvl@ventanamicro.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
[lersek@redhat.com: '-bios' is rejected with KVM accel (Drew)]
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
2023-09-14 09:56:20 +00:00
Linus Liu
cdfe4310dd
Pyrite support - Secure erase is only available if encryption is supported.
...
https://bugzilla.tianocore.org/show_bug.cgi?id=3004
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tina Chen <tina.chen@intel.com >
Cc: Xiao X Chen <xiao.x.chen@intel.com >
Signed-off-by: Linus Liu <linus.liu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2023-09-13 06:35:02 +00:00
Nickle Wang
4a1afea6f7
RedfishPkg/RedfishPlatformConfigDxe: fix can not set one-of option issue.
...
StatementValue->Buffer is converted from ASCII to Unicode by caller
already so we don't have to convert it again.
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 >
2023-09-13 03:23:24 +00:00
Min M Xu
b844b106e2
OvmfPkg/TdxDxe: Change MadtMpWk->MailBoxVersion from 1 to 0
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4527
According to ACPI 6.5 (https://uefi.org/specs/ACPI/6.5/05_ACPI_Software
_Programming_Model.html?highlight=mailboxversion#multiprocessor-wakeup-
structure) the MailBoxVersion is 0.
This patch changed MadtMpWk->MailBoxVersion from 1 to 0 to fix the error.
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Cc: Michael Roth <michael.roth@amd.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2023-09-13 02:29:52 +00:00
Sunil V L
7f1a8cad99
Maintainers.txt: Make myself maintainer for OvmfPkg/RiscVVirt
...
Since I take care of maintaining the contents in RiscVVirt, update my
entry from R to M.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2023-09-12 15:50:30 +00:00
Laszlo Ersek
6d074d6a10
OvmfPkg: raise DXEFV size to 14.5 MB in the traditional platform FDFs
...
My usual IA32X64 and X64 builds fail for the NOOPT target, using GCC5:
- IA32X64:
> the required fv image size 0xdef130 exceeds the set fv image size
> 0xd00000
- X64:
> the required fv image size 0xd8f7b8 exceeds the set fv image size
> 0xd00000
NOOPT is important for debugging (less confusing behavior with gdb, and
much less confusing disassembly).
Raise the DXEFV size to 14.5 MB (14 MB would work, but cut it too close
for IA32X64).
After this patch:
- IA32:
> DXEFV [83%Full] 15204352 (0xe80000) total, 12718784 (0xc212c0) used,
> 2485568 (0x25ed40) free
- IA32X64:
> DXEFV [96%Full] 15204352 (0xe80000) total, 14610736 (0xdef130) used,
> 593616 (0x90ed0) free
- X64:
> DXEFV [93%Full] 15204352 (0xe80000) total, 14219192 (0xd8f7b8) used,
> 985160 (0xf0848) free
Tested with:
- IA32, q35, SMM_REQUIRE, Fedora 30 guest
- X64, pc (i440fx), no SMM, RHEL-7.9 guest
- IA32X64, q35, SMM_REQUIRE, RHEL-7.9 guest
Test steps (IA32 and X64):
- configure 3 VCPUs
- boot
- run "taskset -c $I efibootmgr" with $I covering 0..2
- systemctl suspend
- resume from virt-manager
- run "taskset -c $I efibootmgr" with $I covering 0..2
Test steps (IA32X64):
- same, but
- start with only 2 cold-plugged CPUs, and
- hot-plug the third VCPU after initial (cold) boot, before the first
"taskset -c $I efibootmgr" invocation
Also compared the verbose IA32 fw log from before the patch vs. the one
after (because IA32 builds even without this patch); the changes look
sane:
> @@ -1,6 +1,6 @@
> SecCoreStartupWithStack(0xFFFCC000, 0x820000)
> SEC: Normal boot
> -DecompressMemFvs: OutputBuffer@A00000+0xDE0090 ScratchBuffer@1800000+0x10000 PcdOvmfDecompressionScratchEnd=0x1810000
> +DecompressMemFvs: OutputBuffer@A00000+0xF60090 ScratchBuffer@1A00000+0x10000 PcdOvmfDecompressionScratchEnd=0x1A10000
> Register PPI Notify: [EfiPeiSecurity2Ppi]
> Install PPI: [EfiFirmwareFileSystem2]
> Install PPI: [EfiFirmwareFileSystem3]
> @@ -28,7 +28,7 @@
> Loading PEIM at 0x000008490C0 EntryPoint=0x0000085639A PlatformPei.efi
> Platform PEIM Loaded
> CMOS:
> -00: 10 00 30 00 13 00 03 12 09 23 26 02 00 80 00 00
> +00: 20 00 41 00 13 00 03 12 09 23 26 02 00 80 00 00
> 10: 00 00 00 00 06 80 02 FF FF 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 30: FF FF 20 00 00 7F 00 20 30 00 00 00 00 12 00 00
> @@ -70,7 +70,7 @@
> Platform PEI Firmware Volume Initialization
> Install PPI: [EfiPeiFirmwareVolumeInfoPpi]
> Notify: PPI Guid: [EfiPeiFirmwareVolumeInfoPpi], Peim notify entry point: 826554
> -The 1th FV start address is 0x00000900000, size is 0x00D00000, handle is 0x900000
> +The 1th FV start address is 0x00000900000, size is 0x00E80000, handle is 0x900000
> Register PPI Notify: [EfiPeiReadOnlyVariable2Ppi]
> Select Item: 0x19
> Select Item: 0x26
> @@ -90,8 +90,8 @@
> Memory Allocation 0x00000000 0x7F000000 - 0x7FFFFFFF
> Memory Allocation 0x00000000 0x30000 - 0x4FFFF
> Memory Allocation 0x0000000A 0x820000 - 0x8FFFFF
> -Memory Allocation 0x0000000A 0x900000 - 0x15FFFFF
> -Memory Allocation 0x0000000A 0x1600000 - 0x180FFFF
> +Memory Allocation 0x0000000A 0x900000 - 0x177FFFF
> +Memory Allocation 0x0000000A 0x1780000 - 0x1A0FFFF
> Memory Allocation 0x00000000 0xE0000000 - 0xEFFFFFFF
> Old Stack size 32768, New stack size 131072
> Stack Hob: BaseAddress=0x7AF68000 Length=0x20000
> @@ -196,8 +196,8 @@
> Memory Allocation 0x00000000 0x7F000000 - 0x7FFFFFFF
> Memory Allocation 0x00000000 0x30000 - 0x4FFFF
> Memory Allocation 0x0000000A 0x820000 - 0x8FFFFF
> -Memory Allocation 0x0000000A 0x900000 - 0x15FFFFF
> -Memory Allocation 0x0000000A 0x1600000 - 0x180FFFF
> +Memory Allocation 0x0000000A 0x900000 - 0x177FFFF
> +Memory Allocation 0x0000000A 0x1780000 - 0x1A0FFFF
> Memory Allocation 0x00000000 0xE0000000 - 0xEFFFFFFF
> Memory Allocation 0x00000004 0x7EE50000 - 0x7EE6FFFF
> Memory Allocation 0x00000003 0x7EF50000 - 0x7EF67FFF
> @@ -219,7 +219,7 @@
> Memory Allocation 0x00000003 0x7EE70000 - 0x7EEB2FFF
> Memory Allocation 0x00000004 0x7EE50000 - 0x7EE6FFFF
> Memory Allocation 0x00000004 0x7AF68000 - 0x7AF87FFF
> -FV Hob 0x900000 - 0x15FFFFF
> +FV Hob 0x900000 - 0x177FFFF
> InstallProtocolInterface: [EfiDecompressProtocol] 7EEAAA54
> InstallProtocolInterface: [EfiFirmwareVolumeBlockProtocol|EfiFirmwareVolumeBlock2Protocol] 7EB3491C
> InstallProtocolInterface: [EfiDevicePathProtocol] 7EB34990
> @@ -3259,7 +3259,7 @@
> UefiMemory protection: 0x50000 - 0x9E000 Success
> UefiMemory protection: 0x100000 - 0x807000 Success
> UefiMemory protection: 0x808000 - 0x810000 Success
> -UefiMemory protection: 0x1810000 - 0x7AF88000 Success
> +UefiMemory protection: 0x1A10000 - 0x7AF88000 Success
> UefiMemory protection: 0x7AF8B000 - 0x7EB3D000 Success
> UefiMemory protection: 0x7EDBD000 - 0x7EDCF000 Success
> UefiMemory protection: 0x7EE4F000 - 0x7EF68000 Success
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
2023-09-12 15:50:30 +00:00
Laszlo Ersek
c95158e419
OvmfPkg/PlatformBootManagerLib: refer to virtio console subsys symbolically
...
"OvmfPkg/Include/IndustryStandard/Virtio095.h" defines the macro
VIRTIO_SUBSYSTEM_CONSOLE with value 3; other locations in the tree already
use it (such as ArmVirtPkg/PlatformBootManagerLib,
OvmfPkg/VirtioSerialDxe). We should use it in
OvmfPkg/PlatformBootManagerLib too, rather than the naked constant 3.
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
2023-09-12 15:50:30 +00:00
Ard Biesheuvel
4f4a2c3b07
ArmPkg/ArmMmuLib: Drop buggy secure memory type check
...
Jake reports that the IS_ARM_MEMORY_REGION_ATTRIBUTES_SECURE() macro is
no longer accurate since commit 852227a9d5
("ArmPkg/Mmu: Remove
handling of NONSECURE memory regions").
Fortunately, it only affects the NS bit in level 1 short descriptors,
which is ignored when executing in non-secure mode. And given that
running UEFI in the secure world is not a use case we aim to support,
let's just drop this logic altogether.
Reported-by: Jake Garver <jake@nvidia.com >
Signed-off-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com >
2023-09-12 10:20:27 +00:00