Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test for unit test #7

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

Test for unit test #7

wants to merge 23 commits into from

Conversation

td36
Copy link
Owner

@td36 td36 commented Nov 18, 2022

No description provided.

@td36 td36 force-pushed the test_for_UnitTest branch 30 times, most recently from 6b215d0 to 0d464da Compare November 20, 2022 03:34
@td36 td36 force-pushed the test_for_UnitTest branch 4 times, most recently from e759e69 to 3f13820 Compare November 22, 2022 11:42
pierregondois and others added 23 commits November 26, 2022 14:42
Remove ASSERTs in ArmTrngLibConstructor() that prevent from
booting on DEBUG builds.

Signed-off-by: Pierre Gondois <[email protected]>
Reviewed-by: Ard Biesheuvel <[email protected]>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4153

1.Upgrade spec revision to 0.9
2.Align .upld_info with 4-byte boundary by spec

Reviewed-by: Guo Dong <[email protected]>
Cc: Ray Ni <[email protected]>
Reviewed-by: James Lu <[email protected]>
Cc: Gua Guo <[email protected]>
Signed-off-by: VictorX Hsu <[email protected]>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4156

Refer to the latest SMBIOS v3.6, SMBIOS Socket not completely defined.

SMBIOS v3.6:
https://www.dmtf.org/sites/default/files/standards/documents/
DSP0134_3.6.0.pdf

Signed-off-by: JuX Zhang <[email protected]>
Cc: Zhichao Gao <[email protected]>
Cc: Jiaxin Wu <[email protected]>
Reviewed-by: Zhichao Gao <[email protected]>
Reviewed-by: Jiaxin Wu <[email protected]>
Enables dependabot in this repo so we can better alerted when
dependency updates are available.

This GitHub action will automatically create pull requests and
summarize the dependency details. Because it is a pull request,
the CI system will validate the dependency update in the pull
request.

Configures dependabot for:

1. PIP module updates
2. GitHub action updates

The maintainers/reviewers of the .github directory were added as
pull request reviewers so they can be notified when the pull request
is available.

Note to Maintainers:
  After this change is committed, PRs from dependabot will be
  automatically created in the edk2 repo.  Never set the 'push' label
  directly on these PRs. If a dependency identified by dependedabot
  looks like one that should be updated in the edk2 repo, then copy
  the PR generated by dependabot to your personal fork and update the
  commit message to follow the edk2 commit message requirements and
  send as a normal code review.

Cc: Sean Brogan <[email protected]>
Cc: Michael D Kinney <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
Reviewed-by: Michael D Kinney <[email protected]>
Reviewed-by: Sean Brogan <[email protected]>
DP command should be able to parse the FPDT ACPI table and dump
the ResetEnd which was logged at the beginning of the firmware
image execution. So that DP can calculate SEC phase time duration
start from the beginning of firmware image execution.

Cc: Ray Ni <[email protected]>
Cc: Zhichao Gao <[email protected]>
Cc: Star Zeng <[email protected]>
Signed-off-by: zhenhuay <[email protected]>
Reviewed-by: Zhichao Gao <[email protected]>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4143

Fix the name of InternalSyncCompareExchange64() function.

Signed-off-by: Sunil V L <[email protected]>
Reported-by: Zhihao Li <[email protected]>
Tested-by: Zhihao Li <[email protected]>

Cc: Michael D Kinney <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Zhiguang Liu <[email protected]>
Cc: Daniel Schaefer <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
There was previously a lower bound on the value of TickPeriod such that
it couldn't be less than 10 us. However, that was removed from the PI
Specification in the 1.0 errata released in 2007. From the revision
history:

"M171 Remove 10 us lower bound restriction for the TickPeriod in the
Metronome"

Update the documentation of TickPeriod in MetronomeDxe/Metronome.c to
remove mention of the lower bound.

Signed-off-by: Rebecca Cran <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>
Adds a GitHub issue template to direct contributors familiar with
GitHub's issue tracker to the external resources used by TianoCore.

Cc: Sean Brogan <[email protected]>
Cc: Michael D Kinney <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
Reviewed-by: Sean Brogan <[email protected]>
LoongArch64: Pcie devices that come with OPROM may require large Mem Space,
and downgrading all 64 Bit Bars may result in insufficient space.

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4157

Cc: Jian J Wang <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Ray Ni <[email protected]>
Cc: Chao Li <[email protected]>
Signed-off-by: Dongyan Qian <[email protected]>
Co-authored-by: Bo Zhu <[email protected]>
Reviewed-by: Chao Li <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
Upgrade openssl to 1.1.1s.

Pick up bugfixes from the latest openssl release, which include
some GCC build warnings cleaning up.

Cc: Jian J Wang <[email protected]>
Cc: Jiewen Yao <[email protected]>
Signed-off-by: Gang Chen <[email protected]>
Reviewed-by: Jiewen Yao <[email protected]>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4178

* Change GoogleTestLib class from private to public.
* Change UnitTestPersistenceLib class from private to public.

Cc: Michael Kubacki <[email protected]>
Cc: Sean Brogan <[email protected]>
Cc: Ray Ni <[email protected]>
Cc: Zhiguang Liu <[email protected]>
Signed-off-by: Michael D Kinney <[email protected]>
Reviewed-by: Michael Kubacki <[email protected]>
Reviewed-by: Ray Ni <[email protected]>
There should be a check that the FV HeaderLength cannot be an odd
number. Otherwise in the following CalculateSum16 there would be an
ASSERT.

In ValidateFvHeader@QemuFlashFvbServicesRuntimeDxe/FwBlockServices.c
there a is similar check to the FwVolHeader->HeaderLength.

Cc: Erdem Aktas <[email protected]>
Cc: James Bottomley <[email protected]>
Cc: Jiewen Yao <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Tom Lendacky <[email protected]>
Signed-off-by: Min Xu <[email protected]>
Reviewed-by: Jiewen Yao <[email protected]>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4097

The BaseCryptLib in the CryptoPkg currently supports ParallelHash
algorithm for SMM. The MP Services PPI and MP Services Protocol
could be used to enable ParallelHash in PEI and DXE
versions of the BaseCryptLib.

Cc: Jiewen Yao <[email protected]>
Cc: Jian J Wang <[email protected]>
Signed-off-by: Zhihao Li <[email protected]>
Reviewed-by: Jiewen Yao <[email protected]>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4167

In CrtLibSupport.h, time_t is defined as INT32, and its maximum value
is 2147483647. That is, the corresponding maximum timestamp is
2038-01-19 11:14:07. Therefore, overflow occurs when the test time
exceeds 2038-01-19 11:14:07. So change the type of time_t to INT64 and
also change the type of variables in function gmtime which calculated
with time_t.

Cc: Jiewen Yao <[email protected]>
Cc: Jian J Wang <[email protected]>
Cc: Xiaoyu Lu <[email protected]>
Cc: Guomin Jiang <[email protected]>
Signed-off-by: Zihong Yi <[email protected]>
Reviewed-by: Jiewen Yao <[email protected]>
Fix a typo of "RedfishLibs.dsc.inc" in RedfishLibs.dsc.inc, and correct
the name of the .fdf.inc filename in Redfish.fdf.inc.

Signed-off-by: Rebecca Cran <[email protected]>
Reviewed-by: Nickle Wang <[email protected]>
Reviewed-by: Abner Chang <[email protected]>
Move the "physical" RAM allocation from WinPeiAutoScan
to main() entrypoint.

This is to prepare the changes for "reset" support.

Signed-off-by: Ray Ni <[email protected]>
Cc: Andrew Fish <[email protected]>
Reviewed-by: Zhiguang Liu <[email protected]>
In EmulatorPkg/Win, SEC and PEI_CORE are loaded to memory allocated
through VirtualAlloc. Though the corresponding DLL files are loaded
and the entry points in DLL files are executed. The loading to memory
allocated through VirtualAlloc is for the case when the DLL files can
not be loaded.

Actually some PEIMs like PcdPeim which are loaded before
"physical" RAM is discovered, they are executing in the original
location (FV) like XIP module in real platform.

The SEC and PEI_CORE can follow the same mechanism.
So, the VirtualAlloc call is removed.

This is to prepare the "reset" support to avoid additional OS memory
consumption when reset happens.

Signed-off-by: Ray Ni <[email protected]>
Reviewed-by: Zhiguang Liu <[email protected]>
Cc: Andrew Fish <[email protected]
When shutdown is requested, WinHost exits.
Otherwise, WinHost re-runs from SEC.
Tested no extra memory consumption with multiple resets in PEI.

Signed-off-by: Ray Ni <[email protected]>
Cc: Andrew Fish <[email protected]>
Reviewed-by: Zhiguang Liu <[email protected]>
Add a new shell UnitTest module for DxeCpuExceptionHandlerLib.

Signed-off-by: Dun Tan <[email protected]>
Cc: Eric Dong <[email protected]>
Cc: Ray Ni <[email protected]>
Cc: Rahul Kumar <[email protected]>
Expand Ovmf PlatformBuild.py and PlatformBuildLib.py to support
building and running specific Shell target UnitTest modules.
In the new CommonPlatform class:
It provides new class attributes and new methods to support
build and run specific Shell Unit Test modules.

In the new SettingsManager class for stuart_pr_eval:
It calls new API in CommonPlatform to updates PackagesSupported
based on -u ShellUnitTestList input from cmd. The package which
contains the module in ShellUnitTestList will be added into
PackagesSupported for further evaluation.

In the new PlatformBuilder class for stuart_build:
1.In PlatformPostBuild(), it conditionally calls new API in
CommonPlatform to build -u ShellUnitTestList in -p PkgsToBuild
and copy them to VirtualDrive folder. If no -p option, all the
modules in -u ShellUnitTestList will be built.
2.In FlashRomImage(), it conditionally calls the new API in
CommonPlatform to write all efi files name in VirtualDrive into
startup.nsh and output UnitTest log into ShellUnitTestLog.
3. After the boot process, it conditionally calls new API in
CommonPlatform to check the UnitTest boot log.

Signed-off-by: Dun Tan <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Jiewen Yao <[email protected]>
Cc: Jordan Justen <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Ray Ni <[email protected]>
Add new job like OVMF_X64_DEBUG_UNIT_TEST in OvmfPkg PlatformCI
.yml file. New parameter unit_test_list is used to specify Shell
Unit Test list which needs to build and run. Format for this
input should be:'-u ModulePath1:DscPath1,ModulePath2:DscPath2'
or '-u ModulePath1:DscPath1 -u ModulePath2:DscPath2'.
(Path is edk2 workspace relative)

Signed-off-by: Dun Tan <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Jiewen Yao <[email protected]>
Cc: Jordan Justen <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Ray Ni <[email protected]>
Expand PlatformCI build and run steps template for Shell
UnitTest. Add a new parameter unit_test_list to support
building and running specific Shell UnitTest modules.

In stuart_pr_eval step, if the unit_test_list passed from
platform yml file is not null, it will select some packages
from the packages which contain the module in unit_test_list
and set them into a new variable pkgs_to_build base on its
evaluation rule.
In stuart_build step, if unit_test_list is not null,
'${{ parameters.unit_test_list}} -p $(pkgs_to_build)' will be
added into the arguments to build specific UnitTest modules in
pkgs_to_build.
In 'Run to shell' step, if unit_test_list is not null, all the
UnitTest modules built in stuart_build step will runs in shell.

Signed-off-by: Dun Tan <[email protected]>
Cc: Sean Brogan <[email protected]>
Cc: Michael Kubacki <[email protected]>
Cc: Michael D Kinney <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Ray Ni <[email protected]>
Signed-off-by: Dun Tan <[email protected]>
Signed-off-by: Dun Tan <[email protected]>
@td36 td36 force-pushed the test_for_UnitTest branch from 3f13820 to 1dad359 Compare December 6, 2022 04:04
td36 pushed a commit that referenced this pull request Feb 21, 2024
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4540

Bug Details:
PixieFail Bug #7
CVE-2023-45235
CVSS 8.3 : CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
CWE-119 Improper Restriction of Operations within the Bounds of
 a Memory Buffer

Buffer overflow when handling Server ID option from a DHCPv6 proxy
Advertise message

Change Overview:

Performs two checks

1. Checks that the length of the duid is accurate
> + //
> + // Check that the minimum and maximum requirements are met
> + //
> + if ((OpLen < PXEBC_MIN_SIZE_OF_DUID) ||
(OpLen > PXEBC_MAX_SIZE_OF_DUID)) {
> +  Status = EFI_INVALID_PARAMETER;
> +  goto ON_ERROR;
> + }

2. Ensures that the amount of data written to the buffer is tracked and
never exceeds that
> + //
> + // Check that the option length is valid.
> + //
> + if ((DiscoverLen + OpLen + PXEBC_COMBINED_SIZE_OF_OPT_CODE_AND_LEN)
 > DiscoverLenNeeded) {
> +     Status = EFI_OUT_OF_RESOURCES;
> +     goto ON_ERROR;
> + }

Additional code clean up and fix for memory leak in case Option was NULL

Cc: Saloni Kasbekar <[email protected]>
Cc: Zachary Clark-williams <[email protected]>

Signed-off-by: Doug Flick [MSFT] <[email protected]>
Reviewed-by: Saloni Kasbekar <[email protected]>
td36 pushed a commit that referenced this pull request Oct 14, 2024
This patch does not impact functionality. It aims to clarify the
synchronization flow between the BSP and APs to enhance code
readability and understanding:

Steps #6 and tianocore#11 are the basic synchronization requirements for all
cases.

Steps #1 is additional requirements if the MmCpuSyncModeTradition
mode is selected.

Steps #1, #2, #3, #4, #5, #7, tianocore#8, tianocore#9, and tianocore#10 are additional
requirements if the system needs to configure the MTRR.

Steps tianocore#9 and tianocore#10 are additional requirements if the system needs to
support the mSmmDebugAgentSupport.

Signed-off-by: Jiaxin Wu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.