All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/3] Add riscv semihosting support in u-boot
@ 2022-12-07 11:42 Kautuk Consul
  2022-12-07 11:42 ` [PATCH v6 1/3] lib: Add common semihosting library Kautuk Consul
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Kautuk Consul @ 2022-12-07 11:42 UTC (permalink / raw)
  To: Bharat Gooty, Rayagonda Kokatanur, Sean Anderson, Andre Przywara,
	Simon Glass, Ilias Apalodimas, Philippe Reynes, Sughosh Ganu,
	Heinrich Schuchardt, Rasmus Villemoes, Eugen Hristev,
	Pali Rohár, Stefan Roese, Minkyu Kang, Loic Poulain, u-boot,
	ycliang, bmeng.cn, rickchen36
  Cc: Kautuk Consul

Semihosting is a mechanism that enables code running on
a target to communicate and use the Input/Output
facilities on a host computer that is running a debugger.
This patchset adds support for semihosting in u-boot
for RISCV64 targets.

CHANGES since v5:
-	Removed patch 3/3: default enablement of semihosting removed
  for the qemu-riscv64 targets due to failure of the CI test-cases.
  This is happening due to the qemu version and some commits
  currently not taken into qemu latest version.
- Added patch 3/3: Added a 3rd patch which adds a dependency on
  SPL_SEMIHOSTING for the SPL_FS_LOAD_PAYLOAD_NAME config option.
  This will remove the need for the user to enable any of the
  SPL_FS_EXT4 || SPL_FS_FAT || SPL_FS_SQUASHFS config options
  for SPL_SEMIHOSTING compilations.

Compilation and test commands for SPL and S-mode configurations
=================================================================

U-Boot S-mode on QEMU virt
----------------------------
// Compilation of S-mode u-boot
ARCH=riscv
CROSS_COMPILE=riscv64-unknown-linux-gnu-
make qemu-riscv64_smode_defconfig
make
// Run riscv 64-bit u-boot with opensbi on qemu
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio -bios\
opensbi/build/platform/generic/firmware/fw_jump.bin -kernel\
u-boot/u-boot.bin -semihosting-config enable=on

U-Boot SPL on QEMU virt
------------------------
// Compilation of u-boot-spl
ARCH=riscv
CROSS_COMPILE=riscv64-unknown-linux-gnu-
make qemu-riscv64_spl_defconfig
make OPENSBI=opensbi/build/platform/generic/firmware/fw_dynamic.bin
// Run 64-bit u-boot-spl in qemu
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio -bios\
u-boot/spl/u-boot-spl.bin -device\
loader,file=u-boot/u-boot.itb,addr=0x80200000 -semihosting-config enable=on

Kautuk Consul (3):
  lib: Add common semihosting library
  arch/riscv: add semihosting support for RISC-V
  common/spl/Kconfig: add dependency on SPL_SEMIHOSTING for SPL payload

 arch/arm/Kconfig             |  46 ---------
 arch/arm/lib/semihosting.c   | 181 +---------------------------------
 arch/riscv/include/asm/spl.h |   1 +
 arch/riscv/lib/Makefile      |   2 +
 arch/riscv/lib/interrupts.c  |  25 +++++
 arch/riscv/lib/semihosting.c |  24 +++++
 common/spl/Kconfig           |   2 +-
 include/semihosting.h        |  11 +++
 lib/Kconfig                  |  47 +++++++++
 lib/Makefile                 |   2 +
 lib/semihosting.c            | 186 +++++++++++++++++++++++++++++++++++
 11 files changed, 300 insertions(+), 227 deletions(-)
 create mode 100644 arch/riscv/lib/semihosting.c
 create mode 100644 lib/semihosting.c

-- 
2.34.1


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

end of thread, other threads:[~2022-12-07 11:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-07 11:42 [PATCH v6 0/3] Add riscv semihosting support in u-boot Kautuk Consul
2022-12-07 11:42 ` [PATCH v6 1/3] lib: Add common semihosting library Kautuk Consul
2022-12-07 11:42 ` [PATCH v6 2/3] arch/riscv: add semihosting support for RISC-V Kautuk Consul
2022-12-07 11:42 ` [PATCH v6 3/3] common/spl/Kconfig: add dependency on SPL_SEMIHOSTING for SPL payload Kautuk Consul

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.