This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Does MSR DAIF require ISB instruction? If no, why?

Dear experts,

I see a lot of code in opensource like

.macro disable_daif
     msr     daifset, #0xf
.endm


and it doesn't apply ISB instruction after it. Though I read in ARM manual that:
"context-changing operations
that require the insertion of an ISB instruction to
ensure the effects of the operation are visible to instructions fetched after the ISB instruction are:
• Completed cache and TLB maintenance instructions.
• Changes to system control registers."

AFAIU set new value to daifset is "Changes to system control registers." doesn't it?