All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/17] arm: semihosting: Cleanups and new features
@ 2022-03-03 20:43 Sean Anderson
  2022-03-03 20:43 ` [PATCH 01/17] doc: Convert semihosting readme to rST Sean Anderson
                   ` (17 more replies)
  0 siblings, 18 replies; 27+ messages in thread
From: Sean Anderson @ 2022-03-03 20:43 UTC (permalink / raw)
  To: Simon Glass
  Cc: Linus Walleij, Tom Rini, u-boot, Sean Anderson, Mingkai Hu,
	Priyanka Jain, Rajesh Bhagat

This cleans up the semihosting code and adds the following new features:

- hostfs support (like sandbox)
- support for being used as a SPL boot device
- serial device support

The main device affected by these changes is vexpress64, so I'd appreciate
if Linus (or anyone else) could try booting.

These changes are motivated by bringup for ls1046a. When forcing JTAG
boot, this device disables most communication peripherals, including
serial and ethernet devices. This appears to be fixed in later
generation devices, but we are stuck with it for now. Semihosting
provides an easy way to run a few console commands.

Future work could include modifying one of the reset handlers to catch
semihosting calls not handled by a debugger. This would allow using the
same U-Boot when booting from JTAG and when booting normally.
Additionally, we could use puts in more places. DM serial is especially
slow with semihisting because all we have is putc.

The patches in this series are organized as follows:
0-3: rST conversions and other documentation updates
4-8: Semihosting cleanups
9-13: Filesystem support (including SPL boot device)
14-15: Serial support
16: Documentation update
17: JTAG boot support for LS1046A

Patch 17 depends on [1].

[1] https://lore.kernel.org/u-boot/20220222183840.1355337-2-sean.anderson@seco.com/


Sean Anderson (17):
  doc: Convert semihosting readme to rST
  nxp: ls1046ardb: Convert README to rST
  doc: ls1046ardb: Expand boot mode section
  arm: smh: Add semihosting entry to MAINTAINERS
  arm: smh: Export semihosting functions
  arm: smh: Use numeric modes for smh_open
  arm: smh: Return errno on error
  arm: smh: Document functions in header
  arm: smh: Add some file manipulation commands
  spl: Add semihosting boot method
  fs: Add semihosting filesystem
  cmd: fdt: Use start/size for chosen instead of start/end
  arm: smh: Remove smhload command
  arm: smh: Add some functions for working with the host console
  serial: Add semihosting driver
  doc: smh: Update semihosting documentation
  ls1046ardb: Add support for JTAG boot

 MAINTAINERS                             |   4 +
 arch/arm/Kconfig                        |  25 ++-
 arch/arm/cpu/armv8/fsl-layerscape/spl.c |   2 +
 arch/arm/include/asm/spl.h              |   1 +
 arch/arm/lib/semihosting.c              | 209 ++++++++++--------------
 board/freescale/ls1046ardb/MAINTAINERS  |   1 +
 board/freescale/ls1046ardb/README       |  76 ---------
 cmd/fdt.c                               |   6 +-
 common/spl/Makefile                     |   1 +
 common/spl/spl_semihosting.c            |  71 ++++++++
 configs/vexpress_aemv8a_semi_defconfig  |   2 +-
 disk/part.c                             |   4 +-
 doc/README.semihosting                  |  38 -----
 doc/board/nxp/index.rst                 |   1 +
 doc/board/nxp/ls1046ardb.rst            | 182 +++++++++++++++++++++
 doc/usage/index.rst                     |   1 +
 doc/usage/semihosting.rst               |  51 ++++++
 drivers/serial/Kconfig                  |  22 +++
 drivers/serial/Makefile                 |   1 +
 drivers/serial/serial.c                 |   2 +
 drivers/serial/serial_semihosting.c     | 108 ++++++++++++
 fs/Makefile                             |   1 +
 fs/fs.c                                 |  20 +++
 fs/semihostingfs.c                      | 115 +++++++++++++
 include/configs/ls1046ardb.h            |   2 +
 include/fs.h                            |   1 +
 include/semihosting.h                   | 108 ++++++++++++
 include/semihostingfs.h                 |  21 +++
 28 files changed, 832 insertions(+), 244 deletions(-)
 delete mode 100644 board/freescale/ls1046ardb/README
 create mode 100644 common/spl/spl_semihosting.c
 delete mode 100644 doc/README.semihosting
 create mode 100644 doc/board/nxp/ls1046ardb.rst
 create mode 100644 doc/usage/semihosting.rst
 create mode 100644 drivers/serial/serial_semihosting.c
 create mode 100644 fs/semihostingfs.c
 create mode 100644 include/semihosting.h
 create mode 100644 include/semihostingfs.h

-- 
2.25.1


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

end of thread, other threads:[~2022-03-11 13:11 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-03 20:43 [PATCH 00/17] arm: semihosting: Cleanups and new features Sean Anderson
2022-03-03 20:43 ` [PATCH 01/17] doc: Convert semihosting readme to rST Sean Anderson
2022-03-03 20:43 ` [PATCH 02/17] nxp: ls1046ardb: Convert README " Sean Anderson
2022-03-03 20:43 ` [PATCH 03/17] doc: ls1046ardb: Expand boot mode section Sean Anderson
2022-03-03 20:43 ` [PATCH 04/17] arm: smh: Add semihosting entry to MAINTAINERS Sean Anderson
2022-03-03 20:43 ` [PATCH 05/17] arm: smh: Export semihosting functions Sean Anderson
2022-03-03 20:43 ` [PATCH 06/17] arm: smh: Use numeric modes for smh_open Sean Anderson
2022-03-03 20:43 ` [PATCH 07/17] arm: smh: Return errno on error Sean Anderson
2022-03-03 20:43 ` [PATCH 08/17] arm: smh: Document functions in header Sean Anderson
2022-03-03 20:43 ` [PATCH 09/17] arm: smh: Add some file manipulation commands Sean Anderson
2022-03-03 20:43 ` [PATCH 10/17] spl: Add semihosting boot method Sean Anderson
2022-03-03 20:43 ` [PATCH 11/17] fs: Add semihosting filesystem Sean Anderson
2022-03-03 20:43 ` [PATCH 12/17] cmd: fdt: Use start/size for chosen instead of start/end Sean Anderson
2022-03-03 20:43 ` [PATCH 13/17] arm: smh: Remove smhload command Sean Anderson
2022-03-03 20:43 ` [PATCH 14/17] arm: smh: Add some functions for working with the host console Sean Anderson
2022-03-03 20:43 ` [PATCH 15/17] serial: Add semihosting driver Sean Anderson
2022-03-03 20:43 ` [PATCH 16/17] doc: smh: Update semihosting documentation Sean Anderson
2022-03-03 20:44 ` [PATCH 17/17] ls1046ardb: Add support for JTAG boot Sean Anderson
2022-03-04  1:06 ` [PATCH 00/17] arm: semihosting: Cleanups and new features Linus Walleij
2022-03-04 11:47   ` Andre Przywara
2022-03-04 17:19     ` Sean Anderson
2022-03-04 18:46       ` Tom Rini
2022-03-10 16:48         ` Sean Anderson
2022-03-10 17:01           ` Andre Przywara
2022-03-10 17:06             ` Sean Anderson
2022-03-10 17:16               ` Tom Rini
2022-03-11 13:10                 ` Andre Przywara

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.