]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
RISC-V: virt: This is a "sifive,test1" test finisher
authorPalmer Dabbelt <palmer@sifive.com>
Thu, 7 Nov 2019 22:25:00 +0000 (14:25 -0800)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Mon, 25 Nov 2019 20:34:52 +0000 (12:34 -0800)
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>
hw/riscv/virt.c

index 23f340df193eb91d2859a9223528974e87e357a4..74f2dce81cc0bb0c3d7521c61f99040b7f5205aa 100644 (file)
@@ -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);