<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Library, branch trunk</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=trunk</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=trunk'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2024-06-04T03:43:08+00:00</updated>
<entry>
<title>Renormalized end-of-lines from master@27b044605cd5f6b33a3d231576003850b3fe305b</title>
<updated>2024-06-04T03:43:08+00:00</updated>
<author>
<name>kx</name>
<email>kx@radix.pro</email>
</author>
<published>2024-06-04T03:43:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7e2ccccace24636f29ddc210b94606abd4c7e42b'/>
<id>urn:sha1:7e2ccccace24636f29ddc210b94606abd4c7e42b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MdeModulePkg:BaseSpiHcPlatformLib: Adding NULL lib instance</title>
<updated>2024-05-08T04:43:58+00:00</updated>
<author>
<name>Brit Chesley</name>
<email>brit.chesley@amd.com</email>
</author>
<published>2024-04-29T20:50:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5590cefe93d02f52be8de8eef96c35a2f4d1ba0a'/>
<id>urn:sha1:5590cefe93d02f52be8de8eef96c35a2f4d1ba0a</id>
<content type='text'>
Adding NULL SpiHcPlatformLib instance. This library is responsible for
handling the low level details of the SPI host controller. Since this is
platform specific this library will be dependent on OEM SPI
implementation. The SPI host controller layer will utilize this library
for SPI bus transactions.

Bugzilla #4753

Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Abdul Lateef Attar &lt;AbdulLateef.Attar@amd.com&gt;
Signed-off-by: Brit Chesley &lt;brit.chesley@amd.com&gt;
Acked-by: Abner Chang &lt;abner.chang@amd.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: ImagePropertiesRecordLib: Consolidate Usage</title>
<updated>2024-03-29T23:56:16+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@linux.microsoft.com</email>
</author>
<published>2024-03-29T20:21:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=596f856c13fb9f3a6afb17573a762c6f02654a92'/>
<id>urn:sha1:596f856c13fb9f3a6afb17573a762c6f02654a92</id>
<content type='text'>
Currently, there are multiple instances of code create image
records. ImagePropertiesRecordLib was created to only have
this code in one place. Update the lib to use additional
logic from the copy in MemoryProtection.c before converging
that code to use the lib.

Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Taylor Beebe &lt;taylor.d.beebe@gmail.com&gt;

Acked-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Oliver Smith-Denny &lt;osde@linux.microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: ImagePropertiesRecordLib: Use SectionAlignment for CodeSize</title>
<updated>2024-03-29T23:56:16+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@linux.microsoft.com</email>
</author>
<published>2024-03-29T20:21:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1fb6462c67912aa287a6f431475cece2659383b7'/>
<id>urn:sha1:1fb6462c67912aa287a6f431475cece2659383b7</id>
<content type='text'>
When an ImageRecord is stored by ImagePropertiesRecordLib, it reports the
CodeSegmentSize as the SizeOfRawData from the image. However, the image
as loaded into memory is aligned to the SectionAlignment, so
SizeOfRawData is under the actual size in memory. This is important,
because the memory attributes table uses these image records to create
its entries and it will report that the alignment of an image is
incorrect, even though the actual image is correct.

This was discovered on ARM64, which has a 64k runtime page granularity
alignment, which is backed by a 64k section alignment for
DXE_RUNTIME_DRIVERs. The runtime code and data was correctly being
loaded into memory, however the memory attribute table was incorrectly
reporting misaligned ranges to the OS, causing attributes to be
ignored for these sections for OSes using greater than 4k pages.

This patch correctly aligns the CodeSegmentSize to the SectionAlignment
and the corresponding memory attribute table entries are now correctly
aligned and pointing to the right places in memory.

Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Cc: Taylor Beebe &lt;taylor.d.beebe@gmail.com&gt;

Acked-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Reviewed-by: Marvin H?user &lt;mhaeuser@posteo.de&gt;
Signed-off-by: Oliver Smith-Denny &lt;osde@linux.microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/TraceHubDebugSysTLib: Use wider type for loop comparisons</title>
<updated>2024-02-26T23:13:08+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2024-02-15T19:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=33c81c25bbd55141ad395af89160b4ed4b703cdf'/>
<id>urn:sha1:33c81c25bbd55141ad395af89160b4ed4b703cdf</id>
<content type='text'>
Resolves a new CodeQL error due to the value being incremented in the
loop being a narrower type than the variable it is being compared
against.

The variable is changed to a UINT32 type so it has the same width as
the type it is being compared against.

Issue explanation: In a loop condition, comparison of a value of a
narrow type with a value of a wide type may result in unexpected
behavior if the wider value is sufficiently large (or small). This
is because the narrower value may overflow. This can lead to an
infinite loop.

Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Gua Guo &lt;gua.guo@intel.com&gt;
Cc: Prakashan Krishnadas Veliyathuparambil &lt;krishnadas.veliyathuparambil.prakashan@intel.com&gt;
Cc: K N Karthik &lt;karthik.k.n@intel.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Gua Guo &lt;gua.guo@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/DebugAgentLibNull: Indicate SMM Debug Agent support or not</title>
<updated>2023-12-26T07:18:26+00:00</updated>
<author>
<name>Jiaxin Wu</name>
<email>jiaxin.wu@intel.com</email>
</author>
<published>2023-12-15T08:37:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c7c2de798a50acf796ad36f7e99cc548a743368c'/>
<id>urn:sha1:c7c2de798a50acf796ad36f7e99cc548a743368c</id>
<content type='text'>
This patch is to use the Context to indicate SMM Debug Agent support or
not if InitFlag is DEBUG_AGENT_INIT_SMM. Context must point to a
BOOLEAN if it's not NULL.

Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Signed-off-by: Jiaxin Wu &lt;jiaxin.wu@intel.com&gt;
Reviewed-by: Ray Ni &lt;ray.ni@Intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UefiBootManagerLib: Signal ReadyToBoot on platform recovery</title>
<updated>2023-12-19T13:56:58+00:00</updated>
<author>
<name>Neal Gompa</name>
<email>ngompa@fedoraproject.org</email>
</author>
<published>2023-10-31T17:37:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8c1e9f9c6fa7b5137003b0cfa6d54a6bada16d8e'/>
<id>urn:sha1:8c1e9f9c6fa7b5137003b0cfa6d54a6bada16d8e</id>
<content type='text'>
Currently, the ReadyToBoot event is only signaled when a formal Boot
Manager option is executed (in BmBoot.c -&gt; EfiBootManagerBoot ()).

However, the introduction of Platform Recovery in UEFI 2.5 makes it
necessary to signal ReadyToBoot when a Platform Recovery boot loader
runs because otherwise it may lead to the execution of a boot loader
that has similar requirements to a regular one that is not launched
as a Boot Manager option.

This is especially critical to ensuring that the graphical console is
actually usable during platform recovery, as some platforms do rely on
the ConsolePrefDxe driver, which only performs console initialization
after ReadyToBoot is triggered.

This patch fixes that behavior by calling EfiSignalEventReadyToBoot ()
in EfiBootManagerProcessLoadOption () when invoking platform recovery,
which is the function that sets up the platform recovery boot process.

The expected behavior has been clarified in the UEFI 2.10 specification
to explicitly indicate this behavior is required for correct operation.

This is a rebased version of the patch originally written by Pete Batard.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2831

Co-authored-by: Pete Batard &lt;pete@akeo.ie&gt;
Signed-off-by: Neal Gompa &lt;ngompa@fedoraproject.org&gt;
Reviewed-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/DxeCapsuleLibFmp: Fix crash with VirtualAddressMap omitted</title>
<updated>2023-11-28T19:10:19+00:00</updated>
<author>
<name>Nhi Pham</name>
<email>nhi@os.amperecomputing.com</email>
</author>
<published>2023-11-23T04:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=466f2f0c5fc0f30e8e7157172ab7fb74e85640c6'/>
<id>urn:sha1:466f2f0c5fc0f30e8e7157172ab7fb74e85640c6</id>
<content type='text'>
If the SetVirtualAddressMap() is not called, mIsVirtualAddrConverted
is FALSE and the kernel crash occurs in IsNestedFmpCapsule() when
executing gBS-&gt;LocateProtocol () in the else case.

To serve the omitted SetVirtualAddressMap() call, we could just check
mEsrtTable presence instead of relying on mIsVirtualAddrConverted.

Signed-off-by: Nhi Pham &lt;nhi@os.amperecomputing.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Update DumpImageRecord() in ImagePropertiesRecordLib</title>
<updated>2023-11-27T18:55:18+00:00</updated>
<author>
<name>Taylor Beebe</name>
<email>taylor.d.beebe@gmail.com</email>
</author>
<published>2023-11-03T15:29:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=4ec2fab279fc69d15f69ee8fd8ce52045f788102'/>
<id>urn:sha1:4ec2fab279fc69d15f69ee8fd8ce52045f788102</id>
<content type='text'>
Update DumpImageRecord() to be DumpImageRecords(), and improve
the debug output. The function will output at DEBUG_INFO instead,
and the function will be run in DXE and SMM
MAT logic when the MAT is installed at EndOfDxe on DEBUG builds.

Cc: Jian J Wang &lt;jian.j.wang@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Dandan Bi &lt;dandan.bi@intel.com&gt;
Cc: Jiaxin Wu &lt;jiaxin.wu@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Signed-off-by: Taylor Beebe &lt;taylor.d.beebe@gmail.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Add Logic to Create/Delete Image Properties Records</title>
<updated>2023-11-27T18:55:18+00:00</updated>
<author>
<name>Taylor Beebe</name>
<email>taylor.d.beebe@gmail.com</email>
</author>
<published>2023-11-03T15:29:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3565ee6c29ffcb2d4d500e857bc3501b5247aeee'/>
<id>urn:sha1:3565ee6c29ffcb2d4d500e857bc3501b5247aeee</id>
<content type='text'>
Add logic to create and delete image properties records. Where
applicable, redirect existing code to use the new library.

Cc: Jian J Wang &lt;jian.j.wang@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Dandan Bi &lt;dandan.bi@intel.com&gt;
Cc: Jiaxin Wu &lt;jiaxin.wu@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Signed-off-by: Taylor Beebe &lt;taylor.d.beebe@gmail.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
</feed>
