Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Apr 2003 19:34:11 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 30235 for review
Message-ID:  <200305010234.h412YBn3096835@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=30235

Change 30235 by peter@peter_daintree on 2003/04/30 19:33:11

	Try and avoid blowing the sparc64 and powerpc folks out of the
	water.

Affected files ...

.. //depot/projects/hammer/sys/amd64/include/metadata.h#1 add
.. //depot/projects/hammer/sys/boot/i386/libi386/biossmap.c#3 edit
.. //depot/projects/hammer/sys/boot/powerpc/loader/metadata.c#5 edit
.. //depot/projects/hammer/sys/boot/sparc64/loader/metadata.c#6 edit
.. //depot/projects/hammer/sys/i386/include/metadata.h#1 add
.. //depot/projects/hammer/sys/powerpc/include/metadata.h#2 edit
.. //depot/projects/hammer/sys/sparc64/include/metadata.h#2 edit
.. //depot/projects/hammer/sys/sys/linker.h#8 edit

Differences ...

==== //depot/projects/hammer/sys/boot/i386/libi386/biossmap.c#3 (text+ko) ====

@@ -32,6 +32,7 @@
 #include <stand.h>
 #include <sys/param.h>
 #include <sys/linker.h>
+#include <machine/metadata.h>
 #include "bootstrap.h"
 #include "libi386.h"
 #include "btxv86.h"

==== //depot/projects/hammer/sys/boot/powerpc/loader/metadata.c#5 (text+ko) ====

@@ -302,6 +302,10 @@
     file_addmetadata(kfp, MODINFOMD_HOWTO, sizeof howto, &howto);
     file_addmetadata(kfp, MODINFOMD_ENVP, sizeof envp, &envp);
     file_addmetadata(kfp, MODINFOMD_KERNEND, sizeof kernend, &kernend);
+    /* Compatability with older kernels */
+    file_addmetadata(kfp, MODINFOMD_OHOWTO, sizeof howto, &howto);
+    file_addmetadata(kfp, MODINFOMD_OENVP, sizeof envp, &envp);
+    file_addmetadata(kfp, MODINFOMD_OKERNEND, sizeof kernend, &kernend);
 
     *modulep = addr;
     size = md_copymodules(0);
@@ -309,6 +313,8 @@
 
     md = file_findmetadata(kfp, MODINFOMD_KERNEND);
     bcopy(&kernend, md->md_data, sizeof kernend);
+    md = file_findmetadata(kfp, MODINFOMD_OKERNEND);	/* Compat */
+    bcopy(&kernend, md->md_data, sizeof kernend);
 
     (void)md_copymodules(addr);
 

==== //depot/projects/hammer/sys/boot/sparc64/loader/metadata.c#6 (text+ko) ====

@@ -304,6 +304,10 @@
     file_addmetadata(kfp, MODINFOMD_HOWTO, sizeof howto, &howto);
     file_addmetadata(kfp, MODINFOMD_ENVP, sizeof envp, &envp);
     file_addmetadata(kfp, MODINFOMD_KERNEND, sizeof kernend, &kernend);
+    /* The next three are for compatability with older kernels */
+    file_addmetadata(kfp, MODINFOMD_OHOWTO, sizeof howto, &howto);
+    file_addmetadata(kfp, MODINFOMD_OENVP, sizeof envp, &envp);
+    file_addmetadata(kfp, MODINFOMD_OKERNEND, sizeof kernend, &kernend);
     file_addmetadata(kfp, MODINFOMD_DTLB_SLOTS, sizeof dtlb_slot, &dtlb_slot);
     file_addmetadata(kfp, MODINFOMD_ITLB_SLOTS, sizeof itlb_slot, &itlb_slot);
     file_addmetadata(kfp, MODINFOMD_DTLB,
@@ -317,6 +321,8 @@
 
     md = file_findmetadata(kfp, MODINFOMD_KERNEND);
     bcopy(&kernend, md->md_data, sizeof kernend);
+    md = file_findmetadata(kfp, MODINFOMD_OKERNEND);	/* Compat */
+    bcopy(&kernend, md->md_data, sizeof kernend);
 
     (void)md_copymodules(addr);
 

==== //depot/projects/hammer/sys/powerpc/include/metadata.h#2 (text+ko) ====

@@ -29,14 +29,9 @@
 #ifndef _MACHINE_METADATA_H_
 #define	_MACHINE_METADATA_H_
 
-#define	MODINFOMD_ENVP		0x1001
-#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; \
-})
+/* These three have been moved to MI */
+#define	MODINFOMD_OENVP		0x1001
+#define	MODINFOMD_OHOWTO	0x1002
+#define	MODINFOMD_OKERNEND	0x1003
 
 #endif /* !_MACHINE_METADATA_H_ */

==== //depot/projects/hammer/sys/sparc64/include/metadata.h#2 (text+ko) ====

@@ -29,9 +29,10 @@
 #ifndef _MACHINE_METADATA_H_
 #define	_MACHINE_METADATA_H_
 
-#define	MODINFOMD_ENVP		0x1001
-#define	MODINFOMD_HOWTO		0x1002
-#define	MODINFOMD_KERNEND	0x1003
+/* The first three have been promoted to MI */
+#define	MODINFOMD_OENVP		0x1001
+#define	MODINFOMD_OHOWTO	0x1002
+#define	MODINFOMD_OKERNEND	0x1003
 #define	MODINFOMD_DTLB_SLOTS	0x1004
 #define	MODINFOMD_ITLB_SLOTS	0x1005
 #define	MODINFOMD_DTLB		0x1006
@@ -42,10 +43,4 @@
 	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_ */

==== //depot/projects/hammer/sys/sys/linker.h#8 (text+ko) ====

@@ -194,7 +194,6 @@
 #define MODINFOMD_ENVP		0x0006		/* envp[] */
 #define MODINFOMD_HOWTO		0x0007		/* boothowto */
 #define MODINFOMD_KERNEND	0x0008		/* kernend */
-#define MODINFOMD_SMAP		0x0009		/* i386 bios smap */
 #define MODINFOMD_NOCOPY	0x8000		/* don't copy this metadata to the kernel */
 
 #define MODINFOMD_DEPLIST	(0x4001 | MODINFOMD_NOCOPY)	/* depends on */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305010234.h412YBn3096835>