diff options
| author | Tom Rini <[email protected]> | 2020-08-14 08:38:01 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2020-08-14 08:38:01 -0400 |
| commit | fe5c777df26dab302cbb26d5f05655e27b714987 (patch) | |
| tree | b1e7f289c00fe53b02ee5f11894e4d47a7697f83 /cmd | |
| parent | cdcf591d9b20534e5f5c58aa2a2b07b3b173f5a1 (diff) | |
| parent | 313981c2d9437f31b2a0f3838591a5fb0e5d8ebe (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.c | 17 |
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> |
