aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2011-02-01 03:00:57 -0500
committerMichal Simek <monstr@monstr.eu>2011-03-09 02:09:54 -0500
commitcd3415779bdb13e3daaf13965c89d286a0cf0480 (patch)
tree845a2ab0a2f7e4f23b2c84fe6c1e0432d8cf34ae /arch/microblaze
parent6e83557c38b40d6e9d1c82ad0ae59d8e5db9c50c (diff)
microblaze: Do not use "la" pseudo instruction - use addik instead
"la" pseudo instruction is only translation to "addik". Use directly "addik" which is described in the MB reference guide. Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze')
-rw-r--r--arch/microblaze/kernel/entry-nommu.S4
-rw-r--r--arch/microblaze/kernel/entry.S2
-rw-r--r--arch/microblaze/kernel/head.S12
-rw-r--r--arch/microblaze/kernel/hw_exception_handler.S12
4 files changed, 15 insertions, 15 deletions
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S
index ca84368570b..34b526f59b4 100644
--- a/arch/microblaze/kernel/entry-nommu.S
+++ b/arch/microblaze/kernel/entry-nommu.S
@@ -115,7 +115,7 @@ ENTRY(_interrupt)
115 /* restore r31 */ 115 /* restore r31 */
116 lwi r31, r0, PER_CPU(CURRENT_SAVE) 116 lwi r31, r0, PER_CPU(CURRENT_SAVE)
117 /* prepare the link register, the argument and jump */ 117 /* prepare the link register, the argument and jump */
118 la r15, r0, ret_from_intr - 8 118 addik r15, r0, ret_from_intr - 8
119 addk r6, r0, r15 119 addk r6, r0, r15
120 braid do_IRQ 120 braid do_IRQ
121 add r5, r0, r1 121 add r5, r0, r1
@@ -283,7 +283,7 @@ ENTRY(_user_exception)
283 add r12, r12, r12 /* convert num -> ptr */ 283 add r12, r12, r12 /* convert num -> ptr */
284 add r12, r12, r12 284 add r12, r12, r12
285 lwi r12, r12, sys_call_table /* Get function pointer */ 285 lwi r12, r12, sys_call_table /* Get function pointer */
286 la r15, r0, ret_to_user-8 /* set return address */ 286 addik r15, r0, ret_to_user-8 /* set return address */
287 bra r12 /* Make the system call. */ 287 bra r12 /* Make the system call. */
288 bri 0 /* won't reach here */ 288 bri 0 /* won't reach here */
2891: 2891:
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S
index ff949e36296..e3c8d69e248 100644
--- a/arch/microblaze/kernel/entry.S
+++ b/arch/microblaze/kernel/entry.S
@@ -821,7 +821,7 @@ C_ENTRY(_debug_exception):
821 tovirt(r1,r1) 821 tovirt(r1,r1)
822#ifdef CONFIG_KGDB 822#ifdef CONFIG_KGDB
823 addi r5, r1, 0 /* pass pt_reg address as the first arg */ 823 addi r5, r1, 0 /* pass pt_reg address as the first arg */
824 la r15, r0, dbtrap_call; /* return address */ 824 addik r15, r0, dbtrap_call; /* return address */
825 rtbd r0, microblaze_kgdb_break 825 rtbd r0, microblaze_kgdb_break
826 nop; 826 nop;
827#endif 827#endif
diff --git a/arch/microblaze/kernel/head.S b/arch/microblaze/kernel/head.S
index d8dc085a945..77320b8fc16 100644
--- a/arch/microblaze/kernel/head.S
+++ b/arch/microblaze/kernel/head.S
@@ -224,26 +224,26 @@ start_here:
224#endif /* CONFIG_MMU */ 224#endif /* CONFIG_MMU */
225 225
226 /* Initialize small data anchors */ 226 /* Initialize small data anchors */
227 la r13, r0, _KERNEL_SDA_BASE_ 227 addik r13, r0, _KERNEL_SDA_BASE_
228 la r2, r0, _KERNEL_SDA2_BASE_ 228 addik r2, r0, _KERNEL_SDA2_BASE_
229 229
230 /* Initialize stack pointer */ 230 /* Initialize stack pointer */
231 la r1, r0, init_thread_union + THREAD_SIZE - 4 231 addik r1, r0, init_thread_union + THREAD_SIZE - 4
232 232
233 /* Initialize r31 with current task address */ 233 /* Initialize r31 with current task address */
234 la r31, r0, init_task 234 addik r31, r0, init_task
235 235
236 /* 236 /*
237 * Call platform dependent initialize function. 237 * Call platform dependent initialize function.
238 * Please see $(ARCH)/mach-$(SUBARCH)/setup.c for 238 * Please see $(ARCH)/mach-$(SUBARCH)/setup.c for
239 * the function. 239 * the function.
240 */ 240 */
241 la r9, r0, machine_early_init 241 addik r9, r0, machine_early_init
242 brald r15, r9 242 brald r15, r9
243 nop 243 nop
244 244
245#ifndef CONFIG_MMU 245#ifndef CONFIG_MMU
246 la r15, r0, machine_halt 246 addik r15, r0, machine_halt
247 braid start_kernel 247 braid start_kernel
248 nop 248 nop
249#else 249#else
diff --git a/arch/microblaze/kernel/hw_exception_handler.S b/arch/microblaze/kernel/hw_exception_handler.S
index 2401fa4b7ce..56572e923a8 100644
--- a/arch/microblaze/kernel/hw_exception_handler.S
+++ b/arch/microblaze/kernel/hw_exception_handler.S
@@ -490,7 +490,7 @@ ex_lw_tail:
490 /* Get the destination register number into r5 */ 490 /* Get the destination register number into r5 */
491 lbui r5, r0, TOPHYS(ex_reg_op); 491 lbui r5, r0, TOPHYS(ex_reg_op);
492 /* Form load_word jump table offset (lw_table + (8 * regnum)) */ 492 /* Form load_word jump table offset (lw_table + (8 * regnum)) */
493 la r6, r0, TOPHYS(lw_table); 493 addik r6, r0, TOPHYS(lw_table);
494 addk r5, r5, r5; 494 addk r5, r5, r5;
495 addk r5, r5, r5; 495 addk r5, r5, r5;
496 addk r5, r5, r5; 496 addk r5, r5, r5;
@@ -501,7 +501,7 @@ ex_sw:
501 /* Get the destination register number into r5 */ 501 /* Get the destination register number into r5 */
502 lbui r5, r0, TOPHYS(ex_reg_op); 502 lbui r5, r0, TOPHYS(ex_reg_op);
503 /* Form store_word jump table offset (sw_table + (8 * regnum)) */ 503 /* Form store_word jump table offset (sw_table + (8 * regnum)) */
504 la r6, r0, TOPHYS(sw_table); 504 addik r6, r0, TOPHYS(sw_table);
505 add r5, r5, r5; 505 add r5, r5, r5;
506 add r5, r5, r5; 506 add r5, r5, r5;
507 add r5, r5, r5; 507 add r5, r5, r5;
@@ -912,7 +912,7 @@ ex_lw_vm:
912 beqid r6, ex_lhw_vm; 912 beqid r6, ex_lhw_vm;
913load1: lbui r5, r4, 0; /* Exception address in r4 - delay slot */ 913load1: lbui r5, r4, 0; /* Exception address in r4 - delay slot */
914/* Load a word, byte-by-byte from destination address and save it in tmp space*/ 914/* Load a word, byte-by-byte from destination address and save it in tmp space*/
915 la r6, r0, ex_tmp_data_loc_0; 915 addik r6, r0, ex_tmp_data_loc_0;
916 sbi r5, r6, 0; 916 sbi r5, r6, 0;
917load2: lbui r5, r4, 1; 917load2: lbui r5, r4, 1;
918 sbi r5, r6, 1; 918 sbi r5, r6, 1;
@@ -926,7 +926,7 @@ load4: lbui r5, r4, 3;
926ex_lhw_vm: 926ex_lhw_vm:
927 /* Load a half-word, byte-by-byte from destination address and 927 /* Load a half-word, byte-by-byte from destination address and
928 * save it in tmp space */ 928 * save it in tmp space */
929 la r6, r0, ex_tmp_data_loc_0; 929 addik r6, r0, ex_tmp_data_loc_0;
930 sbi r5, r6, 0; 930 sbi r5, r6, 0;
931load5: lbui r5, r4, 1; 931load5: lbui r5, r4, 1;
932 sbi r5, r6, 1; 932 sbi r5, r6, 1;
@@ -942,7 +942,7 @@ ex_sw_vm:
942 addik r5, r8, sw_table_vm; 942 addik r5, r8, sw_table_vm;
943 bra r5; 943 bra r5;
944ex_sw_tail_vm: 944ex_sw_tail_vm:
945 la r5, r0, ex_tmp_data_loc_0; 945 addik r5, r0, ex_tmp_data_loc_0;
946 beqid r6, ex_shw_vm; 946 beqid r6, ex_shw_vm;
947 swi r3, r5, 0; /* Get the word - delay slot */ 947 swi r3, r5, 0; /* Get the word - delay slot */
948 /* Store the word, byte-by-byte into destination address */ 948 /* Store the word, byte-by-byte into destination address */
@@ -985,7 +985,7 @@ ex_unaligned_fixup:
985 addik r7, r0, SIGSEGV 985 addik r7, r0, SIGSEGV
986 /* call bad_page_fault for finding aligned fixup, fixup address is saved 986 /* call bad_page_fault for finding aligned fixup, fixup address is saved
987 * in PT_PC which is used as return address from exception */ 987 * in PT_PC which is used as return address from exception */
988 la r15, r0, ret_from_exc-8 /* setup return address */ 988 addik r15, r0, ret_from_exc-8 /* setup return address */
989 brid bad_page_fault 989 brid bad_page_fault
990 nop 990 nop
991 991