NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-amd64/54147 (device trouble (failed to map RSDT, mapping interrupts fail))



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


Home | Main Index | Thread Index | Old Index