<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/virtio/virtio_blk.c, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/virtio/virtio_blk.c?h=main</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/virtio/virtio_blk.c?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-05-25T17:35:35Z</updated>
<entry>
<title>Merge tag 'v2026.07-rc3' into next</title>
<updated>2026-05-25T17:35:35Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2026-05-25T17:35:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7bb1917b15b77a7d8c27045df33b6bbc214c2f67'/>
<id>urn:sha1:7bb1917b15b77a7d8c27045df33b6bbc214c2f67</id>
<content type='text'>
Prepare v2026.07-rc3
</content>
</entry>
<entry>
<title>virtio: blk: Fix converting the vendor id to a string</title>
<updated>2026-05-22T22:47:54Z</updated>
<author>
<name>Daniel Palmer</name>
<email>daniel@thingy.jp</email>
</author>
<published>2026-05-16T07:40:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ddba15ab72df5a01fd483a0f4fc40f9ae4d2475c'/>
<id>urn:sha1:ddba15ab72df5a01fd483a0f4fc40f9ae4d2475c</id>
<content type='text'>
Currently we are trying to work out if the vendor id is from
a virtio-mmio device and then casting a u32 to a char* and using
it as a C-string. By chance there is usually a zero after the u32
and it works.

Since the vendor id we are trying to convert to a string is QEMU's
just define a value for the QEMU vendor id, check if the vendor
id matches and then use a predefined string for "QEMU".

I don't think we should have been assumming all virtio-mmio vendor
ids are printable ASCII chars in the first place so do this special
casing just for QEMU. If the vendor id isn't QEMU print the hex
value of it.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Kuan-Wei Chiu &lt;visitorckw@gmail.com&gt;
Signed-off-by: Daniel Palmer &lt;daniel@thingy.jp&gt;
</content>
</entry>
<entry>
<title>virtio: fix return value check</title>
<updated>2026-05-12T18:38:49Z</updated>
<author>
<name>Christian Pötzsch</name>
<email>christian.poetzsch@kernkonzept.com</email>
</author>
<published>2026-05-12T08:39:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=36d4c653580824b16574560b21d4401614d8b68e'/>
<id>urn:sha1:36d4c653580824b16574560b21d4401614d8b68e</id>
<content type='text'>
The virtio_blk_do_single_req function returns ulong, which normally is
the processed size, but in an error case can be the actual error. Use
the special IS_ERR_VALUE macro to test for error.

Addresses-Coverity-ID: CID 645833 (DEADCODE) &amp; CID 645834 (NO_EFFECT)
Signed-off-by: Christian Pötzsch &lt;christian.poetzsch@kernkonzept.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>virtio: add support for SIZE_MAX &amp; SEG_MAX features</title>
<updated>2026-04-27T17:11:54Z</updated>
<author>
<name>Christian Pötzsch</name>
<email>christian.poetzsch@kernkonzept.com</email>
</author>
<published>2026-04-17T12:03:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=bb4142af7ed8c94b3df3e75ca9ab3ef450e80885'/>
<id>urn:sha1:bb4142af7ed8c94b3df3e75ca9ab3ef450e80885</id>
<content type='text'>
Some virtio implementations may forward the virtio requests directly to
the underlying hw. The hw may have some restrictions in how many and how
big the requests can be. Therefore, the corresponding virtio device will
announce this limitations with the SIZE_MAX &amp; SEG_MAX feature.

Add support for those features. Split an io request into multiple virtio
requests if more than seg_max segments would be used. Also split a
single buffer request into multiple segments if the buffer is bigger
then size_max.

Signed-off-by: Christian Pötzsch &lt;christian.poetzsch@kernkonzept.com&gt;
Signed-off-by: Adam Lackorzynski &lt;adam@l4re.org&gt;
</content>
</entry>
<entry>
<title>virtio: typo 'private date'</title>
<updated>2025-11-07T21:34:22Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2025-11-04T23:42:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6978d6ae5964c79bd25e0754a65141906e823cca'/>
<id>urn:sha1:6978d6ae5964c79bd25e0754a65141906e823cca</id>
<content type='text'>
%s/private date/private data/

Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>virito: blk: fix logic to determine block sizes</title>
<updated>2025-10-17T00:01:42Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2025-10-09T16:44:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7e65d29b6618603a51053d5fa9f4ef585e5b8959'/>
<id>urn:sha1:7e65d29b6618603a51053d5fa9f4ef585e5b8959</id>
<content type='text'>
With commit c85b8071e7d3 ("virtio: blk: support block sizes exceeding 512
bytes") logic was added to detect the VIRTIO_BLK_F_BLK_SIZE capability and
to copy the block size reported by QEMU to the block device descriptor.

The logical block size can be set when invoking QEMU:

    -drive if=none,file=4096.img,format=raw,id=vda \
    -device virtio-blk-device,drive=vda,physical_block_size=4096,logical_block_size=4096

In U-Boot the logical block size is shown by command `virtio info`:

    =&gt; virtio info
    Device 0: QEMU VirtIO Block Device
                Type: Hard Disk
                Capacity: 1024.0 MB = 1.0 GB (262144 x 4096)

There where two flaws which together hid that the logic was incorrect:

* VIRTIO_BLK_F_BLK_SIZE was missing in the driver capabilities and the bit
  was filtered out.
* The result of the call to virtio_has_feature() was negated.

The problem became apparent when using ARM FVP as emulator which does not set
VIRTIO_BLK_F_BLK_SIZE.

Fixes: c85b8071e7d3 ("virtio: blk: support block sizes exceeding 512 bytes")
Reported-by: Debbie Horsfall &lt;debbie.horsfall@arm.com&gt;
Tested-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
</content>
</entry>
<entry>
<title>virtio: blk: support block sizes exceeding 512 bytes</title>
<updated>2025-09-10T17:02:23Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2025-08-30T20:39:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c85b8071e7d3fd333f8a2fdd28083cb5ec3a0645'/>
<id>urn:sha1:c85b8071e7d3fd333f8a2fdd28083cb5ec3a0645</id>
<content type='text'>
QEMU allows to specify the logical block size via parameter
logical_block_size of a virtio-blk-device.

The communication channel via virtqueues remains based on 512 byte blocks
even if the logical_block_size is larger.

Consider the logical block size in the block device driver.

Reported-by: Emil Renner Berthing &lt;emil.renner.berthing@canonical.com&gt;
Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Tested-by: Emil Renner Berthing &lt;emil.renner.berthing@canonical.com&gt;
</content>
</entry>
<entry>
<title>virtio: blk: introduce virtio-block erase support</title>
<updated>2024-10-18T20:10:21Z</updated>
<author>
<name>Dmitrii Merkurev</name>
<email>dimorinny@google.com</email>
</author>
<published>2024-03-06T18:59:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9fb768c27c353048dc1e40d71153acdc2bbf1a1a'/>
<id>urn:sha1:9fb768c27c353048dc1e40d71153acdc2bbf1a1a</id>
<content type='text'>
Co-developed-by: Cody Schuffelen &lt;schuffelen@google.com&gt;
Signed-off-by: Cody Schuffelen &lt;schuffelen@google.com&gt;
Signed-off-by: Dmitrii Merkurev &lt;dimorinny@google.com&gt;
Cc: Tuomas Tynkkynen &lt;tuomas.tynkkynen@iki.fi&gt;
Cc: Simon Glass &lt;sjg@chromium.org&gt;
Cc: Mattijs Korpershoek &lt;mkorpershoek@baylibre.com&gt;
Cc: Ying-Chun Liu (PaulLiu) &lt;paul.liu@linaro.org&gt;
Tested-by: Mattijs Korpershoek &lt;mkorpershoek@baylibre.com&gt; # sandbox
</content>
</entry>
<entry>
<title>Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"</title>
<updated>2024-05-20T19:35:03Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-05-20T19:35:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=03de305ec48b0bb28554372abb40ccd46dbe0bf9'/>
<id>urn:sha1:03de305ec48b0bb28554372abb40ccd46dbe0bf9</id>
<content type='text'>
As part of bringing the master branch back in to next, we need to allow
for all of these changes to exist here.

Reported-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""</title>
<updated>2024-05-19T14:16:36Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2024-05-19T02:20:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d678a59d2d719da9e807495b4b021501f2836ca5'/>
<id>urn:sha1:d678a59d2d719da9e807495b4b021501f2836ca5</id>
<content type='text'>
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay
Ethernet"' I failed to notice that b4 noticed it was based on next and
so took that as the base commit and merged that part of next to master.

This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing
changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35.

Reported-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
</feed>
