These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / arm64 / include / asm / assembler.h
index 144b64a..12eff92 100644 (file)
        msr     daifclr, #2
        .endm
 
-/*
- * Save/disable and restore interrupts.
- */
-       .macro  save_and_disable_irqs, olddaif
-       mrs     \olddaif, daif
-       disable_irq
-       .endm
-
-       .macro  restore_irqs, olddaif
-       msr     daif, \olddaif
-       .endm
-
 /*
  * Enable and disable debug exceptions.
  */
  * SMP data memory barrier
  */
        .macro  smp_dmb, opt
-#ifdef CONFIG_SMP
        dmb     \opt
-#endif
        .endm
 
 #define USER(l, x...)                          \
@@ -207,4 +193,15 @@ lr .req    x30             // link register
        str     \src, [\tmp, :lo12:\sym]
        .endm
 
+/*
+ * Annotate a function as position independent, i.e., safe to be called before
+ * the kernel virtual mapping is activated.
+ */
+#define ENDPIPROC(x)                   \
+       .globl  __pi_##x;               \
+       .type   __pi_##x, %function;    \
+       .set    __pi_##x, x;            \
+       .size   __pi_##x, . - x;        \
+       ENDPROC(x)
+
 #endif /* __ASM_ASSEMBLER_H */