Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Sep 2012 12:12:40 +0000 (UTC)
From:      Andreas Tobler <andreast@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r240812 - in projects/pseries: amd64/amd64 amd64/conf arm/arm arm/at91 arm/broadcom/bcm2835 arm/conf arm/econa arm/include arm/lpc arm/mv arm/s3c2xx0 arm/sa11x0 arm/tegra arm/ti arm/ti/...
Message-ID:  <201209221212.q8MCCeOR063904@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andreast
Date: Sat Sep 22 12:12:39 2012
New Revision: 240812
URL: http://svn.freebsd.org/changeset/base/240812

Log:
  IFC @ 240808

Added:
  projects/pseries/arm/conf/AC100
     - copied unchanged from r240808, head/sys/arm/conf/AC100
  projects/pseries/boot/fdt/dts/tegra20-paz00.dts
     - copied unchanged from r240808, head/sys/boot/fdt/dts/tegra20-paz00.dts
  projects/pseries/boot/fdt/dts/tegra20.dtsi
     - copied unchanged from r240808, head/sys/boot/fdt/dts/tegra20.dtsi
  projects/pseries/dev/nvd/
     - copied from r240808, head/sys/dev/nvd/
  projects/pseries/dev/nvme/
     - copied from r240808, head/sys/dev/nvme/
  projects/pseries/modules/nvd/
     - copied from r240808, head/sys/modules/nvd/
  projects/pseries/modules/nvme/
     - copied from r240808, head/sys/modules/nvme/
Modified:
  projects/pseries/amd64/amd64/identcpu.c
  projects/pseries/amd64/conf/NOTES
  projects/pseries/arm/arm/machdep.c
  projects/pseries/arm/arm/pmap-v6.c
  projects/pseries/arm/arm/pmap.c
  projects/pseries/arm/at91/at91_machdep.c
  projects/pseries/arm/broadcom/bcm2835/bcm2835_machdep.c
  projects/pseries/arm/conf/ARMADAXP
  projects/pseries/arm/conf/BEAGLEBONE
  projects/pseries/arm/conf/CNS11XXNAS
  projects/pseries/arm/conf/DOCKSTAR
  projects/pseries/arm/conf/EA3250
  projects/pseries/arm/conf/GUMSTIX-QEMU
  projects/pseries/arm/conf/HL201
  projects/pseries/arm/conf/KB920X
  projects/pseries/arm/conf/LN2410SBC
  projects/pseries/arm/conf/PANDABOARD
  projects/pseries/arm/conf/QILA9G20
  projects/pseries/arm/conf/RPI-B
  projects/pseries/arm/conf/SAM9G20EK
  projects/pseries/arm/conf/SAM9X25EK
  projects/pseries/arm/conf/SHEEVAPLUG
  projects/pseries/arm/conf/SN9G45
  projects/pseries/arm/conf/TS7800
  projects/pseries/arm/econa/econa_machdep.c
  projects/pseries/arm/include/machdep.h
  projects/pseries/arm/lpc/lpc_machdep.c
  projects/pseries/arm/mv/mv_machdep.c
  projects/pseries/arm/s3c2xx0/s3c24x0_machdep.c
  projects/pseries/arm/sa11x0/assabet_machdep.c
  projects/pseries/arm/tegra/tegra2_machdep.c
  projects/pseries/arm/ti/cpsw/if_cpsw.c
  projects/pseries/arm/ti/ti_machdep.c
  projects/pseries/arm/xscale/i80321/ep80219_machdep.c
  projects/pseries/arm/xscale/i80321/iq31244_machdep.c
  projects/pseries/arm/xscale/i8134x/crb_machdep.c
  projects/pseries/arm/xscale/ixp425/avila_machdep.c
  projects/pseries/arm/xscale/pxa/pxa_machdep.c
  projects/pseries/boot/common/reloc_elf.c
  projects/pseries/boot/i386/loader/main.c
  projects/pseries/boot/ofw/libofw/devicename.c
  projects/pseries/cam/scsi/scsi_cd.c
  projects/pseries/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
  projects/pseries/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h
  projects/pseries/conf/NOTES
  projects/pseries/conf/files.amd64
  projects/pseries/conf/files.i386
  projects/pseries/conf/newvers.sh
  projects/pseries/conf/options
  projects/pseries/contrib/altq/altq/altq_hfsc.c
  projects/pseries/contrib/altq/altq/altq_priq.c
  projects/pseries/contrib/altq/altq/altq_rmclass.c
  projects/pseries/contrib/dev/acpica/changes.txt   (contents, props changed)
  projects/pseries/contrib/dev/acpica/common/dmrestag.c
  projects/pseries/contrib/dev/acpica/compiler/aslcompile.c
  projects/pseries/contrib/dev/acpica/compiler/aslcompiler.h
  projects/pseries/contrib/dev/acpica/compiler/aslerror.c
  projects/pseries/contrib/dev/acpica/compiler/aslfiles.c
  projects/pseries/contrib/dev/acpica/compiler/aslfold.c
  projects/pseries/contrib/dev/acpica/compiler/aslglobal.h
  projects/pseries/contrib/dev/acpica/compiler/aslmain.c
  projects/pseries/contrib/dev/acpica/compiler/aslmessages.h
  projects/pseries/contrib/dev/acpica/compiler/asloperands.c
  projects/pseries/contrib/dev/acpica/compiler/aslopt.c
  projects/pseries/contrib/dev/acpica/compiler/aslstartup.c
  projects/pseries/contrib/dev/acpica/compiler/aslsupport.l
  projects/pseries/contrib/dev/acpica/compiler/asltypes.h
  projects/pseries/contrib/dev/acpica/compiler/aslutils.c
  projects/pseries/contrib/dev/acpica/compiler/dtio.c
  projects/pseries/contrib/dev/acpica/compiler/preprocess.h
  projects/pseries/contrib/dev/acpica/components/debugger/dbexec.c
  projects/pseries/contrib/dev/acpica/components/debugger/dbinput.c
  projects/pseries/contrib/dev/acpica/components/debugger/dbmethod.c
  projects/pseries/contrib/dev/acpica/components/debugger/dbnames.c
  projects/pseries/contrib/dev/acpica/components/debugger/dbstats.c
  projects/pseries/contrib/dev/acpica/components/debugger/dbutils.c
  projects/pseries/contrib/dev/acpica/components/disassembler/dmopcode.c
  projects/pseries/contrib/dev/acpica/components/tables/tbinstal.c
  projects/pseries/contrib/dev/acpica/components/tables/tbxface.c
  projects/pseries/contrib/dev/acpica/include/acdebug.h
  projects/pseries/contrib/dev/acpica/include/acpixf.h
  projects/pseries/contrib/dev/acpica/include/actbl1.h
  projects/pseries/contrib/ipfilter/netinet/ip_auth.c
  projects/pseries/dev/acpica/acpi_cpu.c
  projects/pseries/dev/ahci/ahci.c
  projects/pseries/dev/alc/if_alc.c
  projects/pseries/dev/amr/amr.c
  projects/pseries/dev/ata/ata-lowlevel.c
  projects/pseries/dev/ath/ath_hal/ah.c
  projects/pseries/dev/ath/ath_hal/ah.h
  projects/pseries/dev/ath/ath_hal/ah_internal.h
  projects/pseries/dev/ath/ath_rate/sample/sample.c
  projects/pseries/dev/ath/if_ath_debug.h
  projects/pseries/dev/ath/if_ath_sysctl.c
  projects/pseries/dev/ath/if_ath_tx.c
  projects/pseries/dev/ath/if_athioctl.h
  projects/pseries/dev/ath/if_athvar.h
  projects/pseries/dev/atkbdc/psm.c
  projects/pseries/dev/bge/if_bge.c
  projects/pseries/dev/cxgb/cxgb_main.c
  projects/pseries/dev/cxgb/cxgb_osdep.h
  projects/pseries/dev/cxgbe/osdep.h
  projects/pseries/dev/cxgbe/t4_main.c
  projects/pseries/dev/e1000/if_em.c
  projects/pseries/dev/et/if_et.c
  projects/pseries/dev/hwpmc/hwpmc_amd.c
  projects/pseries/dev/isci/scil/scic_sds_phy.c
  projects/pseries/dev/isp/isp_freebsd.c
  projects/pseries/dev/jme/if_jme.c
  projects/pseries/dev/mlx/mlx.c
  projects/pseries/dev/mlx/mlx_disk.c
  projects/pseries/dev/mlx/mlx_pci.c
  projects/pseries/dev/mlx/mlxreg.h
  projects/pseries/dev/mlx/mlxvar.h
  projects/pseries/dev/mly/mly.c
  projects/pseries/dev/pci/pci.c
  projects/pseries/dev/pci/pcireg.h
  projects/pseries/dev/re/if_re.c
  projects/pseries/dev/sound/usb/uaudio.c
  projects/pseries/dev/sound/usb/uaudioreg.h
  projects/pseries/dev/usb/input/ums.c
  projects/pseries/dev/usb/net/if_smsc.c
  projects/pseries/dev/usb/net/uhso.c
  projects/pseries/dev/usb/quirk/usb_quirk.c
  projects/pseries/dev/usb/quirk/usb_quirk.h
  projects/pseries/dev/usb/serial/uftdi_reg.h
  projects/pseries/dev/usb/usb_request.c
  projects/pseries/dev/usb/usbdevs
  projects/pseries/fs/nfs/nfs.h
  projects/pseries/fs/nfs/nfs_commonacl.c
  projects/pseries/fs/nfs/nfs_commonsubs.c
  projects/pseries/fs/nfs/nfs_var.h
  projects/pseries/fs/nfsclient/nfs_clcomsubs.c
  projects/pseries/fs/nfsserver/nfs_nfsdport.c
  projects/pseries/geom/geom_disk.c
  projects/pseries/i386/conf/NOTES
  projects/pseries/i386/i386/identcpu.c
  projects/pseries/modules/Makefile
  projects/pseries/net/if_lagg.c
  projects/pseries/net/pfvar.h
  projects/pseries/net80211/ieee80211_node.c
  projects/pseries/netinet/libalias/alias_skinny.c
  projects/pseries/netipsec/xform_ipip.c
  projects/pseries/netpfil/pf/pf.c
  projects/pseries/netpfil/pf/pf_ioctl.c
  projects/pseries/netpfil/pf/pf_lb.c
  projects/pseries/ofed/include/linux/pci.h
  projects/pseries/powerpc/mpc85xx/pci_fdt.c
  projects/pseries/powerpc/ofw/ofw_real.c
  projects/pseries/sys/_rmlock.h
  projects/pseries/sys/pcpu.h
  projects/pseries/vm/uma_core.c
  projects/pseries/vm/vm_object.c
Directory Properties:
  projects/pseries/   (props changed)
  projects/pseries/boot/   (props changed)
  projects/pseries/cddl/contrib/opensolaris/   (props changed)
  projects/pseries/conf/   (props changed)
  projects/pseries/contrib/dev/acpica/   (props changed)
  projects/pseries/contrib/dev/acpica/common/   (props changed)
  projects/pseries/contrib/dev/acpica/compiler/   (props changed)
  projects/pseries/contrib/dev/acpica/components/debugger/   (props changed)
  projects/pseries/contrib/dev/acpica/components/disassembler/   (props changed)
  projects/pseries/contrib/dev/acpica/components/tables/   (props changed)
  projects/pseries/contrib/dev/acpica/include/   (props changed)

Modified: projects/pseries/amd64/amd64/identcpu.c
==============================================================================
--- projects/pseries/amd64/amd64/identcpu.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/amd64/amd64/identcpu.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -213,8 +213,8 @@ printcpuinfo(void)
 	if (cpu_vendor_id == CPU_VENDOR_INTEL ||
 	    cpu_vendor_id == CPU_VENDOR_AMD ||
 	    cpu_vendor_id == CPU_VENDOR_CENTAUR) {
-		printf("  Family = %x", CPUID_TO_FAMILY(cpu_id));
-		printf("  Model = %x", CPUID_TO_MODEL(cpu_id));
+		printf("  Family = 0x%x", CPUID_TO_FAMILY(cpu_id));
+		printf("  Model = 0x%x", CPUID_TO_MODEL(cpu_id));
 		printf("  Stepping = %u", cpu_id & CPUID_STEPPING);
 
 		/*

Modified: projects/pseries/amd64/conf/NOTES
==============================================================================
--- projects/pseries/amd64/conf/NOTES	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/amd64/conf/NOTES	Sat Sep 22 12:12:39 2012	(r240812)
@@ -428,6 +428,11 @@ device		isci
 options		ISCI_LOGGING	# enable debugging in isci HAL
 
 #
+# NVM Express (NVMe) support
+device         nvme    # base NVMe driver
+device         nvd     # expose NVMe namespaces as disks, depends on nvme
+
+#
 # SafeNet crypto driver: can be moved to the MI NOTES as soon as
 # it's tested on a big-endian machine
 #

Modified: projects/pseries/arm/arm/machdep.c
==============================================================================
--- projects/pseries/arm/arm/machdep.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/arm/machdep.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -948,3 +948,16 @@ init_proc0(vm_offset_t kstack)
 	thread0.td_frame = &proc0_tf;
 	pcpup->pc_curpcb = thread0.td_pcb;
 }
+
+void
+set_stackptrs(int cpu)
+{
+
+	set_stackptr(PSR_IRQ32_MODE,
+	    irqstack.pv_va + ((IRQ_STACK_SIZE * PAGE_SIZE) * (cpu + 1)));
+	set_stackptr(PSR_ABT32_MODE,
+	    abtstack.pv_va + ((ABT_STACK_SIZE * PAGE_SIZE) * (cpu + 1)));
+	set_stackptr(PSR_UND32_MODE,
+	    undstack.pv_va + ((UND_STACK_SIZE * PAGE_SIZE) * (cpu + 1)));
+}
+

Modified: projects/pseries/arm/arm/pmap-v6.c
==============================================================================
--- projects/pseries/arm/arm/pmap-v6.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/arm/pmap-v6.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -357,14 +357,6 @@ struct l2_dtable {
 #define	L2_NEXT_BUCKET(va)	(((va) & L1_S_FRAME) + L1_S_SIZE)
 
 /*
- * L2 allocation.
- */
-#define	pmap_alloc_l2_dtable()		\
-		(void*)uma_zalloc(l2table_zone, M_NOWAIT|M_USE_RESERVE)
-#define	pmap_free_l2_dtable(l2)		\
-		uma_zfree(l2table_zone, l2)
-
-/*
  * We try to map the page tables write-through, if possible.  However, not
  * all CPUs have a write-through cache mode, so on those we have to sync
  * the cache when we frob page tables.
@@ -621,10 +613,9 @@ pmap_alloc_l2_bucket(pmap_t pm, vm_offse
 		 * no entry in the L1 table.
 		 * Need to allocate a new l2_dtable.
 		 */
-again_l2table:
 		PMAP_UNLOCK(pm);
 		rw_wunlock(&pvh_global_lock);
-		if ((l2 = pmap_alloc_l2_dtable()) == NULL) {
+		if ((l2 = uma_zalloc(l2table_zone, M_NOWAIT)) == NULL) {
 			rw_wlock(&pvh_global_lock);
 			PMAP_LOCK(pm);
 			return (NULL);
@@ -632,18 +623,12 @@ again_l2table:
 		rw_wlock(&pvh_global_lock);
 		PMAP_LOCK(pm);
 		if (pm->pm_l2[L2_IDX(l1idx)] != NULL) {
-			PMAP_UNLOCK(pm);
-			rw_wunlock(&pvh_global_lock);
-			uma_zfree(l2table_zone, l2);
-			rw_wlock(&pvh_global_lock);
-			PMAP_LOCK(pm);
-			l2 = pm->pm_l2[L2_IDX(l1idx)];
-			if (l2 == NULL)
-				goto again_l2table;
 			/*
 			 * Someone already allocated the l2_dtable while
 			 * we were doing the same.
 			 */
+			uma_zfree(l2table_zone, l2);
+			l2 = pm->pm_l2[L2_IDX(l1idx)];
 		} else {
 			bzero(l2, sizeof(*l2));
 			/*
@@ -665,21 +650,14 @@ again_l2table:
 		 * No L2 page table has been allocated. Chances are, this
 		 * is because we just allocated the l2_dtable, above.
 		 */
-again_ptep:
 		PMAP_UNLOCK(pm);
 		rw_wunlock(&pvh_global_lock);
-		ptep = (void*)uma_zalloc(l2zone, M_NOWAIT|M_USE_RESERVE);
+		ptep = uma_zalloc(l2zone, M_NOWAIT);
 		rw_wlock(&pvh_global_lock);
 		PMAP_LOCK(pm);
 		if (l2b->l2b_kva != 0) {
 			/* We lost the race. */
-			PMAP_UNLOCK(pm);
-			rw_wunlock(&pvh_global_lock);
 			uma_zfree(l2zone, ptep);
-			rw_wlock(&pvh_global_lock);
-			PMAP_LOCK(pm);
-			if (l2b->l2b_kva == 0)
-				goto again_ptep;
 			return (l2b);
 		}
 		l2b->l2b_phys = vtophys(ptep);
@@ -691,7 +669,7 @@ again_ptep:
 			 */
 			if (l2->l2_occupancy == 0) {
 				pm->pm_l2[L2_IDX(l1idx)] = NULL;
-				pmap_free_l2_dtable(l2);
+				uma_zfree(l2table_zone, l2);
 			}
 			return (NULL);
 		}
@@ -789,7 +767,7 @@ pmap_free_l2_bucket(pmap_t pm, struct l2
 	 * the pointer in the parent pmap and free the l2_dtable.
 	 */
 	pm->pm_l2[L2_IDX(l1idx)] = NULL;
-	pmap_free_l2_dtable(l2);
+	uma_zfree(l2table_zone, l2);
 }
 
 /*
@@ -1175,28 +1153,25 @@ pmap_init(void)
 
 	PDEBUG(1, printf("pmap_init: phys_start = %08x\n", PHYSADDR));
 
+	l2zone = uma_zcreate("L2 Table", L2_TABLE_SIZE_REAL, pmap_l2ptp_ctor,
+	    NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
+	l2table_zone = uma_zcreate("L2 Table", sizeof(struct l2_dtable), NULL,
+	    NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
+
 	/*
-	 * init the pv free list
+	 * Initialize the PV entry allocator.
 	 */
 	pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL,
 	    NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
-	/*
-	 * Now it is safe to enable pv_table recording.
-	 */
-	PDEBUG(1, printf("pmap_init: done!\n"));
-
 	TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc);
-
 	pv_entry_max = shpgperproc * maxproc + cnt.v_page_count;
-	pv_entry_high_water = 9 * (pv_entry_max / 10);
-	l2zone = uma_zcreate("L2 Table", L2_TABLE_SIZE_REAL, pmap_l2ptp_ctor,
-	    NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
-	l2table_zone = uma_zcreate("L2 Table", sizeof(struct l2_dtable),
-	    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR,
-	    UMA_ZONE_VM | UMA_ZONE_NOFREE);
-
 	uma_zone_set_obj(pvzone, &pvzone_obj, pv_entry_max);
+	pv_entry_high_water = 9 * (pv_entry_max / 10);
 
+	/*
+	 * Now it is safe to enable pv_table recording.
+	 */
+	PDEBUG(1, printf("pmap_init: done!\n"));
 }
 
 int
@@ -2544,7 +2519,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 }
 
 /*
- *	The page queues and pmap must be locked.
+ *	The pvh global and pmap locks must be held.
  */
 static void
 pmap_enter_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,

Modified: projects/pseries/arm/arm/pmap.c
==============================================================================
--- projects/pseries/arm/arm/pmap.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/arm/pmap.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -366,14 +366,6 @@ struct l2_dtable {
 #define	L2_NEXT_BUCKET(va)	(((va) & L1_S_FRAME) + L1_S_SIZE)
 
 /*
- * L2 allocation.
- */
-#define	pmap_alloc_l2_dtable()		\
-		(void*)uma_zalloc(l2table_zone, M_NOWAIT|M_USE_RESERVE)
-#define	pmap_free_l2_dtable(l2)		\
-		uma_zfree(l2table_zone, l2)
-
-/*
  * We try to map the page tables write-through, if possible.  However, not
  * all CPUs have a write-through cache mode, so on those we have to sync
  * the cache when we frob page tables.
@@ -875,10 +867,9 @@ pmap_alloc_l2_bucket(pmap_t pm, vm_offse
 		 * no entry in the L1 table.
 		 * Need to allocate a new l2_dtable.
 		 */
-again_l2table:
 		PMAP_UNLOCK(pm);
 		rw_wunlock(&pvh_global_lock);
-		if ((l2 = pmap_alloc_l2_dtable()) == NULL) {
+		if ((l2 = uma_zalloc(l2table_zone, M_NOWAIT)) == NULL) {
 			rw_wlock(&pvh_global_lock);
 			PMAP_LOCK(pm);
 			return (NULL);
@@ -886,18 +877,12 @@ again_l2table:
 		rw_wlock(&pvh_global_lock);
 		PMAP_LOCK(pm);
 		if (pm->pm_l2[L2_IDX(l1idx)] != NULL) {
-			PMAP_UNLOCK(pm);
-			rw_wunlock(&pvh_global_lock);
-			uma_zfree(l2table_zone, l2);
-			rw_wlock(&pvh_global_lock);
-			PMAP_LOCK(pm);
-			l2 = pm->pm_l2[L2_IDX(l1idx)];
-			if (l2 == NULL)
-				goto again_l2table;
 			/*
 			 * Someone already allocated the l2_dtable while
 			 * we were doing the same.
 			 */
+			uma_zfree(l2table_zone, l2);
+			l2 = pm->pm_l2[L2_IDX(l1idx)];
 		} else {
 			bzero(l2, sizeof(*l2));
 			/*
@@ -919,21 +904,14 @@ again_l2table:
 		 * No L2 page table has been allocated. Chances are, this
 		 * is because we just allocated the l2_dtable, above.
 		 */
-again_ptep:
 		PMAP_UNLOCK(pm);
 		rw_wunlock(&pvh_global_lock);
-		ptep = (void*)uma_zalloc(l2zone, M_NOWAIT|M_USE_RESERVE);
+		ptep = uma_zalloc(l2zone, M_NOWAIT);
 		rw_wlock(&pvh_global_lock);
 		PMAP_LOCK(pm);
 		if (l2b->l2b_kva != 0) {
 			/* We lost the race. */
-			PMAP_UNLOCK(pm);
-			rw_wunlock(&pvh_global_lock);
 			uma_zfree(l2zone, ptep);
-			rw_wlock(&pvh_global_lock);
-			PMAP_LOCK(pm);
-			if (l2b->l2b_kva == 0)
-				goto again_ptep;
 			return (l2b);
 		}
 		l2b->l2b_phys = vtophys(ptep);
@@ -945,7 +923,7 @@ again_ptep:
 			 */
 			if (l2->l2_occupancy == 0) {
 				pm->pm_l2[L2_IDX(l1idx)] = NULL;
-				pmap_free_l2_dtable(l2);
+				uma_zfree(l2table_zone, l2);
 			}
 			return (NULL);
 		}
@@ -1066,7 +1044,7 @@ pmap_free_l2_bucket(pmap_t pm, struct l2
 	 * the pointer in the parent pmap and free the l2_dtable.
 	 */
 	pm->pm_l2[L2_IDX(l1idx)] = NULL;
-	pmap_free_l2_dtable(l2);
+	uma_zfree(l2table_zone, l2);
 }
 
 /*
@@ -1834,28 +1812,25 @@ pmap_init(void)
 
 	PDEBUG(1, printf("pmap_init: phys_start = %08x\n", PHYSADDR));
 
+	l2zone = uma_zcreate("L2 Table", L2_TABLE_SIZE_REAL, pmap_l2ptp_ctor,
+	    NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
+	l2table_zone = uma_zcreate("L2 Table", sizeof(struct l2_dtable), NULL,
+	    NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
+
 	/*
-	 * init the pv free list
+	 * Initialize the PV entry allocator.
 	 */
 	pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL,
 	    NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
-	/*
-	 * Now it is safe to enable pv_table recording.
-	 */
-	PDEBUG(1, printf("pmap_init: done!\n"));
-
 	TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc);
-	
 	pv_entry_max = shpgperproc * maxproc + cnt.v_page_count;
-	pv_entry_high_water = 9 * (pv_entry_max / 10);
-	l2zone = uma_zcreate("L2 Table", L2_TABLE_SIZE_REAL, pmap_l2ptp_ctor,
-	    NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
-	l2table_zone = uma_zcreate("L2 Table", sizeof(struct l2_dtable),
-	    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR,
-	    UMA_ZONE_VM | UMA_ZONE_NOFREE);
-
 	uma_zone_set_obj(pvzone, &pvzone_obj, pv_entry_max);
+	pv_entry_high_water = 9 * (pv_entry_max / 10);
 
+	/*
+	 * Now it is safe to enable pv_table recording.
+	 */
+	PDEBUG(1, printf("pmap_init: done!\n"));
 }
 
 int
@@ -3302,7 +3277,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 }
 
 /*
- *	The page queues and pmap must be locked.
+ *	The pvh global and pmap locks must be held.
  */
 static void
 pmap_enter_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,

Modified: projects/pseries/arm/at91/at91_machdep.c
==============================================================================
--- projects/pseries/arm/at91/at91_machdep.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/at91/at91_machdep.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -107,11 +107,6 @@ __FBSDID("$FreeBSD$");
 /* this should be evenly divisable by PAGE_SIZE / L2_TABLE_SIZE_REAL (or 4) */
 #define NUM_KERNEL_PTS		(KERNEL_PT_AFKERNEL + KERNEL_PT_AFKERNEL_NUM)
 
-/* Define various stack sizes in pages */
-#define IRQ_STACK_SIZE	1
-#define ABT_STACK_SIZE	1
-#define UND_STACK_SIZE	1
-
 extern u_int data_abort_handler_address;
 extern u_int prefetch_abort_handler_address;
 extern u_int undefined_handler_address;
@@ -597,12 +592,8 @@ initarm(struct arm_boot_params *abp)
 	 * of the stack memory.
 	 */
 	cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE);
-	set_stackptr(PSR_IRQ32_MODE,
-	    irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE);
-	set_stackptr(PSR_ABT32_MODE,
-	    abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE);
-	set_stackptr(PSR_UND32_MODE,
-	    undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE);
+
+	set_stackptrs(0);
 
 	/*
 	 * We must now clean the cache again....

Modified: projects/pseries/arm/broadcom/bcm2835/bcm2835_machdep.c
==============================================================================
--- projects/pseries/arm/broadcom/bcm2835/bcm2835_machdep.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/broadcom/bcm2835/bcm2835_machdep.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -108,11 +108,6 @@ __FBSDID("$FreeBSD$");
  */
 #define KERNEL_PT_MAX	78
 
-/* Define various stack sizes in pages */
-#define IRQ_STACK_SIZE	1
-#define ABT_STACK_SIZE	1
-#define UND_STACK_SIZE	1
-
 extern unsigned char kernbase[];
 extern unsigned char _etext[];
 extern unsigned char _edata[];
@@ -147,8 +142,6 @@ struct pv_addr undstack;
 struct pv_addr abtstack;
 struct pv_addr kernelstack;
 
-void set_stackptrs(int cpu);
-
 static struct mem_region availmem_regions[FDT_MEM_REGIONS];
 static int availmem_regions_sz;
 
@@ -544,18 +537,6 @@ initarm(struct arm_boot_params *abp)
 	    sizeof(struct pcb)));
 }
 
-void
-set_stackptrs(int cpu)
-{
-
-	set_stackptr(PSR_IRQ32_MODE,
-	    irqstack.pv_va + ((IRQ_STACK_SIZE * PAGE_SIZE) * (cpu + 1)));
-	set_stackptr(PSR_ABT32_MODE,
-	    abtstack.pv_va + ((ABT_STACK_SIZE * PAGE_SIZE) * (cpu + 1)));
-	set_stackptr(PSR_UND32_MODE,
-	    undstack.pv_va + ((UND_STACK_SIZE * PAGE_SIZE) * (cpu + 1)));
-}
-
 #define FDT_DEVMAP_MAX	(2)		// FIXME
 static struct pmap_devmap fdt_devmap[FDT_DEVMAP_MAX] = {
 	{ 0, 0, 0, 0, 0, }

Copied: projects/pseries/arm/conf/AC100 (from r240808, head/sys/arm/conf/AC100)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pseries/arm/conf/AC100	Sat Sep 22 12:12:39 2012	(r240812, copy of r240808, head/sys/arm/conf/AC100)
@@ -0,0 +1,96 @@
+#
+# Custom kernel for Toshiba AC100
+#
+# $FreeBSD$
+#
+
+ident		AC100
+include		"../tegra/std.tegra2"
+
+makeoptions	MODULES_OVERRIDE=""
+
+makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+makeoptions	WERROR="-Werror"
+
+#options 	SCHED_ULE		#ULE scheduler
+options 	SCHED_4BSD		#4BSD scheduler
+options 	INET			#InterNETworking
+#options 	INET6			#IPv6 communications protocols
+options 	FFS			#Berkeley Fast Filesystem
+#options 	NFSCL			#Network Filesystem Client
+#options 	NFSLOCKD		#Network Lock Manager
+#options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
+#options 	BOOTP
+#options 	BOOTP_NFSROOT
+#options 	BOOTP_NFSV3
+#options 	BOOTP_WIRED_TO=mge0
+
+options 	GEOM_PART_GPT
+options 	ROOTDEVNAME=\"ufs:/dev/da0p1\"
+
+options 	SYSVSHM			#SYSV-style shared memory
+options 	SYSVMSG			#SYSV-style message queues
+options 	SYSVSEM			#SYSV-style semaphores
+options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
+options 	MUTEX_NOINLINE
+options 	RWLOCK_NOINLINE
+options 	NO_FFS_SNAPSHOT
+options 	NO_SWAPPING
+
+#options 	SMP
+
+# Debugging
+options 	VERBOSE_SYSINIT
+#options 	ALT_BREAK_TO_DEBUGGER
+options 	DDB
+options 	GDB
+options 	DIAGNOSTIC
+options 	INVARIANTS		#Enable calls of extra sanity checking
+options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
+options 	KDB
+options 	KDB_TRACE
+#options 	KTR
+#options 	KTR_VERBOSE=0
+#options 	KTR_ENTRIES=16384
+#options 	KTR_MASK=(KTR_SPARE2)
+#options 	KTR_COMPILE=KTR_ALL
+options 	WITNESS			#Enable checks to detect deadlocks and cycles
+options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
+#options 	WITNESS_KDB
+options 	MUTEX_DEBUG
+
+# Pseudo devices
+device		random
+device		pty
+device		loop
+device		md
+
+# USB
+#options 	USB_DEBUG		# enable debug msgs
+#device		usb
+#device		ehci
+#device		umass
+#device		scbus
+#device		pass
+#device		da
+
+# SATA
+#device		ata
+#device		atadisk
+#device		mvs
+
+# Serial ports
+device		uart
+
+# I2C (TWSI)
+#device		iic
+#device		iicbus
+
+#Network
+device		ether
+
+#FDT
+options 	FDT
+options 	FDT_DTB_STATIC
+makeoptions	FDT_DTS_FILE=tegra20-paz00.dts
+

Modified: projects/pseries/arm/conf/ARMADAXP
==============================================================================
--- projects/pseries/arm/conf/ARMADAXP	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/ARMADAXP	Sat Sep 22 12:12:39 2012	(r240812)
@@ -92,8 +92,8 @@ device		mge			# Marvell Gigabit Ethernet
 device		mii
 device		e1000phy
 device		bpf
-options		HZ=1000
-options		DEVICE_POLLING
+options 	HZ=1000
+options 	DEVICE_POLLING
 device		vlan
 
 #PCI/PCIE

Modified: projects/pseries/arm/conf/BEAGLEBONE
==============================================================================
--- projects/pseries/arm/conf/BEAGLEBONE	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/BEAGLEBONE	Sat Sep 22 12:12:39 2012	(r240812)
@@ -25,52 +25,52 @@ include		"../ti/am335x/std.beaglebone"
 makeoptions	MODULES_OVERRIDE=""
 makeoptions	WITHOUT_MODULES="ahc"
 
-options		HZ=100
-options		SCHED_4BSD		#4BSD scheduler
-options		INET			#InterNETworking
-options		INET6			#IPv6 communications protocols
-options		FFS			#Berkeley Fast Filesystem
-options		SOFTUPDATES		#Enable FFS soft updates support
-options		UFS_ACL			#Support for access control lists
-options		UFS_DIRHASH		#Improve performance on big directories
-options		MSDOSFS			#MSDOS Filesystem
-options		CD9660			#ISO 9660 Filesystem
-options		PROCFS			#Process filesystem (requires PSEUDOFS)
-options		PSEUDOFS		#Pseudo-filesystem framework
-options		COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
-options		SCSI_DELAY=5000		#Delay (in ms) before probing SCSI
-options		KTRACE			#ktrace(1) support
-options		SYSVSHM			#SYSV-style shared memory
-options		SYSVMSG			#SYSV-style message queues
-options		SYSVSEM			#SYSV-style semaphores
-options		_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
-options		KBD_INSTALL_CDEV	# install a CDEV entry in /dev
-options		PREEMPTION
+options 	HZ=100
+options 	SCHED_4BSD		#4BSD scheduler
+options 	INET			#InterNETworking
+options 	INET6			#IPv6 communications protocols
+options 	FFS			#Berkeley Fast Filesystem
+options 	SOFTUPDATES		#Enable FFS soft updates support
+options 	UFS_ACL			#Support for access control lists
+options 	UFS_DIRHASH		#Improve performance on big directories
+options 	MSDOSFS			#MSDOS Filesystem
+options 	CD9660			#ISO 9660 Filesystem
+options 	PROCFS			#Process filesystem (requires PSEUDOFS)
+options 	PSEUDOFS		#Pseudo-filesystem framework
+options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
+options 	SCSI_DELAY=5000		#Delay (in ms) before probing SCSI
+options 	KTRACE			#ktrace(1) support
+options 	SYSVSHM			#SYSV-style shared memory
+options 	SYSVMSG			#SYSV-style message queues
+options 	SYSVSEM			#SYSV-style semaphores
+options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
+options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
+options 	PREEMPTION
 
 # Debugging
 makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
-options		BREAK_TO_DEBUGGER
-#options	VERBOSE_SYSINIT		#Enable verbose sysinit messages
-options		KDB
-options		DDB			#Enable the kernel debugger
-options		INVARIANTS		#Enable calls of extra sanity checking
-options		INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
-options		WITNESS			#Enable checks to detect deadlocks and cycles
-options		WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
-#options	DIAGNOSTIC
+options 	BREAK_TO_DEBUGGER
+#options 	VERBOSE_SYSINIT		#Enable verbose sysinit messages
+options 	KDB
+options 	DDB			#Enable the kernel debugger
+options 	INVARIANTS		#Enable calls of extra sanity checking
+options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
+options 	WITNESS			#Enable checks to detect deadlocks and cycles
+options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
+#options 	DIAGNOSTIC
 
 # NFS support
-#options	NFSCL
-#options	NFSSERVER		#Network Filesystem Server
-#options	NFSCLIENT		#Network Filesystem Client
+#options 	NFSCL
+#options 	NFSSERVER		#Network Filesystem Server
+#options 	NFSCLIENT		#Network Filesystem Client
 
 # Uncomment this for NFS root
-#options	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
-#options	BOOTP_NFSROOT
-#options	BOOTP_COMPAT
-#options	BOOTP
-#options	BOOTP_NFSV3
-#options	BOOTP_WIRED_TO=cpsw0
+#options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
+#options 	BOOTP_NFSROOT
+#options 	BOOTP_COMPAT
+#options 	BOOTP
+#options 	BOOTP_NFSV3
+#options 	BOOTP_WIRED_TO=cpsw0
 
 
 # MMC/SD/SDIO card slot support
@@ -78,7 +78,7 @@ device		mmc			# mmc/sd bus
 device		mmcsd			# mmc/sd flash cards
 
 # Boot device is 2nd slice on MMC/SD card
-options		ROOTDEVNAME=\"ufs:mmcsd0s2\"
+options 	ROOTDEVNAME=\"ufs:mmcsd0s2\"
 
 # Console and misc
 device		uart
@@ -99,9 +99,9 @@ device		gpio
 
 # USB support
 device		usb
-options		USB_DEBUG
-#options	USB_REQ_DEBUG
-#options	USB_VERBOSE
+options 	USB_DEBUG
+#options 	USB_REQ_DEBUG
+#options 	USB_VERBOSE
 device		musb
 device		umass
 device		scbus			# SCSI bus (required for SCSI)

Modified: projects/pseries/arm/conf/CNS11XXNAS
==============================================================================
--- projects/pseries/arm/conf/CNS11XXNAS	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/CNS11XXNAS	Sat Sep 22 12:12:39 2012	(r240812)
@@ -47,9 +47,9 @@ options 	DDB			#Enable the kernel debugg
 #options 	DIAGNOSTIC
 
 
-#options		COMPAT_FREEBSD5
-#options		COMPAT_FREEBSD6
-#options		COMPAT_FREEBSD7
+#options 	COMPAT_FREEBSD5
+#options 	COMPAT_FREEBSD6
+#options 	COMPAT_FREEBSD7
 
 
 options 	SCHED_ULE		#ULE scheduler
@@ -121,4 +121,4 @@ device		geom_label
 device		geom_journal
 device 		geom_part_bsd
 
-options		ROOTDEVNAME=\"ufs:da0s1a\"
+options 	ROOTDEVNAME=\"ufs:da0s1a\"

Modified: projects/pseries/arm/conf/DOCKSTAR
==============================================================================
--- projects/pseries/arm/conf/DOCKSTAR	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/DOCKSTAR	Sat Sep 22 12:12:39 2012	(r240812)
@@ -56,8 +56,8 @@ device		ether
 device		mge			# Marvell Gigabit Ethernet controller
 device		mii
 device		bpf
-options		HZ=1000
-options		DEVICE_POLLING
+options 	HZ=1000
+options 	DEVICE_POLLING
 device		vlan
 
 # USB
@@ -71,5 +71,5 @@ device		da
 
 # Flattened Device Tree
 options 	FDT
-options		FDT_DTB_STATIC
+options 	FDT_DTB_STATIC
 makeoptions	FDT_DTS_FILE=dockstar.dts

Modified: projects/pseries/arm/conf/EA3250
==============================================================================
--- projects/pseries/arm/conf/EA3250	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/EA3250	Sat Sep 22 12:12:39 2012	(r240812)
@@ -65,7 +65,7 @@ device		bpf
 device		lpe
 
 # USB
-options		USB_DEBUG
+options 	USB_DEBUG
 device		usb
 device		ohci
 device		umass

Modified: projects/pseries/arm/conf/GUMSTIX-QEMU
==============================================================================
--- projects/pseries/arm/conf/GUMSTIX-QEMU	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/GUMSTIX-QEMU	Sat Sep 22 12:12:39 2012	(r240812)
@@ -21,5 +21,5 @@ include 	GUMSTIX
 
 ident		GUMSTIX-QEMU
 
-options		QEMU_WORKAROUNDS
+options 	QEMU_WORKAROUNDS
 nooptions	ARM_CACHE_LOCK_ENABLE	# QEMU does not implement this

Modified: projects/pseries/arm/conf/HL201
==============================================================================
--- projects/pseries/arm/conf/HL201	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/HL201	Sat Sep 22 12:12:39 2012	(r240812)
@@ -49,7 +49,7 @@ options 	BOOTP_NFSV3
 #options 	BOOTP_WIRED_TO=ate0
 options 	BOOTP_COMPAT
 
-options		ALT_BREAK_TO_DEBUGGER
+options 	ALT_BREAK_TO_DEBUGGER
 
 #options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem
@@ -128,5 +128,5 @@ device		pass		# Passthrough device (dire
 #device		wlan_ccmp	# 802.11 CCMP support
 #device		wlan_tkip	# 802.11 TKIP support
 #device		wlan_amrr	# AMRR transmit rate control algorithm
-options		ROOTDEVNAME=\"ufs:da0s1a\"
+options 	ROOTDEVNAME=\"ufs:da0s1a\"
 

Modified: projects/pseries/arm/conf/KB920X
==============================================================================
--- projects/pseries/arm/conf/KB920X	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/KB920X	Sat Sep 22 12:12:39 2012	(r240812)
@@ -144,6 +144,6 @@ device		usfs		# emulate a flash
 device		cdce		# emulate an ethernet
 device		usb_template	# Control of the gadget
 
-options		IEEE80211_SUPPORT_MESH
+options 	IEEE80211_SUPPORT_MESH
 
-options		AH_SUPPORT_AR5416
+options 	AH_SUPPORT_AR5416

Modified: projects/pseries/arm/conf/LN2410SBC
==============================================================================
--- projects/pseries/arm/conf/LN2410SBC	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/LN2410SBC	Sat Sep 22 12:12:39 2012	(r240812)
@@ -40,7 +40,7 @@ options 	FFS			#Berkeley Fast Filesystem
 #options 	UFS_DIRHASH		#Improve performance on big directories
 #options 	MD_ROOT			#MD is a potential root device
 #options 	MD_ROOT_SIZE=4096	# 4MB ram disk
-options		ROOTDEVNAME=\"ufs:da0s1\"
+options 	ROOTDEVNAME=\"ufs:da0s1\"
 
 #options 	BOOTP
 #options 	BOOTP_NFSROOT	# NFS mount root filesystem using BOOTP info

Modified: projects/pseries/arm/conf/PANDABOARD
==============================================================================
--- projects/pseries/arm/conf/PANDABOARD	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/PANDABOARD	Sat Sep 22 12:12:39 2012	(r240812)
@@ -46,15 +46,15 @@ options 	UFS_ACL			#Support for access c
 options 	UFS_DIRHASH		#Improve performance on big directories
 options 	NFSCLIENT		#Network Filesystem Client
 device		snp
-#options		NFSCL
+#options 	NFSCL
 #options 	NFSSERVER		#Network Filesystem Server
 options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
-options		BREAK_TO_DEBUGGER
-options		BOOTP_NFSROOT
-options		BOOTP_COMPAT
-options		BOOTP
-options		BOOTP_NFSV3
-options		BOOTP_WIRED_TO=ue0
+options 	BREAK_TO_DEBUGGER
+options 	BOOTP_NFSROOT
+options 	BOOTP_COMPAT
+options 	BOOTP
+options 	BOOTP_NFSV3
+options 	BOOTP_WIRED_TO=ue0
 options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem
 #options 	PROCFS			#Process filesystem (requires PSEUDOFS)
@@ -93,7 +93,7 @@ device		pty
 
 device		pl310			#  PL310 L2 cache controller
 # Debugging for use in -current
-#options		VERBOSE_SYSINIT		#Enable verbose sysinit messages
+#options 	VERBOSE_SYSINIT		#Enable verbose sysinit messages
 options 	KDB
 options 	DDB			#Enable the kernel debugger
 #options 	INVARIANTS		#Enable calls of extra sanity checking
@@ -106,16 +106,16 @@ device		md
 
 # The following enables MFS as root, this seems similar to an initramfs or initrd
 # as used in Linux.
-# options		MD_ROOT
-# options		MD_ROOT_SIZE=7560
+#options 	MD_ROOT
+#options 	MD_ROOT_SIZE=7560
 
 device		random		# Entropy device
 
 # USB support
 device		usb
 options 	USB_DEBUG
-#options	USB_REQ_DEBUG
-#options		USB_VERBOSE
+#options 	USB_REQ_DEBUG
+#options 	USB_VERBOSE
 device		ohci
 device		ehci
 device		umass
@@ -125,7 +125,7 @@ device		da		# Direct Access (disks)
 
 # USB Ethernet support, requires miibus
 device		miibus
-# device		axe			# ASIX Electronics USB Ethernet
+#device		axe		# ASIX Electronics USB Ethernet
 device		smsc		# SMSC LAN95xx USB Ethernet
 
 
@@ -140,5 +140,5 @@ options         FDT
 options         FDT_DTB_STATIC
 makeoptions     FDT_DTS_FILE=pandaboard.dts
 
-# device		vfp			# vfp/neon
-# options		ARM_VFP_SUPPORT		# vfp/neon
+#device		vfp			# vfp/neon
+#options 	ARM_VFP_SUPPORT		# vfp/neon

Modified: projects/pseries/arm/conf/QILA9G20
==============================================================================
--- projects/pseries/arm/conf/QILA9G20	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/QILA9G20	Sat Sep 22 12:12:39 2012	(r240812)
@@ -51,7 +51,7 @@ options 	NFSCL			#New Network Filesystem
 
 options 	ROOTDEVNAME=\"ufs:/dev/mmcsd0s1a\"
 
-options		ALT_BREAK_TO_DEBUGGER
+options 	ALT_BREAK_TO_DEBUGGER
 
 #options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem

Modified: projects/pseries/arm/conf/RPI-B
==============================================================================
--- projects/pseries/arm/conf/RPI-B	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/RPI-B	Sat Sep 22 12:12:39 2012	(r240812)
@@ -24,12 +24,12 @@ cpu 		CPU_ARM11
 files		"../broadcom/bcm2835/files.bcm2835"
 makeoptions	MODULES_OVERRIDE=""
 
-options		KERNVIRTADDR=0xc0100000
+options 	KERNVIRTADDR=0xc0100000
 makeoptions	KERNVIRTADDR=0xc0100000
-options		KERNPHYSADDR=0x00100000
+options 	KERNPHYSADDR=0x00100000
 makeoptions	KERNPHYSADDR=0x00100000
-options		PHYSADDR=0x00000000
-options		STARTUP_PAGETABLE_ADDR=0x01000000
+options 	PHYSADDR=0x00000000
+options 	STARTUP_PAGETABLE_ADDR=0x01000000
 
 makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
 options 	HZ=100
@@ -42,13 +42,13 @@ options 	UFS_ACL			#Support for access c
 options 	UFS_DIRHASH		#Improve performance on big directories
 device		snp
 
-# options 	NFSCL		#Network Filesystem Client
-# options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
-# options		BOOTP_NFSROOT
-# options		BOOTP_COMPAT
-# options		BOOTP
-# options		BOOTP_NFSV3
-# options		BOOTP_WIRED_TO=ue0
+#options 	NFSCL			#Network Filesystem Client
+#options 	NFS_ROOT		#NFS usable as /, requires NFSCLIENT
+#options 	BOOTP_NFSROOT
+#options 	BOOTP_COMPAT
+#options 	BOOTP
+#options 	BOOTP_NFSV3
+#options 	BOOTP_WIRED_TO=ue0
 
 options 	PSEUDOFS		#Pseudo-filesystem framework
 options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]

Modified: projects/pseries/arm/conf/SAM9G20EK
==============================================================================
--- projects/pseries/arm/conf/SAM9G20EK	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/SAM9G20EK	Sat Sep 22 12:12:39 2012	(r240812)
@@ -50,7 +50,7 @@ options 	NFSCL			#New Network Filesystem
 
 options 	ROOTDEVNAME=\"ufs:/dev/mmcsd0s1a\"
 
-options		ALT_BREAK_TO_DEBUGGER
+options 	ALT_BREAK_TO_DEBUGGER
 
 #options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem

Modified: projects/pseries/arm/conf/SAM9X25EK
==============================================================================
--- projects/pseries/arm/conf/SAM9X25EK	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/SAM9X25EK	Sat Sep 22 12:12:39 2012	(r240812)
@@ -51,7 +51,7 @@ options 	NFSCL			#New Network Filesystem
 
 options 	ROOTDEVNAME=\"ufs:/dev/mmcsd0s1a\"
 
-options		ALT_BREAK_TO_DEBUGGER
+options 	ALT_BREAK_TO_DEBUGGER
 
 #options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem

Modified: projects/pseries/arm/conf/SHEEVAPLUG
==============================================================================
--- projects/pseries/arm/conf/SHEEVAPLUG	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/SHEEVAPLUG	Sat Sep 22 12:12:39 2012	(r240812)
@@ -56,8 +56,8 @@ device		mge			# Marvell Gigabit Ethernet
 device		mii
 device		e1000phy
 device		bpf
-options		HZ=1000
-options		DEVICE_POLLING
+options 	HZ=1000
+options 	DEVICE_POLLING
 device		vlan
 
 device		cesa			# Marvell security engine
@@ -78,5 +78,5 @@ device		nand
 
 # Flattened Device Tree
 options 	FDT
-options		FDT_DTB_STATIC
+options 	FDT_DTB_STATIC
 makeoptions	FDT_DTS_FILE=sheevaplug.dts

Modified: projects/pseries/arm/conf/SN9G45
==============================================================================
--- projects/pseries/arm/conf/SN9G45	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/SN9G45	Sat Sep 22 12:12:39 2012	(r240812)
@@ -50,7 +50,7 @@ options 	NFSCL			#New Network Filesystem
 
 options 	ROOTDEVNAME=\"ufs:/dev/da0s1\"
 
-options		ALT_BREAK_TO_DEBUGGER
+options 	ALT_BREAK_TO_DEBUGGER
 
 #options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem

Modified: projects/pseries/arm/conf/TS7800
==============================================================================
--- projects/pseries/arm/conf/TS7800	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/conf/TS7800	Sat Sep 22 12:12:39 2012	(r240812)
@@ -74,6 +74,6 @@ options 	ATA_CAM
 
 # Flattened Device Tree
 options 	FDT
-options		FDT_DTB_STATIC
+options 	FDT_DTB_STATIC
 makeoptions	FDT_DTS_FILE=ts7800.dts
 

Modified: projects/pseries/arm/econa/econa_machdep.c
==============================================================================
--- projects/pseries/arm/econa/econa_machdep.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/econa/econa_machdep.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -92,11 +92,6 @@ __FBSDID("$FreeBSD$");
 /* this should be evenly divisable by PAGE_SIZE / L2_TABLE_SIZE_REAL (or 4) */
 #define	NUM_KERNEL_PTS	(KERNEL_PT_AFKERNEL + KERNEL_PT_AFKERNEL_NUM)
 
-/* Define various stack sizes in pages */
-#define	IRQ_STACK_SIZE	1
-#define	ABT_STACK_SIZE	1
-#define	UND_STACK_SIZE	1
-
 extern u_int data_abort_handler_address;
 extern u_int prefetch_abort_handler_address;
 extern u_int undefined_handler_address;
@@ -303,12 +298,7 @@ initarm(struct arm_boot_params *abp)
 	 */
 	cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE);
 
-	set_stackptr(PSR_IRQ32_MODE,
-	    irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE);
-	set_stackptr(PSR_ABT32_MODE,
-	    abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE);
-	set_stackptr(PSR_UND32_MODE,
-	    undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE);
+	set_stackptrs(0);
 
 	/*
 	 * We must now clean the cache again....

Modified: projects/pseries/arm/include/machdep.h
==============================================================================
--- projects/pseries/arm/include/machdep.h	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/include/machdep.h	Sat Sep 22 12:12:39 2012	(r240812)
@@ -4,12 +4,23 @@
 #ifndef _MACHDEP_BOOT_MACHDEP_H_
 #define _MACHDEP_BOOT_MACHDEP_H_
 
+/* Structs that need to be initialised by initarm */
+extern struct pv_addr irqstack;
+extern struct pv_addr undstack;
+extern struct pv_addr abtstack;
+
+/* Define various stack sizes in pages */
+#define IRQ_STACK_SIZE	1
+#define ABT_STACK_SIZE	1
+#define UND_STACK_SIZE	1
+
 /* misc prototypes used by the many arm machdeps */
 void arm_lock_cache_line(vm_offset_t);
 void init_proc0(vm_offset_t kstack);
 void halt(void);
 void data_abort_handler(trapframe_t *);
 void prefetch_abort_handler(trapframe_t *);
+void set_stackptrs(int cpu);
 void undefinedinstruction_bounce(trapframe_t *);
 
 /* Early boot related helper functions */

Modified: projects/pseries/arm/lpc/lpc_machdep.c
==============================================================================
--- projects/pseries/arm/lpc/lpc_machdep.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/lpc/lpc_machdep.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -109,11 +109,6 @@ __FBSDID("$FreeBSD$");
  */
 #define KERNEL_PT_MAX	78
 
-/* Define various stack sizes in pages */
-#define IRQ_STACK_SIZE	1
-#define ABT_STACK_SIZE	1
-#define UND_STACK_SIZE	1
-
 extern unsigned char kernbase[];
 extern unsigned char _etext[];
 extern unsigned char _edata[];
@@ -504,12 +499,8 @@ initarm(struct arm_boot_params *abp)
 	 * of the stack memory.
 	 */
 	cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE);
-	set_stackptr(PSR_IRQ32_MODE,
-	    irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE);
-	set_stackptr(PSR_ABT32_MODE,
-	    abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE);
-	set_stackptr(PSR_UND32_MODE,
-	    undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE);
+
+	set_stackptrs(0);
 
 	/*
 	 * We must now clean the cache again....

Modified: projects/pseries/arm/mv/mv_machdep.c
==============================================================================
--- projects/pseries/arm/mv/mv_machdep.c	Sat Sep 22 10:14:47 2012	(r240811)
+++ projects/pseries/arm/mv/mv_machdep.c	Sat Sep 22 12:12:39 2012	(r240812)
@@ -104,11 +104,6 @@ __FBSDID("$FreeBSD$");
  */
 #define KERNEL_PT_MAX	78

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



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