From: Kautuk Consul <kconsul@ventanamicro.com>
To: "Bharat Gooty" <bharat.gooty@broadcom.com>,
"Rayagonda Kokatanur" <rayagonda.kokatanur@broadcom.com>,
"Sean Anderson" <sean.anderson@seco.com>,
"Andre Przywara" <andre.przywara@arm.com>,
"Simon Glass" <sjg@chromium.org>,
"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
"Philippe Reynes" <philippe.reynes@softathome.com>,
"Sughosh Ganu" <sughosh.ganu@linaro.org>,
"Heinrich Schuchardt" <xypron.glpk@gmx.de>,
"Rasmus Villemoes" <rasmus.villemoes@prevas.dk>,
"Eugen Hristev" <eugen.hristev@microchip.com>,
"Pali Rohár" <pali@kernel.org>, "Stefan Roese" <sr@denx.de>,
"Minkyu Kang" <mk7.kang@samsung.com>,
"Loic Poulain" <loic.poulain@linaro.org>,
u-boot@lists.denx.de, ycliang@andestech.com, bmeng.cn@gmail.com,
rickchen36@gmail.com
Cc: Kautuk Consul <kconsul@ventanamicro.com>
Subject: [PATCH v6 0/3] Add riscv semihosting support in u-boot
Date: Wed, 7 Dec 2022 17:12:33 +0530 [thread overview]
Message-ID: <20221207114236.2906956-1-kconsul@ventanamicro.com> (raw)
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
next reply other threads:[~2022-12-07 11:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-07 11:42 Kautuk Consul [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221207114236.2906956-1-kconsul@ventanamicro.com \
--to=kconsul@ventanamicro.com \
--cc=andre.przywara@arm.com \
--cc=bharat.gooty@broadcom.com \
--cc=bmeng.cn@gmail.com \
--cc=eugen.hristev@microchip.com \
--cc=ilias.apalodimas@linaro.org \
--cc=loic.poulain@linaro.org \
--cc=mk7.kang@samsung.com \
--cc=pali@kernel.org \
--cc=philippe.reynes@softathome.com \
--cc=rasmus.villemoes@prevas.dk \
--cc=rayagonda.kokatanur@broadcom.com \
--cc=rickchen36@gmail.com \
--cc=sean.anderson@seco.com \
--cc=sjg@chromium.org \
--cc=sr@denx.de \
--cc=sughosh.ganu@linaro.org \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
--cc=ycliang@andestech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.