Module Name: src Committed By: jmcneill Date: Thu Aug 1 13:11:16 UTC 2019
Modified Files: src/sys/stand/efiboot: efiacpi.c efifdt.c version Log Message: Add full UEFI memory map to the /chosen node. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/stand/efiboot/efiacpi.c cvs rdiff -u -r1.17 -r1.18 src/sys/stand/efiboot/efifdt.c cvs rdiff -u -r1.11 -r1.12 src/sys/stand/efiboot/version 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/efiacpi.c diff -u src/sys/stand/efiboot/efiacpi.c:1.3 src/sys/stand/efiboot/efiacpi.c:1.4 --- src/sys/stand/efiboot/efiacpi.c:1.3 Sun Oct 28 10:17:47 2018 +++ src/sys/stand/efiboot/efiacpi.c Thu Aug 1 13:11:16 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: efiacpi.c,v 1.3 2018/10/28 10:17:47 jmcneill Exp $ */ +/* $NetBSD: efiacpi.c,v 1.4 2019/08/01 13:11:16 jmcneill Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #include <libfdt.h> -#define ACPI_FDT_SIZE (64 * 1024) +#define ACPI_FDT_SIZE (128 * 1024) static EFI_GUID Acpi20TableGuid = ACPI_20_TABLE_GUID; static EFI_GUID Smbios3TableGuid = SMBIOS3_TABLE_GUID; Index: src/sys/stand/efiboot/efifdt.c diff -u src/sys/stand/efiboot/efifdt.c:1.17 src/sys/stand/efiboot/efifdt.c:1.18 --- src/sys/stand/efiboot/efifdt.c:1.17 Thu Jul 25 11:44:14 2019 +++ src/sys/stand/efiboot/efifdt.c Thu Aug 1 13:11:16 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: efifdt.c,v 1.17 2019/07/25 11:44:14 skrll Exp $ */ +/* $NetBSD: efifdt.c,v 1.18 2019/08/01 13:11:16 jmcneill Exp $ */ /*- * Copyright (c) 2019 Jason R. Thorpe @@ -206,14 +206,14 @@ efi_fdt_memory_map(void) memmap = LibMemoryMap(&nentries, &mapkey, &descsize, &descver); for (n = 0, md = memmap; n < nentries; n++, md = NextMemoryDescriptor(md, descsize)) { + fdt_appendprop_u32(fdt_data, fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), "netbsd,uefi-memmap", md->Type); + fdt_appendprop_u64(fdt_data, fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), "netbsd,uefi-memmap", md->PhysicalStart); + fdt_appendprop_u64(fdt_data, fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), "netbsd,uefi-memmap", md->NumberOfPages); + fdt_appendprop_u64(fdt_data, fdt_path_offset(fdt_data, FDT_CHOSEN_NODE_PATH), "netbsd,uefi-memmap", md->Attribute); + if ((md->Attribute & EFI_MEMORY_RUNTIME) != 0) continue; - fdt_appendprop_u32(fdt_data, chosen, "netbsd,uefi-memory-map", md->Type); - fdt_appendprop_u64(fdt_data, chosen, "netbsd,uefi-memory-map", md->PhysicalStart); - fdt_appendprop_u64(fdt_data, chosen, "netbsd,uefi-memory-map", md->NumberOfPages); - fdt_appendprop_u64(fdt_data, chosen, "netbsd,uefi-memory-map", md->Attribute); - if ((md->Attribute & EFI_MEMORY_WB) == 0) continue; if (!FDT_MEMORY_USABLE(md)) Index: src/sys/stand/efiboot/version diff -u src/sys/stand/efiboot/version:1.11 src/sys/stand/efiboot/version:1.12 --- src/sys/stand/efiboot/version:1.11 Wed Jul 24 11:40:36 2019 +++ src/sys/stand/efiboot/version Thu Aug 1 13:11:16 2019 @@ -1,4 +1,4 @@ -$NetBSD: version,v 1.11 2019/07/24 11:40:36 jmcneill Exp $ +$NetBSD: version,v 1.12 2019/08/01 13:11:16 jmcneill Exp $ NOTE ANY CHANGES YOU MAKE TO THE EFI BOOTLOADER HERE. The format of this file is important - make sure the entries are appended on end, last item @@ -15,3 +15,4 @@ is taken as the current. 1.8: Add support for "bootargs" environment variable. 1.9: Add support for efiboot.plist and loading device tree overlays. 1.10: Add support for EFI GOP framebuffers in ACPI mode. +1.11: Add full UEFI memory map to /chosen node.