Module Name:    src
Committed By:   martin
Date:           Sun Sep  1 13:25:22 UTC 2019

Modified Files:
        src/sys/stand/efiboot [netbsd-9]: efifdt.c

Log Message:
Pull up following revision(s) (requested by jmcneill in ticket #142):

        sys/stand/efiboot/efifdt.c: revision 1.19

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.17.2.1 -r1.17.2.2 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.17.2.1 src/sys/stand/efiboot/efifdt.c:1.17.2.2
--- src/sys/stand/efiboot/efifdt.c:1.17.2.1	Sun Aug  4 11:37:56 2019
+++ src/sys/stand/efiboot/efifdt.c	Sun Sep  1 13:25:22 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: efifdt.c,v 1.17.2.1 2019/08/04 11:37:56 martin Exp $ */
+/* $NetBSD: efifdt.c,v 1.17.2.2 2019/09/01 13:25:22 martin 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);
 

Reply via email to