How about this. No need to create entries if we know we won't internalize them.
See x86_parse_clusters(), we're only interested in BIM_Memory, BIM_ACPI and
BIM_NVS.
Index: efi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/efi.c,v
retrieving revision 1.19
diff -u -r1.19 efi.c
--- efi.c 3 Dec 2018 19:46:43 -0000 1.19
+++ efi.c 5 May 2019 08:21:34 -0000
@@ -517,6 +517,16 @@
size = md->md_pages * EFI_PAGE_SIZE;
type = efi_getbiosmemtype(md->md_type, md->md_attr);
+ /* If the segment is not memory, skip it. */
+ switch (type) {
+ case BIM_Memory:
+ case BIM_ACPI:
+ case BIM_NVS:
+ break;
+ default:
+ continue;
+ }
+
#ifdef DEBUG_MEMLOAD
printf("MEMMAP: p0x%016" PRIx64 "-0x%016" PRIx64
", v0x%016" PRIx64 "-0x%016" PRIx64