aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@sifive.com>2019-11-07 14:25:00 -0800
committerPalmer Dabbelt <palmerdabbelt@google.com>2019-11-25 12:34:52 -0800
commit9c0fb20c4bd50a99c3c6f6d515e05eaf8dd87fa4 (patch)
tree765c90476627ba24d0a9476c84aca6a613dcdc68
parent65e05c82bdc6d348155e301c9d87dba7a08a5701 (diff)
RISC-V: virt: This is a "sifive,test1" test finisher
The test finisher implements the reset command, which means it's a "sifive,test1" device. This is a backwards compatible change, so it's also a "sifive,test0" device. I copied the odd idiom for adding a two-string compatible field from the ARM virt board. Fixes: 9a2551ed6f ("riscv: sifive_test: Add reset functionality") Signed-off-by: Palmer Dabbelt <palmer@sifive.com> Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
-rw-r--r--hw/riscv/virt.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index 23f340df19..74f2dce81c 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -359,7 +359,10 @@ static void create_fdt(RISCVVirtState *s, const struct MemmapEntry *memmap,
nodename = g_strdup_printf("/test@%lx",
(long)memmap[VIRT_TEST].base);
qemu_fdt_add_subnode(fdt, nodename);
- qemu_fdt_setprop_string(fdt, nodename, "compatible", "sifive,test0");
+ {
+ const char compat[] = "sifive,test1\0sifive,test0";
+ qemu_fdt_setprop(fdt, nodename, "compatible", compat, sizeof(compat));
+ }
qemu_fdt_setprop_cells(fdt, nodename, "reg",
0x0, memmap[VIRT_TEST].base,
0x0, memmap[VIRT_TEST].size);