diff options
author | Michal Simek <monstr@monstr.eu> | 2011-02-01 03:00:57 -0500 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2011-03-09 02:09:54 -0500 |
commit | cd3415779bdb13e3daaf13965c89d286a0cf0480 (patch) | |
tree | 845a2ab0a2f7e4f23b2c84fe6c1e0432d8cf34ae /arch/microblaze | |
parent | 6e83557c38b40d6e9d1c82ad0ae59d8e5db9c50c (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.S | 4 | ||||
-rw-r--r-- | arch/microblaze/kernel/entry.S | 2 | ||||
-rw-r--r-- | arch/microblaze/kernel/head.S | 12 | ||||
-rw-r--r-- | arch/microblaze/kernel/hw_exception_handler.S | 12 |
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 */ |
289 | 1: | 289 | 1: |
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; |
913 | load1: lbui r5, r4, 0; /* Exception address in r4 - delay slot */ | 913 | load1: 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; |
917 | load2: lbui r5, r4, 1; | 917 | load2: lbui r5, r4, 1; |
918 | sbi r5, r6, 1; | 918 | sbi r5, r6, 1; |
@@ -926,7 +926,7 @@ load4: lbui r5, r4, 3; | |||
926 | ex_lhw_vm: | 926 | ex_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; |
931 | load5: lbui r5, r4, 1; | 931 | load5: 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; |
944 | ex_sw_tail_vm: | 944 | ex_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 | ||