summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2015-01-15 00:46:30 +0000
committerimp <imp@FreeBSD.org>2015-01-15 00:46:30 +0000
commitd70d76bce5ec0209c7d8fe8719212ec165b20e65 (patch)
treecf8a7d2761c579bafe7167d96df4499407ecfed7
parent66acb8032efd831ea7db1ea658043333fadd2c48 (diff)
downloadFreeBSD-src-d70d76bce5ec0209c7d8fe8719212ec165b20e65.zip
FreeBSD-src-d70d76bce5ec0209c7d8fe8719212ec165b20e65.tar.gz
Reserve and ignore the a new module metadata type MDT_PNP_INFO for
associating an optional PNP hint table with this module. In the future, when these are added, these changes will silently ignore the new type they would otherwise warn about. It will always be safe to ignore this data. Get this into the builds today for some future proofing. MFC After: 3 days
-rw-r--r--sys/boot/common/load_elf_obj.c1
-rw-r--r--sys/sys/module.h1
-rw-r--r--usr.sbin/kldxref/kldxref.c4
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/boot/common/load_elf_obj.c b/sys/boot/common/load_elf_obj.c
index 2c8e184..ceb1408 100644
--- a/sys/boot/common/load_elf_obj.c
+++ b/sys/boot/common/load_elf_obj.c
@@ -416,6 +416,7 @@ __elfN(obj_parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef)
modcnt++;
break;
case MDT_MODULE:
+ case MDT_PNP_INFO:
break;
default:
printf("unknown type %d\n", md.md_type);
diff --git a/sys/sys/module.h b/sys/sys/module.h
index 782770a..3baa755 100644
--- a/sys/sys/module.h
+++ b/sys/sys/module.h
@@ -35,6 +35,7 @@
#define MDT_DEPEND 1 /* argument is a module name */
#define MDT_MODULE 2 /* module declaration */
#define MDT_VERSION 3 /* module version(s) */
+#define MDT_PNP_INFO 4 /* Plug and play hints record */
#define MDT_STRUCT_VERSION 1 /* version of metadata structure */
#define MDT_SETNAME "modmetadata_set"
diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c
index 73c6004..c3784ef 100644
--- a/usr.sbin/kldxref/kldxref.c
+++ b/usr.sbin/kldxref/kldxref.c
@@ -172,6 +172,10 @@ parse_entry(struct mod_metadata *md, const char *cval,
record_string(kldname);
}
break;
+ case MDT_PNP_INFO:
+ if (dflag) {
+ printf(" pnp info for bus %s\n", cval);
+ }
default:
warnx("unknown metadata record %d in file %s", md->md_type, kldname);
}
OpenPOWER on IntegriCloud