svn commit: r314591 - in stable/11/sys: amd64/amd64 conf i386/i386 modules/mem x86/x86
Ravi Pokala
rpokala at mac.com
Tue Mar 14 17:34:55 UTC 2017
Hi Konstantin,
It looks like this broke pc98 in stable/11 (where it is still supported):
make[5]: make[5]: don't know how to make /usr/home/rpokala/freebsd/clean/base/stable/11/sys/i386/i386/i686_mem.c. Stop
Thanks,
Ravi (rpokala@)
-----Original Message-----
From: <owner-src-committers at freebsd.org> on behalf of Konstantin Belousov <kib at FreeBSD.org>
Date: 2017-03-03, Friday at 02:30
To: <src-committers at freebsd.org>, <svn-src-all at freebsd.org>, <svn-src-stable at freebsd.org>, <svn-src-stable-11 at freebsd.org>
Subject: svn commit: r314591 - in stable/11/sys: amd64/amd64 conf i386/i386 modules/mem x86/x86
Author: kib
Date: Fri Mar 3 10:30:30 2017
New Revision: 314591
URL: https://svnweb.freebsd.org/changeset/base/314591
Log:
MFC r313898, r313902, r313903, r313934, r314087, r314252:
Merge i386 and amd64 mtrr drivers.
Added:
stable/11/sys/x86/x86/x86_mem.c
- copied, changed from r313898, head/sys/x86/x86/x86_mem.c
Deleted:
stable/11/sys/amd64/amd64/amd64_mem.c
stable/11/sys/i386/i386/i686_mem.c
Modified:
stable/11/sys/conf/files.amd64
stable/11/sys/conf/files.i386
stable/11/sys/modules/mem/Makefile
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/conf/files.amd64
==============================================================================
--- stable/11/sys/conf/files.amd64 Fri Mar 3 10:17:16 2017 (r314590)
+++ stable/11/sys/conf/files.amd64 Fri Mar 3 10:30:30 2017 (r314591)
@@ -125,7 +125,6 @@ acpi_wakedata.h optional acpi \
no-obj no-implicit-rule before-depend \
clean "acpi_wakedata.h"
#
-amd64/amd64/amd64_mem.c optional mem
#amd64/amd64/apic_vector.S standard
amd64/amd64/atomic.c standard
amd64/amd64/bios.c standard
@@ -651,6 +650,7 @@ x86/x86/io_apic.c standard
x86/x86/legacy.c standard
x86/x86/local_apic.c standard
x86/x86/mca.c standard
+x86/x86/x86_mem.c optional mem
x86/x86/mptable.c optional mptable
x86/x86/mptable_pci.c optional mptable pci
x86/x86/mp_x86.c optional smp
Modified: stable/11/sys/conf/files.i386
==============================================================================
--- stable/11/sys/conf/files.i386 Fri Mar 3 10:17:16 2017 (r314590)
+++ stable/11/sys/conf/files.i386 Fri Mar 3 10:30:30 2017 (r314591)
@@ -486,7 +486,6 @@ i386/i386/elf_machdep.c standard
i386/i386/exception.s standard
i386/i386/gdb_machdep.c optional gdb
i386/i386/geode.c optional cpu_geode
-i386/i386/i686_mem.c optional mem
i386/i386/in_cksum.c optional inet | inet6
i386/i386/initcpu.c standard
i386/i386/io.c optional io
@@ -625,6 +624,7 @@ x86/x86/io_apic.c optional apic
x86/x86/legacy.c standard
x86/x86/local_apic.c optional apic
x86/x86/mca.c standard
+x86/x86/x86_mem.c optional mem
x86/x86/mptable.c optional apic
x86/x86/mptable_pci.c optional apic pci
x86/x86/mp_x86.c optional smp
Modified: stable/11/sys/modules/mem/Makefile
==============================================================================
--- stable/11/sys/modules/mem/Makefile Fri Mar 3 10:17:16 2017 (r314590)
+++ stable/11/sys/modules/mem/Makefile Fri Mar 3 10:30:30 2017 (r314591)
@@ -3,14 +3,17 @@
.PATH: ${.CURDIR}/../../dev/mem
.PATH: ${.CURDIR}/../../${MACHINE}/${MACHINE}
.PATH: ${.CURDIR}/../../${MACHINE_CPUARCH}/${MACHINE_CPUARCH}
+.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+.PATH: ${.CURDIR}/../../x86/x86
+.endif
KMOD= mem
SRCS= mem.c memdev.c memutil.c
.if ${MACHINE_CPUARCH} == "i386"
-SRCS+= i686_mem.c k6_mem.c
+SRCS+= x86_mem.c k6_mem.c
.endif
.if ${MACHINE_CPUARCH} == "amd64"
-SRCS+= amd64_mem.c
+SRCS+= x86_mem.c
.endif
SRCS+= bus_if.h device_if.h
Copied and modified: stable/11/sys/x86/x86/x86_mem.c (from r313898, head/sys/x86/x86/x86_mem.c)
==============================================================================
--- head/sys/x86/x86/x86_mem.c Fri Feb 17 21:08:32 2017 (r313898, copy source)
+++ stable/11/sys/x86/x86/x86_mem.c Fri Mar 3 10:30:30 2017 (r314591)
@@ -260,7 +260,7 @@ x86_mrfetch(struct mem_range_softc *sc)
/* Compute the range from the mask. Ick. */
mrd->mr_len = (~(msrv & mtrr_physmask) &
- (mtrr_physmask | 0xfffL)) + 1;
+ (mtrr_physmask | 0xfff)) + 1;
if (!mrvalid(mrd->mr_base, mrd->mr_len))
mrd->mr_flags |= MDF_BOGUS;
@@ -303,19 +303,13 @@ x86_mrt2mtrr(int flags, int oldval)
* Update running CPU(s) MTRRs to match the ranges in the descriptor
* list.
*
- * XXX Must be called with interrupts enabled.
+ * Must be called with interrupts enabled.
*/
static void
x86_mrstore(struct mem_range_softc *sc)
{
-#ifdef SMP
smp_rendezvous(NULL, x86_mrstoreone, NULL, sc);
-#else
- disable_intr(); /* disable interrupts */
- x86_mrstoreone(sc);
- enable_intr();
-#endif
}
/*
@@ -644,7 +638,8 @@ x86_mrinit(struct mem_range_softc *sc)
* Determine the size of the PhysMask and PhysBase fields in
* the variable range MTRRs.
*/
- mtrr_physmask = ((1UL << cpu_maxphyaddr) - 1) & ~0xfffUL;
+ mtrr_physmask = (((uint64_t)1 << cpu_maxphyaddr) - 1) &
+ ~(uint64_t)0xfff;
/* If fixed MTRRs supported and enabled. */
if ((mtrrcap & MTRR_CAP_FIXED) && (mtrrdef & MTRR_DEF_FIXED_ENABLE)) {
@@ -710,19 +705,13 @@ x86_mrAPinit(struct mem_range_softc *sc)
* Re-initialise running CPU(s) MTRRs to match the ranges in the descriptor
* list.
*
- * XXX Must be called with interrupts enabled.
+ * Must be called with interrupts enabled.
*/
static void
x86_mrreinit(struct mem_range_softc *sc)
{
-#ifdef SMP
- smp_rendezvous(NULL, (void *)x86_mrAPinit, NULL, sc);
-#else
- disable_intr(); /* disable interrupts */
- x86_mrAPinit(sc);
- enable_intr();
-#endif
+ smp_rendezvous(NULL, (void (*)(void *))x86_mrAPinit, NULL, sc);
}
static void
@@ -733,16 +722,6 @@ x86_mem_drvinit(void *unused)
return;
if (!(cpu_feature & CPUID_MTRR))
return;
- if ((cpu_id & 0xf00) != 0x600 && (cpu_id & 0xf00) != 0xf00)
- return;
- switch (cpu_vendor_id) {
- case CPU_VENDOR_INTEL:
- case CPU_VENDOR_AMD:
- case CPU_VENDOR_CENTAUR:
- break;
- default:
- return;
- }
mem_range_softc.mr_op = &x86_mrops;
x86_mrinit(&mem_range_softc);
}
More information about the svn-src-stable
mailing list