Module Name: src Committed By: skrll Date: Fri Jan 12 18:06:18 UTC 2024
Modified Files: src/sys/dev/fdt: fdt_memory.c Log Message: Cache the result from fdtbus_get_data() in fdt_memory_remove_reserved NFCI. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/dev/fdt/fdt_memory.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/dev/fdt/fdt_memory.c diff -u src/sys/dev/fdt/fdt_memory.c:1.8 src/sys/dev/fdt/fdt_memory.c:1.9 --- src/sys/dev/fdt/fdt_memory.c:1.8 Fri Nov 4 10:51:16 2022 +++ src/sys/dev/fdt/fdt_memory.c Fri Jan 12 18:06:18 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: fdt_memory.c,v 1.8 2022/11/04 10:51:16 jmcneill Exp $ */ +/* $NetBSD: fdt_memory.c,v 1.9 2024/01/12 18:06:18 skrll Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "opt_fdt.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fdt_memory.c,v 1.8 2022/11/04 10:51:16 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fdt_memory.c,v 1.9 2024/01/12 18:06:18 skrll Exp $"); #include <sys/param.h> #include <sys/queue.h> @@ -110,15 +110,16 @@ fdt_memory_remove_reserved(uint64_t min_ { uint64_t lstart = 0, lend = 0; int index, error, phandle, child; + const void *fdt_data = fdtbus_get_data(); + const int num = fdt_num_mem_rsv(fdt_data); - const int num = fdt_num_mem_rsv(fdtbus_get_data()); for (index = 0; index <= num; index++) { uint64_t addr, size; - error = fdt_get_mem_rsv(fdtbus_get_data(), index, - &addr, &size); + error = fdt_get_mem_rsv(fdt_data, index, &addr, &size); if (error != 0) continue; + if (lstart <= addr && addr <= lend) { size -= (lend - addr); addr = lend;