Date: Fri, 13 Feb 2015 14:44:59 +0000 From: "ian (Ian Lepore)" <phabric-noreply@FreeBSD.org> To: freebsd-arm@freebsd.org Subject: [Differential] [Commented On] D1810: Leave HYP mode upon startup Message-ID: <f674e01892d1729df6f32f01254fac9c@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-3jnmioetq2qo5zfr5ol4-req@FreeBSD.org> References: <differential-rev-PHID-DREV-3jnmioetq2qo5zfr5ol4-req@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
ian added inline comments. INLINE COMMENTS sys/arm/arm/locore-v6.S:88 What is the value in spsr at this point? Previous debugging experience tells me it's random bits, at least on some cortex-a processors. I think the right sequence would be to just manipulate the state of cpsr that's already in r0 and save it as spsr. Except... once that occurred to me, it then popped into my head that we don't need this entire sequence (from #if through #endif), instead we should replace the very first instruction above with: cpsid ifa, #(PSR_SVC32_MODE) And the same in mpentry below. That should work on all armv6/v7 no matter what the entry-time processor mode is, right? REVISION DETAIL https://reviews.freebsd.org/D1810 To: zbb, andrew, ian Cc: imp, freebsd-arm
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f674e01892d1729df6f32f01254fac9c>