aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2015-01-15 00:46:30 +0000
committerWarner Losh <imp@FreeBSD.org>2015-01-15 00:46:30 +0000
commitb03747e983d68eb429d2247cec626828ae9fd8ae (patch)
treecf8a7d2761c579bafe7167d96df4499407ecfed7
parentaf8cf71035e4d2d399f5fcbea658e1ff547f2240 (diff)
downloadsrc-b03747e983d68eb429d2247cec626828ae9fd8ae.tar.gz
src-b03747e983d68eb429d2247cec626828ae9fd8ae.zip
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
Notes
Notes: svn path=/head/; revision=277205
-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 2c8e184c457f..ceb140805967 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 782770a73df9..3baa755f5b49 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 73c60045c0fe..c3784eff04eb 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);
}