Date: Fri, 22 Aug 2003 22:35:56 -0700 (PDT) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 36732 for review Message-ID: <200308230535.h7N5ZuqI085271@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=36732 Change 36732 by marcel@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@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@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308230535.h7N5ZuqI085271>