<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Bus/Ufs, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-09-02T17:34:24+00:00</updated>
<entry>
<title>MdeModulePkg: Print unknown error code instead of asserting</title>
<updated>2026-09-02T17:34:24+00:00</updated>
<author>
<name>Chris Fernald</name>
<email>chfernal@microsoft.com</email>
</author>
<published>2026-07-22T16:36:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2e53034f67fba2209468fdde33b6d0e0c24f767f'/>
<id>urn:sha1:2e53034f67fba2209468fdde33b6d0e0c24f767f</id>
<content type='text'>
DumpUicCmdExecResult &amp; DumpQueryResponseResult are called to dump the
result of UIC commands after a failure. Depending on the nature of the
failure, not all information may have been properly initialized. This is
already handled in callers with existing retry logic, but the assert in
the dump command can cause a crash in debug builds for due to hardware
race conditions on first attempt.

Signed-off-by: Chris Fernald &lt;chfernal@microsoft.com&gt;</content>
</entry>
<entry>
<title>MdeModulePkg: Fix comparison with wider widths</title>
<updated>2026-08-05T02:13:24+00:00</updated>
<author>
<name>Aaron Pop</name>
<email>aaronpop@microsoft.com</email>
</author>
<published>2025-10-22T18:33:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=bf0dc7d78701c93a2edeeadcb0daca58f4af91a6'/>
<id>urn:sha1:bf0dc7d78701c93a2edeeadcb0daca58f4af91a6</id>
<content type='text'>
https://codeql.github.com/codeql-query-help/cpp/cpp-comparison-with-wider-type

If the narrow type (smaller range) is compared against a wide type
(larger range), the narrow value may overflow before reaching the wide
value. This can cause unexpected behavior, such as:

Infinite loops (loop condition never becomes false).
Incorrect logic (comparison results are misleading).

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Replace include guards with #pragma once</title>
<updated>2026-02-23T21:01:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T18:48:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7a934d0befca7d10f361c76af6d2fcb6eb48c835'/>
<id>urn:sha1:7a934d0befca7d10f361c76af6d2fcb6eb48c835</id>
<content type='text'>
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.

`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.

Compared to macro-based include guards, `#pragma once`:

- Eliminates the risk of macro name collisions or copy/paste errors
  where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
  (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
  file entirely, rather than re-reading it to find the matching
  `#endif` ("multiple-include optimization").
  - Note that some compilers may already optimize traditional include
    guards, by recognzining the idiomatic pattern.

This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.

However, this is considered acceptable given:

1. edk2 already defines a subset of supported compilers in
   BaseTools/Conf/tools_def.template, all of which have supported
   `#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
   include guard naming and potential macro collisions.

Approximate compiler support dates:

- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
  (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UfsPassThruDxe:Fix Ufs DM Command issue</title>
<updated>2025-12-24T06:41:24+00:00</updated>
<author>
<name>Black.Li</name>
<email>black.li@cixtech.com</email>
</author>
<published>2025-12-10T03:31:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7ca8b1b4c7b5c1f0c96485acdf5ee2d6c98ff27e'/>
<id>urn:sha1:7ca8b1b4c7b5c1f0c96485acdf5ee2d6c98ff27e</id>
<content type='text'>
After Execute UFS SCSI Commands, the Trd-&gt;PRDTL is dirty. It will cause issue
when next UFS DM Command is executed.

According to UFSHCI Spec, for UFS DeviceManagement function Trd-&gt;PRDTL
must be set to Zero.

Signed-off-by: Black.Li &lt;black.li@cixtech.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Support conditional UFS initialization</title>
<updated>2025-08-08T01:06:56+00:00</updated>
<author>
<name>Bob Morgan</name>
<email>bobm@nvidia.com</email>
</author>
<published>2025-05-02T22:37:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b58ce4c226768ced972bd49886e20c5ae6dfd8f0'/>
<id>urn:sha1:b58ce4c226768ced972bd49886e20c5ae6dfd8f0</id>
<content type='text'>
Add SkipHceReenable and SkipLinkStartup flags to
the EDKII_UFS_HC_PLATFORM_PROTOCOL to support
using a UFS controller that has already been
initialized.

Signed-off-by: Bob Morgan &lt;bobm@nvidia.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UfsPassThruDxe: Correct size in UfsHc-&gt;FreeBuffer call</title>
<updated>2025-06-25T06:48:08+00:00</updated>
<author>
<name>Ryan Wong</name>
<email>colorfulshark@gmail.com</email>
</author>
<published>2025-03-18T12:23:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5ac1dfc0937c07856857965ba6135bee0eb6202b'/>
<id>urn:sha1:5ac1dfc0937c07856857965ba6135bee0eb6202b</id>
<content type='text'>
UfsHc-&gt;FreeBuffer accepts page numbers rather than bytes as its
size argument. Fix two positions where wrong size were passed.

Signed-off-by: Ryan Wong &lt;colorfulshark@gmail.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/Bus/Ufs: Use IndustryStandard headers</title>
<updated>2024-12-16T07:39:35+00:00</updated>
<author>
<name>Christopher Zurcher</name>
<email>christopher.zurcher@microsoft.com</email>
</author>
<published>2024-11-14T01:30:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=59cfc13139ff45ffed2fa43a19a147dc370701d0'/>
<id>urn:sha1:59cfc13139ff45ffed2fa43a19a147dc370701d0</id>
<content type='text'>
Remove duplicate private header files and reference UFS spec definitions
from the IndustryStandard folder.

Signed-off-by: Christopher Zurcher &lt;christopher.zurcher@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Added PPI support in UFS PEI driver.</title>
<updated>2024-10-28T05:39:52+00:00</updated>
<author>
<name>INDIA\kanagavels</name>
<email>kanagavels@ami.com</email>
</author>
<published>2024-10-17T10:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=87e2ee60d4016b6a6bd1723db1d4a76cbebfb2ee'/>
<id>urn:sha1:87e2ee60d4016b6a6bd1723db1d4a76cbebfb2ee</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4490

Added PPI support in UFS PEI driver to link the platform specific code
as same as UFS DXE driver.

Signed-off-by: Kanagavel S &lt;kanagavels@ami.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UfsPassThruDxe: Migrate UFS Initial Completion Timeout to PCD</title>
<updated>2024-07-30T20:55:09+00:00</updated>
<author>
<name>Jason1 Lin</name>
<email>jason1.lin@intel.com</email>
</author>
<published>2024-07-27T10:38:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f8f34edd9db82882fd70f14cb97ab28e9bb0b9a3'/>
<id>urn:sha1:f8f34edd9db82882fd70f14cb97ab28e9bb0b9a3</id>
<content type='text'>
- Remove the hardcoded definition (UFS_INIT_COMPLETION_TIMEOUT)
- Migrate the UFS initial completion timeout into PCD value

Signed-off-by: Jason1 Lin &lt;jason1.lin@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UfsBlockIoPei: Migrate UFS Initial Completion Timeout to PCD</title>
<updated>2024-07-30T20:55:09+00:00</updated>
<author>
<name>Jason1 Lin</name>
<email>jason1.lin@intel.com</email>
</author>
<published>2024-07-27T10:11:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5289ad177d4f2d587a47185e0567b9d7e579e4e8'/>
<id>urn:sha1:5289ad177d4f2d587a47185e0567b9d7e579e4e8</id>
<content type='text'>
- Remove the hardcoded definition (UFS_INIT_COMPLETION_TIMEOUT)
- Migrate the UFS initial completion timeout into PCD value

Signed-off-by: Jason1 Lin &lt;jason1.lin@intel.com&gt;
</content>
</entry>
</feed>
