Module Name: src Committed By: maxv Date: Sat Sep 30 12:12:29 UTC 2017
Modified Files: src/sys/arch/x86/x86: db_memrw.c Log Message: use bootspace To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/x86/x86/db_memrw.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/arch/x86/x86/db_memrw.c diff -u src/sys/arch/x86/x86/db_memrw.c:1.2 src/sys/arch/x86/x86/db_memrw.c:1.3 --- src/sys/arch/x86/x86/db_memrw.c:1.2 Thu May 12 06:45:16 2016 +++ src/sys/arch/x86/x86/db_memrw.c Sat Sep 30 12:12:29 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: db_memrw.c,v 1.2 2016/05/12 06:45:16 maxv Exp $ */ +/* $NetBSD: db_memrw.c,v 1.3 2017/09/30 12:12:29 maxv Exp $ */ /*- * Copyright (c) 1996, 2000 The NetBSD Foundation, Inc. @@ -53,7 +53,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.2 2016/05/12 06:45:16 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.3 2017/09/30 12:12:29 maxv Exp $"); #include <sys/param.h> #include <sys/proc.h> @@ -174,15 +174,19 @@ db_write_text(vaddr_t addr, size_t size, void db_write_bytes(vaddr_t addr, size_t size, const char *data) { - extern int __rodata_start; - extern int __data_start; + extern struct bootspace bootspace; char *dst; dst = (char *)addr; /* If any part is in kernel text or rodata, use db_write_text() */ - if ((addr >= KERNBASE && addr < (vaddr_t)&__rodata_start) || - (addr >= (vaddr_t)&__rodata_start && addr < (vaddr_t)&__data_start)) { + if (addr >= bootspace.text.va && + addr < (bootspace.text.va + bootspace.text.sz)) { + db_write_text(addr, size, data); + return; + } + if (addr >= bootspace.rodata.va && + addr < (bootspace.rodata.va + bootspace.rodata.sz)) { db_write_text(addr, size, data); return; }