summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2020-08-14 08:38:01 -0400
committerTom Rini <[email protected]>2020-08-14 08:38:01 -0400
commitfe5c777df26dab302cbb26d5f05655e27b714987 (patch)
treeb1e7f289c00fe53b02ee5f11894e4d47a7697f83 /cmd
parentcdcf591d9b20534e5f5c58aa2a2b07b3b173f5a1 (diff)
parent313981c2d9437f31b2a0f3838591a5fb0e5d8ebe (diff)
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv
- Fix HiFive Unleashed the broken problem by call fix_fdt() before reserve_fdt(). Please refer to https://www.mail-archive.com/[email protected]/msg379444.html for master u-boot broken for HiFive Unleashed. - Add unaligned exception cmd. - Refine sifive/fu540 spl flow. - Add additional crash information for efi. - Update sipeed/maix doc. - Two minor refine.
Diffstat (limited to 'cmd')
-rw-r--r--cmd/riscv/exception.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/cmd/riscv/exception.c b/cmd/riscv/exception.c
index 3c8dbbec0e0..9687cec8120 100644
--- a/cmd/riscv/exception.c
+++ b/cmd/riscv/exception.c
@@ -8,6 +8,18 @@
#include <common.h>
#include <command.h>
+static int do_unaligned(struct cmd_tbl *cmdtp, int flag, int argc,
+ char *const argv[])
+{
+ asm volatile (
+ "auipc a1, 0\n"
+ "ori a1, a1, 3\n"
+ "lw a2, (0)(a1)\n"
+ );
+ printf("The system supports unaligned access.\n");
+ return CMD_RET_SUCCESS;
+}
+
static int do_undefined(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
@@ -16,6 +28,8 @@ static int do_undefined(struct cmd_tbl *cmdtp, int flag, int argc,
}
static struct cmd_tbl cmd_sub[] = {
+ U_BOOT_CMD_MKENT(unaligned, CONFIG_SYS_MAXARGS, 1, do_unaligned,
+ "", ""),
U_BOOT_CMD_MKENT(undefined, CONFIG_SYS_MAXARGS, 1, do_undefined,
"", ""),
};
@@ -23,7 +37,8 @@ static struct cmd_tbl cmd_sub[] = {
static char exception_help_text[] =
"<ex>\n"
" The following exceptions are available:\n"
- " undefined - undefined instruction\n"
+ " undefined - illegal instruction\n"
+ " unaligned - load address misaligned\n"
;
#include <exception.h>