xtensa core may be configured without register windows support, don't
use register window specific opcodes in that case. Use window register
specific opcodes to initialize hardware or reset core to a known state
regardless of the chosen ABI.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
 
        .align  4
 _SetupMMU:
+#if XCHAL_HAVE_WINDOWED
        movi    a0, 0
        wsr     a0, windowbase
        rsync
        movi    a0, 1
        wsr     a0, windowstart
        rsync
+#endif
        movi    a0, 0x1F
        wsr     a0, ps
        rsync
 
        movi    a4, 1
        wsr     a4, ps
        rsync
-
+#if XCHAL_HAVE_WINDOWED
        rsr     a5, windowbase
        ssl     a5
        sll     a4, a4
        wsr     a4, windowstart
        rsync
-
+#endif
        movi    a4, KERNEL_PS_WOE_MASK
        wsr     a4, ps
        rsync
 
  *  BE  shift left / mask 0 0 X X
  */
 
+#if XCHAL_HAVE_WINDOWED
 #define UNALIGNED_USER_EXCEPTION
+#endif
 
 #if XCHAL_HAVE_BE
 
 
 
 ENTRY(unrecoverable_exception)
 
+#if XCHAL_HAVE_WINDOWED
        movi    a0, 1
        movi    a1, 0
 
        wsr     a0, windowstart
        wsr     a1, windowbase
        rsync
+#endif
 
        movi    a1, KERNEL_PS_WOE_MASK | LOCKLEVEL
        wsr     a1, ps
 
         * xt-gdb to single step via DEBUG exceptions received directly
         * by ocd.
         */
+#if XCHAL_HAVE_WINDOWED
        movi    a1, 1
        movi    a0, 0
        wsr     a1, windowstart
        wsr     a0, windowbase
        rsync
+#endif
 
        movi    a1, LOCKLEVEL
        wsr     a1, ps