summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/amd64/include/metadata.h34
-rw-r--r--sys/i386/include/metadata.h34
-rw-r--r--sys/powerpc/include/metadata.h6
-rw-r--r--sys/sparc64/include/metadata.h6
-rw-r--r--sys/sys/linker.h14
5 files changed, 82 insertions, 12 deletions
diff --git a/sys/amd64/include/metadata.h b/sys/amd64/include/metadata.h
new file mode 100644
index 0000000..32497a4
--- /dev/null
+++ b/sys/amd64/include/metadata.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2003 Peter Wemm <peter@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE_METADATA_H_
+#define _MACHINE_METADATA_H_
+
+#define MODINFOMD_SMAP 0x1001
+
+#endif /* !_MACHINE_METADATA_H_ */
diff --git a/sys/i386/include/metadata.h b/sys/i386/include/metadata.h
new file mode 100644
index 0000000..32497a4
--- /dev/null
+++ b/sys/i386/include/metadata.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2003 Peter Wemm <peter@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE_METADATA_H_
+#define _MACHINE_METADATA_H_
+
+#define MODINFOMD_SMAP 0x1001
+
+#endif /* !_MACHINE_METADATA_H_ */
diff --git a/sys/powerpc/include/metadata.h b/sys/powerpc/include/metadata.h
index e9bd084..ec5e2c2 100644
--- a/sys/powerpc/include/metadata.h
+++ b/sys/powerpc/include/metadata.h
@@ -33,10 +33,4 @@
#define MODINFOMD_HOWTO 0x1002
#define MODINFOMD_KERNEND 0x1003
-#define MD_FETCH(mdp, info, type) ({ \
- type *__p; \
- __p = (type *)preload_search_info((mdp), MODINFO_METADATA | (info)); \
- __p ? *__p : 0; \
-})
-
#endif /* !_MACHINE_METADATA_H_ */
diff --git a/sys/sparc64/include/metadata.h b/sys/sparc64/include/metadata.h
index a475403..dca626f 100644
--- a/sys/sparc64/include/metadata.h
+++ b/sys/sparc64/include/metadata.h
@@ -42,10 +42,4 @@ struct tlb_entry {
vm_offset_t te_va;
};
-#define MD_FETCH(mdp, info, type) ({ \
- type *__p; \
- __p = (type *)preload_search_info((mdp), MODINFO_METADATA | (info)); \
- __p ? *__p : 0; \
-})
-
#endif /* !_MACHINE_METADATA_H_ */
diff --git a/sys/sys/linker.h b/sys/sys/linker.h
index a601e3a..3ea5718 100644
--- a/sys/sys/linker.h
+++ b/sys/sys/linker.h
@@ -191,10 +191,24 @@ int linker_ddb_symbol_values(c_linker_sym_t _sym, linker_symval_t *_symval);
#define MODINFOMD_SSYM 0x0003 /* start of symbols */
#define MODINFOMD_ESYM 0x0004 /* end of symbols */
#define MODINFOMD_DYNAMIC 0x0005 /* _DYNAMIC pointer */
+/* These values are MD on these two platforms */
+#if !defined(__sparc64__) && !defined(__powerpc__)
+#define MODINFOMD_ENVP 0x0006 /* envp[] */
+#define MODINFOMD_HOWTO 0x0007 /* boothowto */
+#define MODINFOMD_KERNEND 0x0008 /* kernend */
+#endif
#define MODINFOMD_NOCOPY 0x8000 /* don't copy this metadata to the kernel */
#define MODINFOMD_DEPLIST (0x4001 | MODINFOMD_NOCOPY) /* depends on */
+#ifdef _KERNEL
+#define MD_FETCH(mdp, info, type) ({ \
+ type *__p; \
+ __p = (type *)preload_search_info((mdp), MODINFO_METADATA | (info)); \
+ __p ? *__p : 0; \
+})
+#endif
+
#define LINKER_HINTS_VERSION 1 /* linker.hints file version */
#ifdef _KERNEL
OpenPOWER on IntegriCloud