Skip site navigation (1)Skip section navigation (2)
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>