From owner-svn-src-projects@FreeBSD.ORG Sat Sep 22 12:12:41 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 034EF106566B; Sat, 22 Sep 2012 12:12:41 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE3008FC08; Sat, 22 Sep 2012 12:12:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8MCCe0c063935; Sat, 22 Sep 2012 12:12:40 GMT (envelope-from andreast@svn.freebsd.org) Received: (from andreast@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8MCCeOR063904; Sat, 22 Sep 2012 12:12:40 GMT (envelope-from andreast@svn.freebsd.org) Message-Id: <201209221212.q8MCCeOR063904@svn.freebsd.org> From: Andreas Tobler Date: Sat, 22 Sep 2012 12:12:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: 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/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Sep 2012 12:12:41 -0000 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 ***