OSDN Git Service

debug MicroBlaze
[hos/hos-v4a.git] / kernel / source / arch / proc / mb / mb_v8 / gcc / kint_hdr.S
index 5f8cfef..16c9a26 100644 (file)
                                .align  2
 _kernel_int_hdr:
                /* ---- レジスタ保存 */
-                               addik   r1, r1, -44
-                               swi             r15, r1, 0
-                               swi             r3, r1, 4
-                               swi             r4, r1, 8
-                               swi             r5, r1, 12
-                               swi             r6, r1, 16
-                               swi             r7, r1, 20
-                               swi             r8, r1, 24
-                               swi             r9, r1, 28
-                               swi             r10, r1, 32
-                               swi             r11, r1, 36
-                               swi             r12, r1, 40
+                               addik   r1, r1, -76
+                               swi             r14, r1, 0
+                               swi             r3, r1, 28
+                               swi             r4, r1, 32
+                               swi             r5, r1, 36
+                               swi             r6, r1, 40
+                               swi             r7, r1, 44
+                               swi             r8, r1, 48
+                               swi             r9, r1, 52
+                               swi             r10, r1, 56
+                               swi             r11, r1, 60
+                               swi             r12, r1, 64
+                               swi             r15, r1, 68
+                               mfs             r3, rmsr
+                               swi             r3, r1, 72
                                
                /* ---- スタック入れ替え */
                                addik   r3, r1, 0
@@ -45,9 +48,9 @@ _kernel_int_hdr:
                                lwi             r1, r4, ICTXCB_ISP
                                
                /* ---- 割り込み開始処理呼び出し */
-                               addik   r1, r1, -4
+                               addik   r1, r1, -32
                                brlid   r15, _kernel_sta_inh
-                               swi             r3, r1,                                       /* 旧スタックポインタ保存 */
+                               swi             r3, r1, 28                                      /* 旧スタックポインタ保存 */
                                
                /* ---- 割り込み実行処理呼び出し */
                                brlid   r15, _kernel_exe_inh
@@ -56,22 +59,25 @@ _kernel_int_hdr:
                                
                /* ---- 割込み終了処理呼び出し */
                                brlid   r15, _kernel_end_inh
-                               lwi             r1, r1,                                       /* スタックの復帰 */
+                               lwi             r1, r1, 28                                      /* スタックの復帰 */
                                
                /* ---- レジスタ復帰 */
-                               lwi             r15, r1, 0
-                               lwi             r3, r1, 4
-                               lwi             r4, r1, 8
-                               lwi             r5, r1, 12
-                               lwi             r6, r1, 16
-                               lwi             r7, r1, 20
-                               lwi             r8, r1, 24
-                               lwi             r9, r1, 28
-                               lwi             r10, r1, 32
-                               lwi             r11, r1, 36
-                               lwi             r12, r1, 40
-                               rtid    r14, 0
-                               addik   r1, r1, 44
+                               lwi             r3, r1, 72
+                               mts             rmsr, r3
+                               lwi             r14, r1, 0
+                               lwi             r3, r1, 28
+                               lwi             r4, r1, 32
+                               lwi             r5, r1, 36
+                               lwi             r6, r1, 40
+                               lwi             r7, r1, 44
+                               lwi             r8, r1, 48
+                               lwi             r9, r1, 52
+                               lwi             r10, r1, 56
+                               lwi             r11, r1, 60
+                               lwi             r12, r1, 64
+                               lwi             r15, r1, 68
+                               rtid    r14, 0
+                               addik   r1, r1, 76
 
 
 /* end of file */