summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2016-04-22 21:38:37 +0000
committeremaste <emaste@FreeBSD.org>2016-04-22 21:38:37 +0000
commit6ac493037aab2a2b589918fea57d9baa73aa65e5 (patch)
tree85daa4987e2854d9c044ba9094c8bd38d98883b5
parente060611a41a72f9bfb8674151e1a0b83c5a24126 (diff)
downloadFreeBSD-src-6ac493037aab2a2b589918fea57d9baa73aa65e5.zip
FreeBSD-src-6ac493037aab2a2b589918fea57d9baa73aa65e5.tar.gz
MFC r277205 (imp):
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.
-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 b983ecb..285a88e 100644
--- a/sys/boot/common/load_elf_obj.c
+++ b/sys/boot/common/load_elf_obj.c
@@ -412,6 +412,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 8430cd8..4f09d26 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