All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] blk: blkmap: Composable virtual block devices
@ 2023-02-01 18:10 Tobias Waldekranz
  2023-02-01 18:10 ` [PATCH 1/8] image: Fix script execution from FIT images with external data Tobias Waldekranz
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Tobias Waldekranz @ 2023-02-01 18:10 UTC (permalink / raw)
  To: sjg, xypron.glpk, ilias.apalodimas; +Cc: u-boot

Block maps are a way of looking at various sources of data through the
lens of a regular block device. It lets you treat devices that are not
block devices, like RAM, as if they were. It also lets you export a
slice of an existing block device, which does not have to correspond to
a partition boundary, as a new block device.

This is primarily useful because U-Boot's filesystem drivers only
operate on block devices, so a block map lets you access filesystems
wherever they might be located.

The implementation is loosely modeled on Linux's "Device Mapper"
subsystem, see the kernel documentation [1] for more information.

The primary use-cases are to access filesystem images stored in RAM, and
within FIT images stored on disk. See doc/usage/blkmap.rst for more
details.

The architecture is pluggable, so adding other types of mappings should
be quite easy.

[1]: https://docs.kernel.org/admin-guide/device-mapper/index.html

Tobias Waldekranz (8):
  image: Fix script execution from FIT images with external data
  cmd: blk: Allow generic read/write operations to work in sandbox
  blk: blkmap: Add basic infrastructure
  blk: blkmap: Add memory mapping support
  blk: blkmap: Add linear device mapping support
  cmd: blkmap: Add blkmap command
  test: blkmap: Add test suite
  doc: blkmap: Add introduction and examples

 MAINTAINERS                      |   9 +
 boot/image-board.c               |   3 +-
 cmd/Kconfig                      |  19 ++
 cmd/Makefile                     |   1 +
 cmd/blk_common.c                 |  15 +-
 cmd/blkmap.c                     | 181 +++++++++++++
 configs/sandbox_defconfig        |   1 +
 disk/part.c                      |   1 +
 doc/usage/blkmap.rst             | 109 ++++++++
 doc/usage/index.rst              |   1 +
 drivers/block/Kconfig            |  18 ++
 drivers/block/Makefile           |   1 +
 drivers/block/blk-uclass.c       |   1 +
 drivers/block/blkmap.c           | 452 +++++++++++++++++++++++++++++++
 include/blkmap.h                 |  21 ++
 include/dm/uclass-id.h           |   1 +
 include/efi_loader.h             |   4 +
 lib/efi_loader/efi_device_path.c |  30 ++
 test/py/tests/test_blkmap.py     | 164 +++++++++++
 19 files changed, 1027 insertions(+), 5 deletions(-)
 create mode 100644 cmd/blkmap.c
 create mode 100644 doc/usage/blkmap.rst
 create mode 100644 drivers/block/blkmap.c
 create mode 100644 include/blkmap.h
 create mode 100644 test/py/tests/test_blkmap.py

-- 
2.34.1


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2023-02-07 13:42 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-01 18:10 [PATCH 0/8] blk: blkmap: Composable virtual block devices Tobias Waldekranz
2023-02-01 18:10 ` [PATCH 1/8] image: Fix script execution from FIT images with external data Tobias Waldekranz
2023-02-01 20:20   ` Simon Glass
2023-02-01 18:10 ` [PATCH 2/8] cmd: blk: Allow generic read/write operations to work in sandbox Tobias Waldekranz
2023-02-01 20:20   ` Simon Glass
2023-02-01 18:10 ` [PATCH 3/8] blk: blkmap: Add basic infrastructure Tobias Waldekranz
2023-02-01 20:20   ` Simon Glass
2023-02-03  9:38     ` Tobias Waldekranz
2023-02-04  0:20       ` Simon Glass
2023-02-06  8:30         ` Tobias Waldekranz
2023-02-07  4:02           ` Simon Glass
2023-02-07  8:31             ` Tobias Waldekranz
2023-02-07 13:38               ` Simon Glass
2023-02-01 18:10 ` [PATCH 4/8] blk: blkmap: Add memory mapping support Tobias Waldekranz
2023-02-01 20:21   ` Simon Glass
2023-02-01 18:10 ` [PATCH 5/8] blk: blkmap: Add linear device " Tobias Waldekranz
2023-02-01 20:21   ` Simon Glass
2023-02-01 18:10 ` [PATCH 6/8] cmd: blkmap: Add blkmap command Tobias Waldekranz
2023-02-01 20:21   ` Simon Glass
2023-02-01 18:10 ` [PATCH 7/8] test: blkmap: Add test suite Tobias Waldekranz
2023-02-01 20:21   ` Simon Glass
2023-02-01 18:10 ` [PATCH 8/8] doc: blkmap: Add introduction and examples Tobias Waldekranz
2023-02-01 20:21   ` Simon Glass
2023-02-01 21:14   ` Heinrich Schuchardt
2023-02-01 20:21 ` [PATCH 0/8] blk: blkmap: Composable virtual block devices Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.