]> xenbits.xensource.com Git - freebsd.git/commitdiff
riscv: Small fix to CPU compatibility identification
authorkp <kp@FreeBSD.org>
Wed, 11 Sep 2019 16:16:53 +0000 (16:16 +0000)
committerkp <kp@FreeBSD.org>
Wed, 11 Sep 2019 16:16:53 +0000 (16:16 +0000)
fdt_is_compatible_strict() inspects the first compatible property.
We need to inspect the following properties for 'riscv'.
ofw_bus_node_is_compatible() does a recursive search.

This patch fixes "Can't find CPU" error message when bootverbose = true.

Submitted by: Nicholas O'Brien (nickisobrien_gmail.com)
Reviewed by: philip, kp
Sponsored by: Axiado
Differential Revision: https://reviews.freebsd.org/D21576

sys/riscv/riscv/identcpu.c

index ab1adead01625a7a585876e1a5a61cceb9389d96..1abcb1b91240c3487aed3f79da8f7db7e83feda2 100644 (file)
@@ -141,7 +141,7 @@ fill_elf_hwcap(void *dummy __unused)
         * ISAs, keep only the extension bits that are common to all harts.
         */
        for (node = OF_child(node); node > 0; node = OF_peer(node)) {
-               if (!fdt_is_compatible_strict(node, "riscv")) {
+               if (!ofw_bus_node_is_compatible(node, "riscv")) {
                        if (bootverbose)
                                printf("fill_elf_hwcap: Can't find cpu\n");
                        return;