diff options
Diffstat (limited to 'arch/parisc/kernel/pacache.S')
-rw-r--r-- | arch/parisc/kernel/pacache.S | 89 |
1 files changed, 34 insertions, 55 deletions
diff --git a/arch/parisc/kernel/pacache.S b/arch/parisc/kernel/pacache.S index e81c9937d10a..90b240878520 100644 --- a/arch/parisc/kernel/pacache.S +++ b/arch/parisc/kernel/pacache.S | |||
@@ -27,31 +27,21 @@ | |||
27 | */ | 27 | */ |
28 | 28 | ||
29 | #ifdef CONFIG_64BIT | 29 | #ifdef CONFIG_64BIT |
30 | #define ADDIB addib,* | ||
31 | #define CMPB cmpb,* | ||
32 | #define ANDCM andcm,* | ||
33 | |||
34 | .level 2.0w | 30 | .level 2.0w |
35 | #else | 31 | #else |
36 | #define ADDIB addib, | ||
37 | #define CMPB cmpb, | ||
38 | #define ANDCM andcm | ||
39 | |||
40 | .level 2.0 | 32 | .level 2.0 |
41 | #endif | 33 | #endif |
42 | 34 | ||
43 | |||
44 | #include <asm/psw.h> | 35 | #include <asm/psw.h> |
45 | #include <asm/assembly.h> | 36 | #include <asm/assembly.h> |
46 | #include <asm/pgtable.h> | 37 | #include <asm/pgtable.h> |
47 | #include <asm/cache.h> | 38 | #include <asm/cache.h> |
39 | #include <linux/linkage.h> | ||
48 | 40 | ||
49 | .text | 41 | .text |
50 | .align 128 | 42 | .align 128 |
51 | 43 | ||
52 | .export flush_tlb_all_local,code | 44 | ENTRY(flush_tlb_all_local) |
53 | |||
54 | flush_tlb_all_local: | ||
55 | .proc | 45 | .proc |
56 | .callinfo NO_CALLS | 46 | .callinfo NO_CALLS |
57 | .entry | 47 | .entry |
@@ -200,11 +190,11 @@ fdtdone: | |||
200 | 190 | ||
201 | .exit | 191 | .exit |
202 | .procend | 192 | .procend |
193 | ENDPROC(flush_tlb_all_local) | ||
203 | 194 | ||
204 | .export flush_instruction_cache_local,code | ||
205 | .import cache_info,data | 195 | .import cache_info,data |
206 | 196 | ||
207 | flush_instruction_cache_local: | 197 | ENTRY(flush_instruction_cache_local) |
208 | .proc | 198 | .proc |
209 | .callinfo NO_CALLS | 199 | .callinfo NO_CALLS |
210 | .entry | 200 | .entry |
@@ -241,11 +231,11 @@ fisync: | |||
241 | .exit | 231 | .exit |
242 | 232 | ||
243 | .procend | 233 | .procend |
234 | ENDPROC(flush_instruction_cache_local) | ||
244 | 235 | ||
245 | .export flush_data_cache_local, code | ||
246 | .import cache_info, data | ||
247 | 236 | ||
248 | flush_data_cache_local: | 237 | .import cache_info, data |
238 | ENTRY(flush_data_cache_local) | ||
249 | .proc | 239 | .proc |
250 | .callinfo NO_CALLS | 240 | .callinfo NO_CALLS |
251 | .entry | 241 | .entry |
@@ -283,11 +273,11 @@ fdsync: | |||
283 | .exit | 273 | .exit |
284 | 274 | ||
285 | .procend | 275 | .procend |
276 | ENDPROC(flush_data_cache_local) | ||
286 | 277 | ||
287 | .export copy_user_page_asm,code | ||
288 | .align 16 | 278 | .align 16 |
289 | 279 | ||
290 | copy_user_page_asm: | 280 | ENTRY(copy_user_page_asm) |
291 | .proc | 281 | .proc |
292 | .callinfo NO_CALLS | 282 | .callinfo NO_CALLS |
293 | .entry | 283 | .entry |
@@ -409,6 +399,7 @@ copy_user_page_asm: | |||
409 | .exit | 399 | .exit |
410 | 400 | ||
411 | .procend | 401 | .procend |
402 | ENDPROC(copy_user_page_asm) | ||
412 | 403 | ||
413 | /* | 404 | /* |
414 | * NOTE: Code in clear_user_page has a hard coded dependency on the | 405 | * NOTE: Code in clear_user_page has a hard coded dependency on the |
@@ -446,9 +437,7 @@ copy_user_page_asm: | |||
446 | * lobby for such a change. | 437 | * lobby for such a change. |
447 | */ | 438 | */ |
448 | 439 | ||
449 | .export copy_user_page_asm,code | 440 | ENTRY(copy_user_page_asm) |
450 | |||
451 | copy_user_page_asm: | ||
452 | .proc | 441 | .proc |
453 | .callinfo NO_CALLS | 442 | .callinfo NO_CALLS |
454 | .entry | 443 | .entry |
@@ -534,11 +523,10 @@ copy_user_page_asm: | |||
534 | .exit | 523 | .exit |
535 | 524 | ||
536 | .procend | 525 | .procend |
526 | ENDPROC(copy_user_page_asm) | ||
537 | #endif | 527 | #endif |
538 | 528 | ||
539 | .export __clear_user_page_asm,code | 529 | ENTRY(__clear_user_page_asm) |
540 | |||
541 | __clear_user_page_asm: | ||
542 | .proc | 530 | .proc |
543 | .callinfo NO_CALLS | 531 | .callinfo NO_CALLS |
544 | .entry | 532 | .entry |
@@ -618,10 +606,9 @@ __clear_user_page_asm: | |||
618 | .exit | 606 | .exit |
619 | 607 | ||
620 | .procend | 608 | .procend |
609 | ENDPROC(__clear_user_page_asm) | ||
621 | 610 | ||
622 | .export flush_kernel_dcache_page_asm | 611 | ENTRY(flush_kernel_dcache_page_asm) |
623 | |||
624 | flush_kernel_dcache_page_asm: | ||
625 | .proc | 612 | .proc |
626 | .callinfo NO_CALLS | 613 | .callinfo NO_CALLS |
627 | .entry | 614 | .entry |
@@ -662,10 +649,9 @@ flush_kernel_dcache_page_asm: | |||
662 | .exit | 649 | .exit |
663 | 650 | ||
664 | .procend | 651 | .procend |
652 | ENDPROC(flush_kernel_dcache_page_asm) | ||
665 | 653 | ||
666 | .export flush_user_dcache_page | 654 | ENTRY(flush_user_dcache_page) |
667 | |||
668 | flush_user_dcache_page: | ||
669 | .proc | 655 | .proc |
670 | .callinfo NO_CALLS | 656 | .callinfo NO_CALLS |
671 | .entry | 657 | .entry |
@@ -706,10 +692,9 @@ flush_user_dcache_page: | |||
706 | .exit | 692 | .exit |
707 | 693 | ||
708 | .procend | 694 | .procend |
695 | ENDPROC(flush_user_dcache_page) | ||
709 | 696 | ||
710 | .export flush_user_icache_page | 697 | ENTRY(flush_user_icache_page) |
711 | |||
712 | flush_user_icache_page: | ||
713 | .proc | 698 | .proc |
714 | .callinfo NO_CALLS | 699 | .callinfo NO_CALLS |
715 | .entry | 700 | .entry |
@@ -750,11 +735,10 @@ flush_user_icache_page: | |||
750 | .exit | 735 | .exit |
751 | 736 | ||
752 | .procend | 737 | .procend |
738 | ENDPROC(flush_user_icache_page) | ||
753 | 739 | ||
754 | 740 | ||
755 | .export purge_kernel_dcache_page | 741 | ENTRY(purge_kernel_dcache_page) |
756 | |||
757 | purge_kernel_dcache_page: | ||
758 | .proc | 742 | .proc |
759 | .callinfo NO_CALLS | 743 | .callinfo NO_CALLS |
760 | .entry | 744 | .entry |
@@ -794,15 +778,14 @@ purge_kernel_dcache_page: | |||
794 | .exit | 778 | .exit |
795 | 779 | ||
796 | .procend | 780 | .procend |
781 | ENDPROC(purge_kernel_dcache_page) | ||
797 | 782 | ||
798 | #if 0 | 783 | #if 0 |
799 | /* Currently not used, but it still is a possible alternate | 784 | /* Currently not used, but it still is a possible alternate |
800 | * solution. | 785 | * solution. |
801 | */ | 786 | */ |
802 | 787 | ||
803 | .export flush_alias_page | 788 | ENTRY(flush_alias_page) |
804 | |||
805 | flush_alias_page: | ||
806 | .proc | 789 | .proc |
807 | .callinfo NO_CALLS | 790 | .callinfo NO_CALLS |
808 | .entry | 791 | .entry |
@@ -882,10 +865,9 @@ flush_user_dcache_range_asm: | |||
882 | .exit | 865 | .exit |
883 | 866 | ||
884 | .procend | 867 | .procend |
868 | ENDPROC(flush_alias_page) | ||
885 | 869 | ||
886 | .export flush_kernel_dcache_range_asm | 870 | ENTRY(flush_kernel_dcache_range_asm) |
887 | |||
888 | flush_kernel_dcache_range_asm: | ||
889 | .proc | 871 | .proc |
890 | .callinfo NO_CALLS | 872 | .callinfo NO_CALLS |
891 | .entry | 873 | .entry |
@@ -905,10 +887,9 @@ flush_kernel_dcache_range_asm: | |||
905 | .exit | 887 | .exit |
906 | 888 | ||
907 | .procend | 889 | .procend |
890 | ENDPROC(flush_kernel_dcache_range_asm) | ||
908 | 891 | ||
909 | .export flush_user_icache_range_asm | 892 | ENTRY(flush_user_icache_range_asm) |
910 | |||
911 | flush_user_icache_range_asm: | ||
912 | .proc | 893 | .proc |
913 | .callinfo NO_CALLS | 894 | .callinfo NO_CALLS |
914 | .entry | 895 | .entry |
@@ -927,10 +908,9 @@ flush_user_icache_range_asm: | |||
927 | .exit | 908 | .exit |
928 | 909 | ||
929 | .procend | 910 | .procend |
911 | ENDPROC(flush_user_icache_range_asm) | ||
930 | 912 | ||
931 | .export flush_kernel_icache_page | 913 | ENTRY(flush_kernel_icache_page) |
932 | |||
933 | flush_kernel_icache_page: | ||
934 | .proc | 914 | .proc |
935 | .callinfo NO_CALLS | 915 | .callinfo NO_CALLS |
936 | .entry | 916 | .entry |
@@ -971,10 +951,9 @@ flush_kernel_icache_page: | |||
971 | .exit | 951 | .exit |
972 | 952 | ||
973 | .procend | 953 | .procend |
954 | ENDPROC(flush_kernel_icache_page) | ||
974 | 955 | ||
975 | .export flush_kernel_icache_range_asm | 956 | ENTRY(flush_kernel_icache_range_asm) |
976 | |||
977 | flush_kernel_icache_range_asm: | ||
978 | .proc | 957 | .proc |
979 | .callinfo NO_CALLS | 958 | .callinfo NO_CALLS |
980 | .entry | 959 | .entry |
@@ -992,14 +971,13 @@ flush_kernel_icache_range_asm: | |||
992 | nop | 971 | nop |
993 | .exit | 972 | .exit |
994 | .procend | 973 | .procend |
974 | ENDPROC(flush_kernel_icache_range_asm) | ||
995 | 975 | ||
996 | /* align should cover use of rfi in disable_sr_hashing_asm and | 976 | /* align should cover use of rfi in disable_sr_hashing_asm and |
997 | * srdis_done. | 977 | * srdis_done. |
998 | */ | 978 | */ |
999 | .align 256 | 979 | .align 256 |
1000 | .export disable_sr_hashing_asm,code | 980 | ENTRY(disable_sr_hashing_asm) |
1001 | |||
1002 | disable_sr_hashing_asm: | ||
1003 | .proc | 981 | .proc |
1004 | .callinfo NO_CALLS | 982 | .callinfo NO_CALLS |
1005 | .entry | 983 | .entry |
@@ -1088,5 +1066,6 @@ srdis_done: | |||
1088 | .exit | 1066 | .exit |
1089 | 1067 | ||
1090 | .procend | 1068 | .procend |
1069 | ENDPROC(disable_sr_hashing_asm) | ||
1091 | 1070 | ||
1092 | .end | 1071 | .end |