summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcsgr <csgr@FreeBSD.org>1994-07-22 13:17:07 +0000
committercsgr <csgr@FreeBSD.org>1994-07-22 13:17:07 +0000
commite636e927e82c31fd05df267b4c72fe11abb3f66b (patch)
tree21c1478dce3c253aa14ddb21493edf3d63529ae5
parenta22e08d7639eb3fd20b2a774c131b065dfd85508 (diff)
downloadFreeBSD-src-e636e927e82c31fd05df267b4c72fe11abb3f66b.zip
FreeBSD-src-e636e927e82c31fd05df267b4c72fe11abb3f66b.tar.gz
The FreeBSD bootloader loads the kernel at the a_entry address in the
kernel a.out file, meaning that this is where the kernel starts. (not at KERNBASE) - KERNBASE is 0xf0000000, while the kernel loads at 0xf0100000 Reviewed by:
-rw-r--r--usr.sbin/kvm_mkdb/nlist.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.sbin/kvm_mkdb/nlist.c b/usr.sbin/kvm_mkdb/nlist.c
index 036b32a..f1d004c 100644
--- a/usr.sbin/kvm_mkdb/nlist.c
+++ b/usr.sbin/kvm_mkdb/nlist.c
@@ -136,8 +136,19 @@ create_knlist(name, db)
if (strcmp((char *)key.data, VRS_SYM) == 0) {
long cur_off, voff;
#ifndef KERNTEXTOFF
+/*
+ * XXX
+ * The FreeBSD bootloader loads the kernel at the a_entry address, meaning
+ * that this is where the kernel starts. (not at KERNBASE)
+ *
+ * This may be introducing an i386 dependency.
+ */
+#if defined(__FreeBSD__)
+#define KERNTEXTOFF ebuf.a_entry
+#else
#define KERNTEXTOFF KERNBASE
#endif
+#endif
/*
* Calculate offset relative to a normal (non-kernel)
* a.out. KERNTEXTOFF is where the kernel is really
OpenPOWER on IntegriCloud