<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Bus/Scsi, branch dependabot/github_actions/actions/github-script-9</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-05-06T08:04:12+00:00</updated>
<entry>
<title>MdeModulePkg,MdePkg: Send I/O without FUA if necessary</title>
<updated>2026-05-06T08:04:12+00:00</updated>
<author>
<name>Annie Li</name>
<email>annie.li@oracle.com</email>
</author>
<published>2026-04-02T14:01:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5caf4c6aeb4a0b5a8552f400c6f4b7bc45dae75f'/>
<id>urn:sha1:5caf4c6aeb4a0b5a8552f400c6f4b7bc45dae75f</id>
<content type='text'>
Commit 8c654bb3ec sets FUA bit forcefully in SCSI sync I/O to
avoid possible data loss. However, it may cause issues for the
storage without the support FUA and WCE.

For example, Windows Server 2025 guest fails to boot from
vhost-scsi block device in such scenario. The booting Error
code is 0xc0000185, the SCSI command fails with the following,

Mode Sense Key: EFI_SCSI_SK_ILLEGAL_REQUEST
Additional Sense Code: EFI_SCSI_ASC_INVALID_FIELD

This patch gets the FUA and WCE support of the storage and sets
FUA conditionally.

Continuous-integration-options: PatchCheck.ignore-multi-package

Signed-off-by: Annie Li &lt;annie.li@oracle.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/ScsiDiskDxe: Check Write Caching and FUA support</title>
<updated>2026-05-06T08:04:12+00:00</updated>
<author>
<name>Annie Li</name>
<email>annie.li@oracle.com</email>
</author>
<published>2026-04-02T14:00:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ee58614bbbb49e1dd4ad9cb43b7e4eef56736c13'/>
<id>urn:sha1:ee58614bbbb49e1dd4ad9cb43b7e4eef56736c13</id>
<content type='text'>
Check Write Caching and FUA support of the storage, then save
the result if both are disabled.

Signed-off-by: Annie Li &lt;annie.li@oracle.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/Bus: Remove ScsiPassThruProtocolGuid</title>
<updated>2025-11-23T18:40:59+00:00</updated>
<author>
<name>Gowtham M</name>
<email>gowthamm@ami.com</email>
</author>
<published>2025-10-08T18:35:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=18ac0c8e9333dee959cc741dcaf380566dbe1ffa'/>
<id>urn:sha1:18ac0c8e9333dee959cc741dcaf380566dbe1ffa</id>
<content type='text'>
The legacy ScsiPassThruProtocol has been removed as per
the UEFI 2.10A specification.
This commit, removes references to ScsiPassThruProtocol and
transitions the implementation to only use ExtScsiPassThruProtocol,
which provides enhanced support for device enumeration,
target/LUN discovery, and broader SCSI compatibility.

Cc: Sachin Ganesh &lt;sachinganesh@ami.com&gt;
Signed-off-by: Gowtham M &lt;gowthamm@ami.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/Scsi:Change Index and MaxRetry from UINT8 to UINTN</title>
<updated>2025-11-22T07:16:33+00:00</updated>
<author>
<name>Revathy V</name>
<email>revathyv@ami.com</email>
</author>
<published>2025-08-01T13:35:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a2e0800d54d8130bb924d8a10dcc86069457db15'/>
<id>urn:sha1:a2e0800d54d8130bb924d8a10dcc86069457db15</id>
<content type='text'>
Change Index and MaxRetry to UINTN in ScsiDiskInquiryDevice().

Signed-off-by: Revathy &lt;revathyv@ami.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: ScsiDiskDxe: Query Write Protected State</title>
<updated>2025-10-16T12:25:52+00:00</updated>
<author>
<name>Mayank Kumar</name>
<email>mayankkumar@microsoft.com</email>
</author>
<published>2025-10-09T14:39:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c9eb3717b46063e0241970425eea292acf6162f2'/>
<id>urn:sha1:c9eb3717b46063e0241970425eea292acf6162f2</id>
<content type='text'>
Currently, only SCSI attached CDROMs are marked as read only
SCSI devices. Write failures have been seen to occur when a
read only disk is attached as a SCSI device, because the device
is never queried for its write protected state and the disk is
listed as writeable.

This adds a new mode sense query to determine if a SCSI disk is
write protected. If so, the proper BlockIO media property is set
to read only, to ensure that all layers know this is a read only
disk.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Update ReceiveData and SendData function description</title>
<updated>2024-03-13T02:48:38+00:00</updated>
<author>
<name>Qingyu Shang</name>
<email>qingyu.shang@intel.com</email>
</author>
<published>2024-02-26T03:05:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6f67ed45e03b554337daba2599a24b3352ad3438'/>
<id>urn:sha1:6f67ed45e03b554337daba2599a24b3352ad3438</id>
<content type='text'>
AtaBusDxe, NvmExpressDxe, ScsiDiskDxe and EmmcDxe is used to back the
EFI_STORAGE_SECURITY_COMMAND_PROTOCOL, update the parameter 'MediaId'
description for the protocol function ReceiveData and SendData as
described in UEFI Spec 2.10 section 13.14.

Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Signed-off-by: Qingyu Shang &lt;qingyu.shang@intel.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Update code to be more C11 compliant by using __func__</title>
<updated>2023-04-10T14:19:57+00:00</updated>
<author>
<name>Rebecca Cran</name>
<email>rebecca@bsdio.com</email>
</author>
<published>2023-04-06T19:50:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7b82da70edf7dda2c6f4e853f100df620bd5c0f3'/>
<id>urn:sha1:7b82da70edf7dda2c6f4e853f100df620bd5c0f3</id>
<content type='text'>
__FUNCTION__ is a pre-standard extension that gcc and Visual C++ among
others support, while __func__ was standardized in C99.

Since it's more standard, replace __FUNCTION__ with __func__ throughout
MdeModulePkg.

Signed-off-by: Rebecca Cran &lt;rebecca@bsdio.com&gt;
Reviewed-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Consume new alignment-related macros</title>
<updated>2023-04-01T23:11:44+00:00</updated>
<author>
<name>Marvin Häuser</name>
<email>mhaeuser@posteo.de</email>
</author>
<published>2023-03-22T07:02:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=495809a614083bd8c43eb3323b65df36985f4a50'/>
<id>urn:sha1:495809a614083bd8c43eb3323b65df36985f4a50</id>
<content type='text'>
This patch substitutes the macros that were renamed in the first
patch with the new, shared alignment macros.

Cc: Jian J Wang &lt;jian.j.wang@intel.com&gt;
Cc: Hao A Wu &lt;hao.a.wu@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Vitaly Cheptsov &lt;vit9696@protonmail.com&gt;
Signed-off-by: Marvin Häuser &lt;mhaeuser@posteo.de&gt;
Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: Hao A Wu &lt;hao.a.wu@intel.com&gt;
Reviewed-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Rename IS_ALIGNED macros to avoid name collisions</title>
<updated>2023-04-01T23:11:44+00:00</updated>
<author>
<name>Marvin Häuser</name>
<email>mhaeuser@posteo.de</email>
</author>
<published>2023-03-22T07:02:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=583f1aba8b97695ebba8a9f03de0883e6d2dcd1f'/>
<id>urn:sha1:583f1aba8b97695ebba8a9f03de0883e6d2dcd1f</id>
<content type='text'>
This patch is a preparation for the patches that follow. The
subsequent patches will introduce and integrate new alignment-related
macros, which collide with existing definitions in MdeModulePkg.
Temporarily rename them to avoid build failure, till they can be
substituted with the new, shared definitions.

Cc: Jian J Wang &lt;jian.j.wang@intel.com&gt;
Cc: Hao A Wu &lt;hao.a.wu@intel.com&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Signed-off-by: Marvin Häuser &lt;mhaeuser@posteo.de&gt;
Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: Hao A Wu &lt;hao.a.wu@intel.com&gt;
Reviewed-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
</feed>
