From owner-svn-src-projects@FreeBSD.ORG Wed Jun 1 14:17:17 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18325106566C; Wed, 1 Jun 2011 14:17:17 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F2E0D8FC16; Wed, 1 Jun 2011 14:17:16 +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 p51EHGMi073404; Wed, 1 Jun 2011 14:17:16 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p51EHGsJ073398; Wed, 1 Jun 2011 14:17:16 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106011417.p51EHGsJ073398@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 1 Jun 2011 14:17:16 +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: r222564 - projects/pseries/powerpc/aim 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: Wed, 01 Jun 2011 14:17:17 -0000 Author: nwhitehorn Date: Wed Jun 1 14:17:16 2011 New Revision: 222564 URL: http://svn.freebsd.org/changeset/base/222564 Log: Regularize MSR setting by removing spurious isync()s (mtmsr() does an isync already) and by explicitly setting the first thread's MSR to PSL_KERNSET instead of a modification of Open Firmware's MSR. Modified: projects/pseries/powerpc/aim/interrupt.c projects/pseries/powerpc/aim/machdep.c projects/pseries/powerpc/aim/mmu_oea64.c projects/pseries/powerpc/aim/moea64_native.c projects/pseries/powerpc/aim/mp_cpudep.c Modified: projects/pseries/powerpc/aim/interrupt.c ============================================================================== --- projects/pseries/powerpc/aim/interrupt.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/interrupt.c Wed Jun 1 14:17:16 2011 (r222564) @@ -100,10 +100,8 @@ powerpc_interrupt(struct trapframe *fram default: /* Re-enable interrupts if applicable. */ ee = framep->srr1 & PSL_EE; - if (ee != 0) { + if (ee != 0) mtmsr(mfmsr() | ee); - isync(); - } trap(framep); } } Modified: projects/pseries/powerpc/aim/machdep.c ============================================================================== --- projects/pseries/powerpc/aim/machdep.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/machdep.c Wed Jun 1 14:17:16 2011 (r222564) @@ -374,7 +374,6 @@ powerpc_init(vm_offset_t startkernel, vm msr = mfmsr(); mtmsr((msr & ~(PSL_IR | PSL_DR)) | PSL_RI); - isync(); /* * Measure the cacheline size using dcbz @@ -509,7 +508,6 @@ powerpc_init(vm_offset_t startkernel, vm * Restore MSR */ mtmsr(msr); - isync(); /* Warn if cachline size was not determined */ if (cacheline_warn == 1) { @@ -533,8 +531,7 @@ powerpc_init(vm_offset_t startkernel, vm pmap_mmu_install(MMU_TYPE_OEA, BUS_PROBE_GENERIC); pmap_bootstrap(startkernel, endkernel); - mtmsr(mfmsr() | PSL_IR|PSL_DR|PSL_ME|PSL_RI); - isync(); + mtmsr(PSL_KERNSET & ~PSL_EE); /* * Initialize params/tunables that are derived from memsize Modified: projects/pseries/powerpc/aim/mmu_oea64.c ============================================================================== --- projects/pseries/powerpc/aim/mmu_oea64.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/mmu_oea64.c Wed Jun 1 14:17:16 2011 (r222564) @@ -162,8 +162,8 @@ __FBSDID("$FreeBSD$"); void moea64_release_vsid(uint64_t vsid); uintptr_t moea64_get_unique_vsid(void); -#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR); isync() -#define ENABLE_TRANS(msr) mtmsr(msr); isync() +#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR) +#define ENABLE_TRANS(msr) mtmsr(msr) #define VSID_MAKE(sr, hash) ((sr) | (((hash) & 0xfffff) << 4)) #define VSID_TO_HASH(vsid) (((vsid) >> 4) & 0xfffff) @@ -877,7 +877,7 @@ moea64_late_bootstrap(mmu_t mmup, vm_off * Initialize MMU and remap early physical mappings */ MMU_CPU_BOOTSTRAP(mmup,0); - mtmsr(mfmsr() | PSL_DR | PSL_IR); isync(); + mtmsr(mfmsr() | PSL_DR | PSL_IR); pmap_bootstrapped++; bs_remap_earlyboot(); Modified: projects/pseries/powerpc/aim/moea64_native.c ============================================================================== --- projects/pseries/powerpc/aim/moea64_native.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/moea64_native.c Wed Jun 1 14:17:16 2011 (r222564) @@ -185,8 +185,8 @@ TLBIE(uint64_t vpn) { mtx_unlock_spin(&tlbie_mutex); } -#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR); isync() -#define ENABLE_TRANS(msr) mtmsr(msr); isync() +#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR) +#define ENABLE_TRANS(msr) mtmsr(msr) /* * PTEG data. @@ -344,7 +344,7 @@ moea64_cpu_bootstrap_native(mmu_t mmup, * Initialize segment registers and MMU */ - mtmsr(mfmsr() & ~PSL_DR & ~PSL_IR); isync(); + mtmsr(mfmsr() & ~PSL_DR & ~PSL_IR); /* * Install kernel SLB entries Modified: projects/pseries/powerpc/aim/mp_cpudep.c ============================================================================== --- projects/pseries/powerpc/aim/mp_cpudep.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/mp_cpudep.c Wed Jun 1 14:17:16 2011 (r222564) @@ -87,7 +87,6 @@ cpudep_ap_bootstrap(void) msr = PSL_KERNSET & ~PSL_EE; mtmsr(msr); - isync(); pcpup->pc_curthread = pcpup->pc_idlethread; pcpup->pc_curpcb = pcpup->pc_curthread->td_pcb;