PERFORCE change 36732 for review

Marcel Moolenaar marcel at FreeBSD.org
Fri Aug 22 22:36:00 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=36732

Change 36732 by marcel at marcel_nfs on 2003/08/22 22:35:06

	IFC @36730

Affected files ...

.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#119 integrate
.. //depot/projects/ia64/sys/amd64/amd64/amd64_mem.c#2 integrate
.. //depot/projects/ia64/sys/amd64/ia32/Makefile#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32.h#2 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_genassym.c#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_misc.c#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_proto.h#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_signal.c#4 integrate
.. //depot/projects/ia64/sys/amd64/ia32/ia32_signal.h#2 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_sigtramp.S#2 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_syscall.c#4 integrate
.. //depot/projects/ia64/sys/amd64/ia32/ia32_syscall.h#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_syscalls.c#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_sysent.c#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_sysvec.c#4 delete
.. //depot/projects/ia64/sys/amd64/ia32/ia32_util.h#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/syscalls.conf#3 delete
.. //depot/projects/ia64/sys/amd64/ia32/syscalls.master#3 delete
.. //depot/projects/ia64/sys/compat/freebsd32/Makefile#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/freebsd32.h#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_misc.c#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_proto.h#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscall.h#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscalls.c#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_sysent.c#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_util.h#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/syscalls.conf#1 branch
.. //depot/projects/ia64/sys/compat/freebsd32/syscalls.master#1 branch
.. //depot/projects/ia64/sys/compat/ia32/ia32_genassym.c#1 branch
.. //depot/projects/ia64/sys/compat/ia32/ia32_signal.h#1 branch
.. //depot/projects/ia64/sys/compat/ia32/ia32_sigtramp.S#1 branch
.. //depot/projects/ia64/sys/compat/ia32/ia32_sysvec.c#1 branch
.. //depot/projects/ia64/sys/compat/ia32/ia32_util.h#1 branch
.. //depot/projects/ia64/sys/conf/files.amd64#10 integrate
.. //depot/projects/ia64/sys/conf/files.ia64#45 integrate
.. //depot/projects/ia64/sys/conf/options.ia64#16 integrate
.. //depot/projects/ia64/sys/dev/hfa/hfa_sbus.c#2 integrate
.. //depot/projects/ia64/sys/dev/hme/if_hme_sbus.c#5 integrate
.. //depot/projects/ia64/sys/dev/isp/isp_sbus.c#7 integrate
.. //depot/projects/ia64/sys/dev/sab/sab.c#13 integrate
.. //depot/projects/ia64/sys/dev/sio/sio_ebus.c#7 integrate
.. //depot/projects/ia64/sys/dev/zs/zs_macio.c#2 integrate
.. //depot/projects/ia64/sys/dev/zs/zs_sbus.c#4 integrate
.. //depot/projects/ia64/sys/gnu/ext2fs/ext2_linux_balloc.c#4 integrate
.. //depot/projects/ia64/sys/gnu/ext2fs/ext2_linux_ialloc.c#3 integrate
.. //depot/projects/ia64/sys/gnu/ext2fs/ia64-bitops.h#1 branch
.. //depot/projects/ia64/sys/ia64/ia64/machdep.c#91 integrate
.. //depot/projects/ia64/sys/ia64/include/param.h#10 integrate
.. //depot/projects/ia64/sys/pci/ncr.c#13 integrate
.. //depot/projects/ia64/sys/sparc64/ebus/ebus.c#11 integrate
.. //depot/projects/ia64/sys/sparc64/isa/isa.c#10 integrate
.. //depot/projects/ia64/sys/sparc64/isa/ofw_isa.c#6 integrate
.. //depot/projects/ia64/sys/sparc64/pci/psycho.c#30 integrate
.. //depot/projects/ia64/sys/sparc64/sbus/sbus.c#19 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/eeprom.c#2 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/eeprom_ebus.c#2 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/eeprom_fhc.c#2 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/eeprom_sbus.c#2 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/ofw_bus.c#9 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/ofw_machdep.c#3 integrate

Differences ...

==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#119 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The FreeBSD Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.616 2003/08/21 17:52:08 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.618 2003/08/22 22:24:12 bmah Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -190,6 +190,9 @@
         panics on PAE machines of certain large memory sizes has been
         corrected.</para>
 
+      <para arch="i368">Floating point emulation in the kernel has
+	been removed.</para>
+
     </sect3>
 
     <sect3 id="boot">
@@ -342,6 +345,10 @@
       operations only.  It should be useful on routers with numerous
       network interfaces. &merged;</para>
 
+    <para>The &man.atmconfig.8; program has been added for
+      configuration of the ATM drivers and IP-over-ATM
+      functionality.</para>
+
     <para>&man.chroot.8; now allows the optional setting of a user,
       primary group, or group list to use inside the chroot
       environment via the <option>-u</option>, <option>-g</option>,
@@ -406,7 +413,7 @@
       has been fixed.</para>
 
     <para>&man.systat.1; now includes displays for IPv6 and ICMPv6
-      traffic.</para>
+      traffic. &merged;</para>
 
     <para>A number of utilities available in <filename>/bin</filename>
       and <filename>/sbin</filename> are now available as a
@@ -444,7 +451,7 @@
       to 8.3.6.</para>
 
     <para><application>GCC</application> has been updated from 3.2.2 to
-      3.3.1-prerelease (a 11 July 2003 snapshot).
+      3.3.1-release.
 
       <note>
         <para>Previous versions of <application>GCC</application>

==== //depot/projects/ia64/sys/amd64/amd64/amd64_mem.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.20 2003/06/02 06:43:14 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.21 2003/08/23 00:27:58 peter Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -40,10 +40,10 @@
 #include <machine/specialreg.h>
 
 /*
- * i686 memory range operations
+ * amd64 memory range operations
  *
  * This code will probably be impenetrable without reference to the
- * Intel Pentium Pro documentation.
+ * Intel Pentium Pro documentation or x86-64 programmers manual vol 2.
  */
 
 static char *mem_owner_bios = "BIOS";
@@ -66,18 +66,18 @@
 static int			mtrrs_disabled;
 TUNABLE_INT("machdep.disable_mtrrs", &mtrrs_disabled);
 SYSCTL_INT(_machdep, OID_AUTO, disable_mtrrs, CTLFLAG_RD,
-	&mtrrs_disabled, 0, "Disable i686 MTRRs.");
+	&mtrrs_disabled, 0, "Disable amd64 MTRRs.");
 
-static void			i686_mrinit(struct mem_range_softc *sc);
-static int			i686_mrset(struct mem_range_softc *sc,
+static void			amd64_mrinit(struct mem_range_softc *sc);
+static int			amd64_mrset(struct mem_range_softc *sc,
 					   struct mem_range_desc *mrd,
 					   int *arg);
-static void			i686_mrAPinit(struct mem_range_softc *sc);
+static void			amd64_mrAPinit(struct mem_range_softc *sc);
 
-static struct mem_range_ops i686_mrops = {
-    i686_mrinit,
-    i686_mrset,
-    i686_mrAPinit
+static struct mem_range_ops amd64_mrops = {
+	amd64_mrinit,
+	amd64_mrset,
+	amd64_mrAPinit
 };
 
 /* XXX for AP startup hook */
@@ -85,23 +85,23 @@
 
 static struct mem_range_desc	*mem_range_match(struct mem_range_softc *sc,
 						 struct mem_range_desc *mrd);
-static void			i686_mrfetch(struct mem_range_softc *sc);
-static int			i686_mtrrtype(int flags);
-static int			i686_mrt2mtrr(int flags, int oldval);
-static int			i686_mtrrconflict(int flag1, int flag2);
-static void			i686_mrstore(struct mem_range_softc *sc);
-static void			i686_mrstoreone(void *arg);
-static struct mem_range_desc	*i686_mtrrfixsearch(struct mem_range_softc *sc,
+static void			amd64_mrfetch(struct mem_range_softc *sc);
+static int			amd64_mtrrtype(int flags);
+static int			amd64_mrt2mtrr(int flags, int oldval);
+static int			amd64_mtrrconflict(int flag1, int flag2);
+static void			amd64_mrstore(struct mem_range_softc *sc);
+static void			amd64_mrstoreone(void *arg);
+static struct mem_range_desc	*amd64_mtrrfixsearch(struct mem_range_softc *sc,
 						    u_int64_t addr);
-static int			i686_mrsetlow(struct mem_range_softc *sc,
+static int			amd64_mrsetlow(struct mem_range_softc *sc,
 					      struct mem_range_desc *mrd,
 					      int *arg);
-static int			i686_mrsetvariable(struct mem_range_softc *sc,
+static int			amd64_mrsetvariable(struct mem_range_softc *sc,
 						   struct mem_range_desc *mrd,
 						   int *arg);
 
-/* i686 MTRR type to memory range type conversion */
-static int i686_mtrrtomrt[] = {
+/* amd64 MTRR type to memory range type conversion */
+static int amd64_mtrrtomrt[] = {
     MDF_UNCACHEABLE,
     MDF_WRITECOMBINE,
     MDF_UNKNOWN,
@@ -111,22 +111,26 @@
     MDF_WRITEBACK
 };
 
-#define MTRRTOMRTLEN (sizeof(i686_mtrrtomrt) / sizeof(i686_mtrrtomrt[0]))
+#define MTRRTOMRTLEN (sizeof(amd64_mtrrtomrt) / sizeof(amd64_mtrrtomrt[0]))
 
 static int
-i686_mtrr2mrt(int val) {
+amd64_mtrr2mrt(int val)
+{
 	if (val < 0 || val >= MTRRTOMRTLEN)
 		return MDF_UNKNOWN;
-	return i686_mtrrtomrt[val];
+	return amd64_mtrrtomrt[val];
 }
 
 /* 
- * i686 MTRR conflicts. Writeback and uncachable may overlap.
+ * amd64 MTRR conflicts. Writeback and uncachable may overlap.
  */
 static int
-i686_mtrrconflict(int flag1, int flag2) {
+amd64_mtrrconflict(int flag1, int flag2)
+{
 	flag1 &= MDF_ATTRMASK;
 	flag2 &= MDF_ATTRMASK;
+	if ((flag1 & MDF_UNKNOWN) || (flag2 & MDF_UNKNOWN))
+		return 1;
 	if (flag1 == flag2 ||
 	    (flag1 == MDF_WRITEBACK && flag2 == MDF_UNCACHEABLE) ||
 	    (flag2 == MDF_WRITEBACK && flag1 == MDF_UNCACHEABLE))
@@ -156,7 +160,7 @@
  * that MTRRs are enabled, and we may or may not have fixed MTRRs.
  */
 static void
-i686_mrfetch(struct mem_range_softc *sc)
+amd64_mrfetch(struct mem_range_softc *sc)
 {
     struct mem_range_desc	*mrd;
     u_int64_t			msrv;
@@ -171,7 +175,7 @@
 	    msrv = rdmsr(msr);
 	    for (j = 0; j < 8; j++, mrd++) {
 		mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) |
-		    i686_mtrr2mrt(msrv & 0xff) |
+		    amd64_mtrr2mrt(msrv & 0xff) |
 		    MDF_ACTIVE;
 		if (mrd->mr_owner[0] == 0)
 		    strcpy(mrd->mr_owner, mem_owner_bios);
@@ -183,7 +187,7 @@
 	    msrv = rdmsr(msr);
 	    for (j = 0; j < 8; j++, mrd++) {
 		mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) |
-		    i686_mtrr2mrt(msrv & 0xff) |
+		    amd64_mtrr2mrt(msrv & 0xff) |
 		    MDF_ACTIVE;
 		if (mrd->mr_owner[0] == 0)
 		    strcpy(mrd->mr_owner, mem_owner_bios);
@@ -195,7 +199,7 @@
 	    msrv = rdmsr(msr);
 	    for (j = 0; j < 8; j++, mrd++) {
 		mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) |
-		    i686_mtrr2mrt(msrv & 0xff) |
+		    amd64_mtrr2mrt(msrv & 0xff) |
 		    MDF_ACTIVE;
 		if (mrd->mr_owner[0] == 0)
 		    strcpy(mrd->mr_owner, mem_owner_bios);
@@ -209,14 +213,14 @@
     for (; (mrd - sc->mr_desc) < sc->mr_ndesc; msr += 2, mrd++) {
 	msrv = rdmsr(msr);
 	mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) |
-	    i686_mtrr2mrt(msrv & 0xff);
-	mrd->mr_base = msrv & 0x0000000ffffff000LL;
+	    amd64_mtrr2mrt(msrv & 0xff);
+	mrd->mr_base = msrv & 0x000ffffffffff000L;
 	msrv = rdmsr(msr + 1);
 	mrd->mr_flags = (msrv & 0x800) ? 
 	    (mrd->mr_flags | MDF_ACTIVE) :
 	    (mrd->mr_flags & ~MDF_ACTIVE);
 	/* Compute the range from the mask. Ick. */
-	mrd->mr_len = (~(msrv & 0x0000000ffffff000LL) & 0x0000000fffffffffLL) + 1;
+	mrd->mr_len = (~(msrv & 0x000ffffffffff000L) & 0x000fffffffffffffL) + 1;
 	if (!mrvalid(mrd->mr_base, mrd->mr_len))
 	    mrd->mr_flags |= MDF_BOGUS;
 	/* If unclaimed and active, must be the BIOS */
@@ -229,27 +233,27 @@
  * Return the MTRR memory type matching a region's flags
  */
 static int
-i686_mtrrtype(int flags)
+amd64_mtrrtype(int flags)
 {
     int		i;
 
     flags &= MDF_ATTRMASK;
 
     for (i = 0; i < MTRRTOMRTLEN; i++) {
-	if (i686_mtrrtomrt[i] == MDF_UNKNOWN)
+	if (amd64_mtrrtomrt[i] == MDF_UNKNOWN)
 	    continue;
-	if (flags == i686_mtrrtomrt[i])
+	if (flags == amd64_mtrrtomrt[i])
 	    return(i);
     }
     return(-1);
 }
 
 static int
-i686_mrt2mtrr(int flags, int oldval)
+amd64_mrt2mtrr(int flags, int oldval)
 {
 	int val;
 
-	if ((val = i686_mtrrtype(flags)) == -1)
+	if ((val = amd64_mtrrtype(flags)) == -1)
 		return oldval & 0xff;
 	return val & 0xff;
 }
@@ -261,7 +265,7 @@
  * XXX Must be called with interrupts enabled.
  */
 static void
-i686_mrstore(struct mem_range_softc *sc)
+amd64_mrstore(struct mem_range_softc *sc)
 {
 #ifdef SMP
     /*
@@ -270,10 +274,10 @@
      * The "proper" solution involves a generalised locking gate
      * implementation, not ready yet.
      */
-    smp_rendezvous(NULL, i686_mrstoreone, NULL, (void *)sc);
+    smp_rendezvous(NULL, amd64_mrstoreone, NULL, (void *)sc);
 #else
     disable_intr();				/* disable interrupts */
-    i686_mrstoreone((void *)sc);
+    amd64_mrstoreone((void *)sc);
     enable_intr();
 #endif
 }
@@ -284,7 +288,7 @@
  * just stuffing one entry; this is simpler (but slower, of course).
  */
 static void
-i686_mrstoreone(void *arg)
+amd64_mrstoreone(void *arg)
 {
     struct mem_range_softc 	*sc = (struct mem_range_softc *)arg;
     struct mem_range_desc	*mrd;
@@ -309,7 +313,7 @@
 	    omsrv = rdmsr(msr);
 	    for (j = 7; j >= 0; j--) {
 		msrv = msrv << 8;
-		msrv |= i686_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
+		msrv |= amd64_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
 	    }
 	    wrmsr(msr, msrv);
 	    mrd += 8;
@@ -320,7 +324,7 @@
 	    omsrv = rdmsr(msr);
 	    for (j = 7; j >= 0; j--) {
 		msrv = msrv << 8;
-		msrv |= i686_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
+		msrv |= amd64_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
 	    }
 	    wrmsr(msr, msrv);
 	    mrd += 8;
@@ -331,7 +335,7 @@
 	    omsrv = rdmsr(msr);
 	    for (j = 7; j >= 0; j--) {
 		msrv = msrv << 8;
-		msrv |= i686_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
+		msrv |= amd64_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
 	    }
 	    wrmsr(msr, msrv);
 	    mrd += 8;
@@ -344,8 +348,8 @@
 	/* base/type register */
 	omsrv = rdmsr(msr);
 	if (mrd->mr_flags & MDF_ACTIVE) {
-	    msrv = mrd->mr_base & 0x0000000ffffff000LL;
-	    msrv |= i686_mrt2mtrr(mrd->mr_flags, omsrv);
+	    msrv = mrd->mr_base & 0x000ffffffffff000L;
+	    msrv |= amd64_mrt2mtrr(mrd->mr_flags, omsrv);
 	} else {
 	    msrv = 0;
 	}
@@ -353,7 +357,7 @@
 	    
 	/* mask/active register */
 	if (mrd->mr_flags & MDF_ACTIVE) {
-	    msrv = 0x800 | (~(mrd->mr_len - 1) & 0x0000000ffffff000LL);
+	    msrv = 0x800 | (~(mrd->mr_len - 1) & 0x000ffffffffff000L);
 	} else {
 	    msrv = 0;
 	}
@@ -369,7 +373,7 @@
  * Hunt for the fixed MTRR referencing (addr)
  */
 static struct mem_range_desc *
-i686_mtrrfixsearch(struct mem_range_softc *sc, u_int64_t addr)
+amd64_mtrrfixsearch(struct mem_range_softc *sc, u_int64_t addr)
 {
     struct mem_range_desc *mrd;
     int			i;
@@ -391,13 +395,13 @@
  * XXX note that this will have to be updated when we start supporting "busy" ranges.
  */
 static int
-i686_mrsetlow(struct mem_range_softc *sc, struct mem_range_desc *mrd, int *arg)
+amd64_mrsetlow(struct mem_range_softc *sc, struct mem_range_desc *mrd, int *arg)
 {
     struct mem_range_desc	*first_md, *last_md, *curr_md;
 
     /* range check */
-    if (((first_md = i686_mtrrfixsearch(sc, mrd->mr_base)) == NULL) ||
-	((last_md = i686_mtrrfixsearch(sc, mrd->mr_base + mrd->mr_len - 1)) == NULL))
+    if (((first_md = amd64_mtrrfixsearch(sc, mrd->mr_base)) == NULL) ||
+	((last_md = amd64_mtrrfixsearch(sc, mrd->mr_base + mrd->mr_len - 1)) == NULL))
 	return(EINVAL);
 
     /* check we aren't doing something risky */
@@ -423,7 +427,7 @@
  * XXX needs to be updated to properly support "busy" ranges.
  */
 static int
-i686_mrsetvariable(struct mem_range_softc *sc, struct mem_range_desc *mrd, int *arg)
+amd64_mrsetvariable(struct mem_range_softc *sc, struct mem_range_desc *mrd, int *arg)
 {
     struct mem_range_desc	*curr_md, *free_md;
     int				i;
@@ -457,7 +461,7 @@
 	    /* non-exact overlap ? */
 	    if (mroverlap(curr_md, mrd)) {
 		/* between conflicting region types? */
-		if (i686_mtrrconflict(curr_md->mr_flags, mrd->mr_flags))
+		if (amd64_mtrrconflict(curr_md->mr_flags, mrd->mr_flags))
 		    return(EINVAL);
 	    }
 	} else if (free_md == NULL) {
@@ -481,7 +485,7 @@
  *
  */
 static int
-i686_mrset(struct mem_range_softc *sc, struct mem_range_desc *mrd, int *arg)
+amd64_mrset(struct mem_range_softc *sc, struct mem_range_desc *mrd, int *arg)
 {
     struct mem_range_desc	*targ;
     int				error = 0;
@@ -490,7 +494,7 @@
     case MEMRANGE_SET_UPDATE:
 	/* make sure that what's being asked for is even possible at all */
 	if (!mrvalid(mrd->mr_base, mrd->mr_len) ||
-	    i686_mtrrtype(mrd->mr_flags) == -1)
+	    amd64_mtrrtype(mrd->mr_flags) == -1)
 	    return(EINVAL);
 
 #define FIXTOP	((MTRR_N64K * 0x10000) + (MTRR_N16K * 0x4000) + (MTRR_N4K * 0x1000))
@@ -498,11 +502,11 @@
 	/* are the "low memory" conditions applicable? */
 	if ((sc->mr_cap & MR686_FIXMTRR) &&
 	    ((mrd->mr_base + mrd->mr_len) <= FIXTOP)) {
-	    if ((error = i686_mrsetlow(sc, mrd, arg)) != 0)
+	    if ((error = amd64_mrsetlow(sc, mrd, arg)) != 0)
 		return(error);
 	} else {
 	    /* it's time to play with variable MTRRs */
-	    if ((error = i686_mrsetvariable(sc, mrd, arg)) != 0)
+	    if ((error = amd64_mrsetvariable(sc, mrd, arg)) != 0)
 		return(error);
 	}
 	break;
@@ -523,8 +527,8 @@
     }
 
     /* update the hardware */
-    i686_mrstore(sc);
-    i686_mrfetch(sc);	/* refetch to see where we're at */
+    amd64_mrstore(sc);
+    amd64_mrfetch(sc);	/* refetch to see where we're at */
     return(0);
 }
 
@@ -533,7 +537,7 @@
  * fetch the initial settings.
  */
 static void
-i686_mrinit(struct mem_range_softc *sc)
+amd64_mrinit(struct mem_range_softc *sc)
 {
     struct mem_range_desc	*mrd;
     int				nmdesc = 0;
@@ -587,7 +591,7 @@
      * Get current settings, anything set now is considered to have 
      * been set by the firmware. (XXX has something already played here?)
      */
-    i686_mrfetch(sc);
+    amd64_mrfetch(sc);
     mrd = sc->mr_desc;
     for (i = 0; i < sc->mr_ndesc; i++, mrd++) {
 	if (mrd->mr_flags & MDF_ACTIVE)
@@ -599,24 +603,25 @@
  * Initialise MTRRs on an AP after the BSP has run the init code.
  */
 static void
-i686_mrAPinit(struct mem_range_softc *sc)
+amd64_mrAPinit(struct mem_range_softc *sc)
 {
-    i686_mrstoreone((void *)sc);	/* set MTRRs to match BSP */
+    amd64_mrstoreone((void *)sc);	/* set MTRRs to match BSP */
     wrmsr(MSR_MTRRdefType, mtrrdef);	/* set MTRR behaviour to match BSP */
 }
 
 static void
-i686_mem_drvinit(void *unused)
+amd64_mem_drvinit(void *unused)
 {
-    /* Try for i686 MTRRs */
-    if (!mtrrs_disabled && (cpu_feature & CPUID_MTRR) &&
-	((cpu_id & 0xf00) == 0x600 || (cpu_id & 0xf00) == 0xf00) &&
-	((strcmp(cpu_vendor, "GenuineIntel") == 0) ||
-	(strcmp(cpu_vendor, "AuthenticAMD") == 0))) {
-	mem_range_softc.mr_op = &i686_mrops;
-    }
+	if (mtrrs_disabled)
+		return;
+	if (!(cpu_feature & CPUID_MTRR))
+		return;
+	if ((cpu_id & 0xf00) != 0x600 && (cpu_id & 0xf00) != 0xf00)
+		return;
+	if ((strcmp(cpu_vendor, "GenuineIntel") != 0) &&
+	    (strcmp(cpu_vendor, "AuthenticAMD") != 0))
+		return;
+	mem_range_softc.mr_op = &amd64_mrops;
 }
 
-SYSINIT(i686memdev,SI_SUB_DRIVERS,SI_ORDER_FIRST,i686_mem_drvinit,NULL)
-
-	
+SYSINIT(amd64memdev,SI_SUB_DRIVERS,SI_ORDER_FIRST,amd64_mem_drvinit,NULL)

==== //depot/projects/ia64/sys/amd64/ia32/ia32_signal.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.3 2003/07/25 21:16:26 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.4 2003/08/23 00:04:53 peter Exp $");
 
 #include "opt_compat.h"
 
@@ -71,9 +71,9 @@
 #include <vm/vm_object.h>
 #include <vm/vm_extern.h>
 
-#include <amd64/ia32/ia32_util.h>
-#include <amd64/ia32/ia32_proto.h>
-#include <amd64/ia32/ia32_signal.h>
+#include <compat/freebsd32/freebsd32_util.h>
+#include <compat/freebsd32/freebsd32_proto.h>
+#include <compat/ia32/ia32_signal.h>
 #include <machine/psl.h>
 #include <machine/segments.h>
 #include <machine/specialreg.h>
@@ -264,7 +264,7 @@
 	}
 
 	regs->tf_rsp = (uintptr_t)sfp;
-	regs->tf_rip = IA32_PS_STRINGS - sz_freebsd4_ia32_sigcode;
+	regs->tf_rip = FREEBSD32_PS_STRINGS - sz_freebsd4_ia32_sigcode;
 	regs->tf_rflags &= ~PSL_T;
 	regs->tf_cs = _ucode32sel;
 	regs->tf_ss = _udatasel;
@@ -380,7 +380,7 @@
 	}
 
 	regs->tf_rsp = (uintptr_t)sfp;
-	regs->tf_rip = IA32_PS_STRINGS - *(p->p_sysent->sv_szsigcode);
+	regs->tf_rip = FREEBSD32_PS_STRINGS - *(p->p_sysent->sv_szsigcode);
 	regs->tf_rflags &= ~PSL_T;
 	regs->tf_cs = _ucode32sel;
 	regs->tf_ss = _udatasel;
@@ -406,10 +406,10 @@
  * MPSAFE
  */
 int
-freebsd4_ia32_sigreturn(td, uap)
+freebsd4_freebsd32_sigreturn(td, uap)
 	struct thread *td;
-	struct freebsd4_ia32_sigreturn_args /* {
-		const struct freebsd4_ucontext *sigcntxp;
+	struct freebsd4_freebsd32_sigreturn_args /* {
+		const struct freebsd4_freebsd32_ucontext *sigcntxp;
 	} */ *uap;
 {
 	struct ia32_ucontext4 uc;
@@ -438,7 +438,7 @@
 	 * one less debugger trap, so allowing it is fairly harmless.
 	 */
 	if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
-		printf("freebsd4_ia32_sigreturn: eflags = 0x%x\n", eflags);
+		printf("freebsd4_freebsd32_sigreturn: eflags = 0x%x\n", eflags);
 		return (EINVAL);
 	}
 
@@ -483,10 +483,10 @@
  * MPSAFE
  */
 int
-ia32_sigreturn(td, uap)
+freebsd32_sigreturn(td, uap)
 	struct thread *td;
-	struct ia32_sigreturn_args /* {
-		const struct ia32_ucontext *sigcntxp;
+	struct freebsd32_sigreturn_args /* {
+		const struct freebsd32_ucontext *sigcntxp;
 	} */ *uap;
 {
 	struct ia32_ucontext uc;
@@ -515,7 +515,7 @@
 	 * one less debugger trap, so allowing it is fairly harmless.
 	 */
 	if (!EFL_SECURE(eflags & ~PSL_RF, regs->tf_rflags & ~PSL_RF)) {
-		printf("ia32_sigreturn: eflags = 0x%x\n", eflags);
+		printf("freebsd32_sigreturn: eflags = 0x%x\n", eflags);
 		return (EINVAL);
 	}
 

==== //depot/projects/ia64/sys/amd64/ia32/ia32_syscall.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.3 2003/07/25 21:16:26 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.4 2003/08/23 00:04:53 peter Exp $");
 
 /*
  * 386 Trap and System call handling
@@ -84,7 +84,7 @@
 #define	IDTVEC(name)	__CONCAT(X,name)
 
 extern inthand_t IDTVEC(int0x80_syscall), IDTVEC(rsvd);
-extern const char *ia32_syscallnames[];
+extern const char *freebsd32_syscallnames[];
 
 void ia32_syscall(struct trapframe frame);	/* Called from asm code */
 
@@ -253,7 +253,7 @@
 	cred_free_thread(td);
 #endif
 	WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning",
-	    (code >= 0 && code < SYS_MAXSYSCALL) ? ia32_syscallnames[code] : "???");
+	    (code >= 0 && code < SYS_MAXSYSCALL) ? freebsd32_syscallnames[code] : "???");
 	mtx_assert(&sched_lock, MA_NOTOWNED);
 	mtx_assert(&Giant, MA_NOTOWNED);
 }

==== //depot/projects/ia64/sys/conf/files.amd64#10 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.amd64,v 1.20 2003/08/04 02:39:14 imp Exp $
+# $FreeBSD: src/sys/conf/files.amd64,v 1.22 2003/08/23 00:59:26 peter Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -9,7 +9,7 @@
 #
 
 ia32_genassym.o			optional	ia32			\
-	dependency 	"$S/amd64/ia32/ia32_genassym.c"			\
+	dependency 	"$S/compat/ia32/ia32_genassym.c"		\
 	compile-with	"${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}"	\
 	no-obj no-implicit-rule						\
 	clean		"ia32_genassym.o"
@@ -48,6 +48,7 @@
 amd64/acpica/acpi_machdep.c	optional	acpi
 amd64/acpica/acpi_wakeup.c	optional	acpi
 amd64/amd64/amd64-gdbstub.c	optional	ddb
+amd64/amd64/amd64_mem.c		standard
 amd64/amd64/autoconf.c		standard
 amd64/amd64/busdma_machdep.c	standard
 amd64/amd64/cpu_switch.S	standard
@@ -84,12 +85,12 @@
 amd64/pci/pci_cfgreg.c		optional	pci
 amd64/pci/pci_bus.c		optional	pci
 
-amd64/ia32/ia32_misc.c		optional	ia32
-amd64/ia32/ia32_syscalls.c	optional	ia32
-amd64/ia32/ia32_sysent.c	optional	ia32
-amd64/ia32/ia32_sysvec.c	optional	ia32
+compat/freebsd32/freebsd32_misc.c	optional	ia32
+compat/freebsd32/freebsd32_syscalls.c	optional	ia32
+compat/freebsd32/freebsd32_sysent.c	optional	ia32
+compat/ia32/ia32_sigtramp.S	optional	ia32
+compat/ia32/ia32_sysvec.c	optional	ia32
 amd64/ia32/ia32_signal.c	optional	ia32
-amd64/ia32/ia32_sigtramp.S	optional	ia32
 amd64/ia32/ia32_exception.S	optional	ia32
 amd64/ia32/ia32_syscall.c	optional	ia32
 kern/imgact_elf32.c		optional	ia32

==== //depot/projects/ia64/sys/conf/files.ia64#45 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.ia64,v 1.56 2003/08/15 18:01:10 marcel Exp $
+# $FreeBSD: src/sys/conf/files.ia64,v 1.57 2003/08/23 02:33:36 marcel Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -18,6 +18,16 @@
 	no-obj no-implicit-rule before-depend				\
 	clean		"atkbdmap.h"
 #
+font.h				optional	sc_dflt_font		\
+	compile-with	"uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h"									\
+	no-obj no-implicit-rule before-depend				\
+	clean		"font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
+#
+ukbdmap.h			optional	ukbd_dflt_keymap	\
+	compile-with	"/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h"			\
+	no-obj no-implicit-rule before-depend				\
+	clean		"ukbdmap.h"
+#
 contrib/ia64/libuwx/src/uwx_bstream.c		standard
 contrib/ia64/libuwx/src/uwx_context.c		standard
 contrib/ia64/libuwx/src/uwx_env.c		standard

==== //depot/projects/ia64/sys/conf/options.ia64#16 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.ia64,v 1.20 2003/07/11 08:47:15 marcel Exp $
+# $FreeBSD: src/sys/conf/options.ia64,v 1.24 2003/08/23 03:38:36 marcel Exp $
 # Options specific to the ia64 platform kernels
 
 ITANIUM			opt_global.h
@@ -6,9 +6,7 @@
 
 IA32			opt_global.h
 
-PAGE_SIZE_4K		opt_global.h
-PAGE_SIZE_8K		opt_global.h
-PAGE_SIZE_16K		opt_global.h
+LOG2_PAGE_SIZE		opt_global.h
 
 UWX_TRACE_ENABLE	opt_global.h
 
@@ -29,14 +27,7 @@
 # Atkbd options
 ATKBD_DFLT_KEYMAP	opt_atkbd.h
 
-# Clock options
-CLK_USE_I8254_CALIBRATION	opt_clock.h
-TIMER_FREQ			opt_clock.h
-
 # SKI emulator options
 SKI			opt_ski.h
 SKI_ROOT_FILESYSTEM	opt_ski.h
 SSC_NSECT		opt_ski.h
-
-# Device options
-DEV_ACPI		opt_acpi.h

==== //depot/projects/ia64/sys/dev/hfa/hfa_sbus.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/hfa/hfa_sbus.c,v 1.1 2002/04/17 00:24:48 mdodd Exp $
+ * $FreeBSD: src/sys/dev/hfa/hfa_sbus.c,v 1.2 2003/08/23 00:11:16 imp Exp $
  */
 
 /*
@@ -73,7 +73,7 @@
 
 #include <sys/rman.h> 
 
-#include <ofw/openfirm.h>
+#include <dev/ofw/openfirm.h>
 
 #include <sparc64/sbus/sbusreg.h>
 #include <sparc64/sbus/sbusvar.h>

==== //depot/projects/ia64/sys/dev/hme/if_hme_sbus.c#5 (text+ko) ====

@@ -35,7 +35,7 @@
  *
  *	from: NetBSD: if_hme_sbus.c,v 1.9 2001/11/13 06:58:17 lukem Exp
  *
- * $FreeBSD: src/sys/dev/hme/if_hme_sbus.c,v 1.4 2003/04/15 06:37:24 mdodd Exp $
+ * $FreeBSD: src/sys/dev/hme/if_hme_sbus.c,v 1.5 2003/08/23 00:11:16 imp Exp $
  */
 
 /*
@@ -55,7 +55,7 @@
 
 #include <sys/rman.h>
 
-#include <ofw/openfirm.h>
+#include <dev/ofw/openfirm.h>
 
 #include <net/ethernet.h>
 #include <net/if.h>

==== //depot/projects/ia64/sys/dev/isp/isp_sbus.c#7 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.8 2003/07/01 15:51:59 scottl Exp $ */
+/* $FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.9 2003/08/23 00:11:16 imp Exp $ */
 /*
  * PCI specific probe and attach routines for Qlogic ISP SCSI adapters.
  * FreeBSD Version.
@@ -37,7 +37,7 @@
 #include <machine/ofw_machdep.h>
 #include <machine/resource.h>
 #include <sys/rman.h>
-#include <ofw/openfirm.h>
+#include <dev/ofw/openfirm.h>
 #include <sparc64/sbus/sbusvar.h>
 
 #include <dev/isp/isp_freebsd.h>

==== //depot/projects/ia64/sys/dev/sab/sab.c#13 (text+ko) ====

@@ -34,7 +34,7 @@
  * Agency (DARPA) and Air Force Research Laboratory, Air Force
  * Materiel Command, USAF, under agreement number F30602-01-2-0537.
  *
- * $FreeBSD: src/sys/dev/sab/sab.c,v 1.17 2003/03/31 18:21:52 jake Exp $
+ * $FreeBSD: src/sys/dev/sab/sab.c,v 1.18 2003/08/23 00:11:16 imp Exp $
  */
 
 /*
@@ -63,7 +63,7 @@
 
 #include <ddb/ddb.h>
 
-#include <ofw/openfirm.h>
+#include <dev/ofw/openfirm.h>
 #include <sparc64/ebus/ebusvar.h>
 
 #include <dev/sab/sab82532reg.h>

==== //depot/projects/ia64/sys/dev/sio/sio_ebus.c#7 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/sio/sio_ebus.c,v 1.3 2002/07/16 16:20:44 tmm Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/sio/sio_ebus.c,v 1.4 2003/08/23 00:11:16 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -40,7 +40,7 @@
 
 #include <dev/sio/siovar.h>
 
-#include <ofw/openfirm.h>
+#include <dev/ofw/openfirm.h>
 #include <sparc64/ebus/ebusvar.h>
 
 int	sio_ofw_inlist(char *name, char *list[]);

==== //depot/projects/ia64/sys/dev/zs/zs_macio.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/zs/zs_macio.c,v 1.1 2003/02/01 07:23:47 benno Exp $
+ * $FreeBSD: src/sys/dev/zs/zs_macio.c,v 1.2 2003/08/23 00:11:16 imp Exp $
  */
 
 #include <sys/param.h>
@@ -35,7 +35,7 @@
 #include <machine/resource.h>
 #include <sys/rman.h>
 
-#include <ofw/openfirm.h>
+#include <dev/ofw/openfirm.h>
 #include <powerpc/powermac/maciovar.h>
 
 #include <dev/zs/z8530reg.h>

==== //depot/projects/ia64/sys/dev/zs/zs_sbus.c#4 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/zs/zs_sbus.c,v 1.3 2003/02/19 08:29:17 jake Exp $
+ * $FreeBSD: src/sys/dev/zs/zs_sbus.c,v 1.4 2003/08/23 00:11:16 imp Exp $
  */
 
 #include <sys/param.h>
@@ -36,7 +36,7 @@
 #include <machine/resource.h>
 #include <sys/rman.h>
 
-#include <ofw/openfirm.h>
+#include <dev/ofw/openfirm.h>
 
 #include <sparc64/fhc/fhcreg.h>
 #include <sparc64/fhc/fhcvar.h>

==== //depot/projects/ia64/sys/gnu/ext2fs/ext2_linux_balloc.c#4 (text+ko) ====

@@ -4,7 +4,7 @@
  *  Aug 1995, Godmar Back (gback at cs.utah.edu)
  *  University of Utah, Department of Computer Science
  *
- * $FreeBSD: src/sys/gnu/ext2fs/ext2_linux_balloc.c,v 1.18 2002/12/30 21:18:08 schweikh Exp $
+ * $FreeBSD: src/sys/gnu/ext2fs/ext2_linux_balloc.c,v 1.19 2003/08/23 03:58:11 marcel Exp $
  */
 /*
  *  linux/fs/ext2/balloc.c
@@ -42,10 +42,12 @@
 #include <gnu/ext2fs/ext2_fs_sb.h>
 #include <gnu/ext2fs/fs.h>
 
-#ifdef __i386__
+#ifdef __alpha__
+#include <gnu/ext2fs/alpha-bitops.h>
+#elif __i386__
 #include <gnu/ext2fs/i386-bitops.h>
-#elif __alpha__
-#include <gnu/ext2fs/alpha-bitops.h>
+#elif __ia64__
+#include <gnu/ext2fs/ia64-bitops.h>
 #else
 #error Provide a bitops.h file, please!
 #endif

==== //depot/projects/ia64/sys/gnu/ext2fs/ext2_linux_ialloc.c#3 (text+ko) ====

@@ -4,7 +4,7 @@
  *  Aug 1995, Godmar Back (gback at cs.utah.edu)
  *  University of Utah, Department of Computer Science
  *
- * $FreeBSD: src/sys/gnu/ext2fs/ext2_linux_ialloc.c,v 1.18 2002/05/16 19:07:59 iedowse Exp $
+ * $FreeBSD: src/sys/gnu/ext2fs/ext2_linux_ialloc.c,v 1.19 2003/08/23 03:58:11 marcel Exp $
  */
 /*
  *  linux/fs/ext2/ialloc.c
@@ -44,10 +44,12 @@
 #include <gnu/ext2fs/fs.h>
 #include <sys/stat.h>
 
-#ifdef __i386__
+#ifdef  __alpha__
+#include <gnu/ext2fs/alpha-bitops.h>
+#elif __i386__
 #include <gnu/ext2fs/i386-bitops.h>
-#elif  __alpha__
-#include <gnu/ext2fs/alpha-bitops.h>
+#elif __ia64__
+#include <gnu/ext2fs/ia64-bitops.h>
 #else
 #error please provide bit operation functions
 #endif

==== //depot/projects/ia64/sys/ia64/ia64/machdep.c#91 (text+ko) ====

@@ -23,10 +23,9 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.151 2003/08/12 08:10:16 marcel Exp $
+ * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.152 2003/08/23 00:07:52 marcel Exp $
  */
 
-#include "opt_acpi.h"
 #include "opt_compat.h"
 #include "opt_ddb.h"
 #include "opt_kstack_pages.h"

==== //depot/projects/ia64/sys/ia64/include/param.h#10 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/ia64/include/param.h,v 1.16 2003/07/31 01:31:31 peter Exp $ */
+/* $FreeBSD: src/sys/ia64/include/param.h,v 1.17 2003/08/23 03:39:55 marcel Exp $ */
 /* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list