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/...
Andreas Tobler
andreast at FreeBSD.org
Sat Sep 22 12:12:41 UTC 2012
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 ***
More information about the svn-src-projects
mailing list