Module Name: src Committed By: jmcneill Date: Fri Aug 30 00:01:33 UTC 2019
Modified Files: src/sys/stand/efiboot: efifdt.c Log Message: Only set #address-cells and #size-cells properties on /chosen if we are fabricating a devicetree (ACPI mode). Fixes PR# 54494 To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/sys/stand/efiboot/efifdt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/stand/efiboot/efifdt.c diff -u src/sys/stand/efiboot/efifdt.c:1.18 src/sys/stand/efiboot/efifdt.c:1.19 --- src/sys/stand/efiboot/efifdt.c:1.18 Thu Aug 1 13:11:16 2019 +++ src/sys/stand/efiboot/efifdt.c Fri Aug 30 00:01:33 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: efifdt.c,v 1.18 2019/08/01 13:11:16 jmcneill Exp $ */ +/* $NetBSD: efifdt.c,v 1.19 2019/08/30 00:01:33 jmcneill Exp $ */ /*- * Copyright (c) 2019 Jason R. Thorpe @@ -292,8 +292,15 @@ efi_fdt_gop(void) continue; } + fdt_setprop_u32(fdt_data, + fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), "#address-cells", 2); + fdt_setprop_u32(fdt_data, + fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), "#size-cells", 2); + fdt_setprop_empty(fdt_data, + fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), "ranges"); + snprintf(buf, sizeof(buf), "framebuffer@%" PRIx64, mode->FrameBufferBase); - fb = fdt_add_subnode(fdt_data, fdt_path_offset(fdt_data, "/chosen"), buf); + fb = fdt_add_subnode(fdt_data, fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), buf); if (fb < 0) panic("FDT: Failed to create framebuffer node"); @@ -327,10 +334,6 @@ efi_fdt_bootargs(const char *bootargs) if (chosen < 0) panic("FDT: Failed to create " FDT_CHOSEN_NODE_PATH " node"); - fdt_setprop_u32(fdt_data, chosen, "#address-cells", 2); - fdt_setprop_u32(fdt_data, chosen, "#size-cells", 2); - fdt_setprop_empty(fdt_data, chosen, "ranges"); - if (*bootargs) fdt_setprop_string(fdt_data, chosen, "bootargs", bootargs);