On Fri, 2015-07-17 at 11:53 +1000, Benjamin Herrenschmidt wrote:
On Fri, 2015-07-10 at 15:19 +1000, Samuel Mendoza-Jonas wrote:
quoted
+#if defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_PPC_POWERNV)
+ li r3,(FW_FEATURE_OPAL >> 16)
+ rldicr r3,r3,16,63
+ and. r3,r3,r26
+ cmpwi r3,0
+ beq 99f
If FW_FEATRURE_OPAL is 0x80000000 then the li will sign extend.
The rldicr has a mask of all F's so it will keep all the bits you
don't care about.
../..
Even better, you should be able to just do it all in C in
pnv_kexec_cpu_down(), after we wait for secondaries to
be in OPAL. At that point interrupts are already off, so
it should be all good.