diff options
Diffstat (limited to 'arch/arm/mm/proc-arm9tdmi.S')
-rw-r--r-- | arch/arm/mm/proc-arm9tdmi.S | 78 |
1 files changed, 18 insertions, 60 deletions
diff --git a/arch/arm/mm/proc-arm9tdmi.S b/arch/arm/mm/proc-arm9tdmi.S index 546b54da1005..2120f9e2af7f 100644 --- a/arch/arm/mm/proc-arm9tdmi.S +++ b/arch/arm/mm/proc-arm9tdmi.S | |||
@@ -17,6 +17,8 @@ | |||
17 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
18 | #include <asm/ptrace.h> | 18 | #include <asm/ptrace.h> |
19 | 19 | ||
20 | #include "proc-macros.S" | ||
21 | |||
20 | .text | 22 | .text |
21 | /* | 23 | /* |
22 | * cpu_arm9tdmi_proc_init() | 24 | * cpu_arm9tdmi_proc_init() |
@@ -55,82 +57,38 @@ __arm9tdmi_setup: | |||
55 | 57 | ||
56 | __INITDATA | 58 | __INITDATA |
57 | 59 | ||
58 | /* | 60 | @ define struct processor (see <asm/proc-fns.h> and proc-macros.S) |
59 | * Purpose : Function pointers used to access above functions - all calls | 61 | define_processor_functions arm9tdmi, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1 |
60 | * come through these | ||
61 | */ | ||
62 | .type arm9tdmi_processor_functions, #object | ||
63 | ENTRY(arm9tdmi_processor_functions) | ||
64 | .word nommu_early_abort | ||
65 | .word legacy_pabort | ||
66 | .word cpu_arm9tdmi_proc_init | ||
67 | .word cpu_arm9tdmi_proc_fin | ||
68 | .word cpu_arm9tdmi_reset | ||
69 | .word cpu_arm9tdmi_do_idle | ||
70 | .word cpu_arm9tdmi_dcache_clean_area | ||
71 | .word cpu_arm9tdmi_switch_mm | ||
72 | .word 0 @ cpu_*_set_pte | ||
73 | .word 0 | ||
74 | .word 0 | ||
75 | .word 0 | ||
76 | .size arm9tdmi_processor_functions, . - arm9tdmi_processor_functions | ||
77 | 62 | ||
78 | .section ".rodata" | 63 | .section ".rodata" |
79 | 64 | ||
80 | .type cpu_arch_name, #object | 65 | string cpu_arch_name, "armv4t" |
81 | cpu_arch_name: | 66 | string cpu_elf_name, "v4" |
82 | .asciz "armv4t" | 67 | string cpu_arm9tdmi_name, "ARM9TDMI" |
83 | .size cpu_arch_name, . - cpu_arch_name | 68 | string cpu_p2001_name, "P2001" |
84 | |||
85 | .type cpu_elf_name, #object | ||
86 | cpu_elf_name: | ||
87 | .asciz "v4" | ||
88 | .size cpu_elf_name, . - cpu_elf_name | ||
89 | |||
90 | .type cpu_arm9tdmi_name, #object | ||
91 | cpu_arm9tdmi_name: | ||
92 | .asciz "ARM9TDMI" | ||
93 | .size cpu_arm9tdmi_name, . - cpu_arm9tdmi_name | ||
94 | |||
95 | .type cpu_p2001_name, #object | ||
96 | cpu_p2001_name: | ||
97 | .asciz "P2001" | ||
98 | .size cpu_p2001_name, . - cpu_p2001_name | ||
99 | 69 | ||
100 | .align | 70 | .align |
101 | 71 | ||
102 | .section ".proc.info.init", #alloc, #execinstr | 72 | .section ".proc.info.init", #alloc, #execinstr |
103 | 73 | ||
104 | .type __arm9tdmi_proc_info, #object | 74 | .macro arm9tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req |
105 | __arm9tdmi_proc_info: | 75 | .type __\name\()_proc_info, #object |
106 | .long 0x41009900 | 76 | __\name\()_proc_info: |
107 | .long 0xfff8ff00 | 77 | .long \cpu_val |
78 | .long \cpu_mask | ||
108 | .long 0 | 79 | .long 0 |
109 | .long 0 | 80 | .long 0 |
110 | b __arm9tdmi_setup | 81 | b __arm9tdmi_setup |
111 | .long cpu_arch_name | 82 | .long cpu_arch_name |
112 | .long cpu_elf_name | 83 | .long cpu_elf_name |
113 | .long HWCAP_SWP | HWCAP_THUMB | HWCAP_26BIT | 84 | .long HWCAP_SWP | HWCAP_THUMB | HWCAP_26BIT |
114 | .long cpu_arm9tdmi_name | 85 | .long \cpu_name |
115 | .long arm9tdmi_processor_functions | 86 | .long arm9tdmi_processor_functions |
116 | .long 0 | 87 | .long 0 |
117 | .long 0 | 88 | .long 0 |
118 | .long v4_cache_fns | 89 | .long v4_cache_fns |
119 | .size __arm9tdmi_proc_info, . - __arm9tdmi_proc_info | 90 | .size __\name\()_proc_info, . - __\name\()_proc_info |
91 | .endm | ||
120 | 92 | ||
121 | .type __p2001_proc_info, #object | 93 | arm9tdmi_proc_info arm9tdmi, 0x41009900, 0xfff8ff00, cpu_arm9tdmi_name |
122 | __p2001_proc_info: | 94 | arm9tdmi_proc_info p2001, 0x41029000, 0xffffffff, cpu_p2001_name |
123 | .long 0x41029000 | ||
124 | .long 0xffffffff | ||
125 | .long 0 | ||
126 | .long 0 | ||
127 | b __arm9tdmi_setup | ||
128 | .long cpu_arch_name | ||
129 | .long cpu_elf_name | ||
130 | .long HWCAP_SWP | HWCAP_THUMB | HWCAP_26BIT | ||
131 | .long cpu_p2001_name | ||
132 | .long arm9tdmi_processor_functions | ||
133 | .long 0 | ||
134 | .long 0 | ||
135 | .long v4_cache_fns | ||
136 | .size __p2001_proc_info, . - __p2001_proc_info | ||