Commit e43b670e authored by Dave Martin's avatar Dave Martin

ARM: mm: proc-feroceon: Use the new processor struct macros

Signed-off-by: default avatarDave Martin <dave.martin@linaro.org>
Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
parent d6ed10ce
...@@ -411,29 +411,28 @@ ENTRY(feroceon_dma_unmap_area) ...@@ -411,29 +411,28 @@ ENTRY(feroceon_dma_unmap_area)
mov pc, lr mov pc, lr
ENDPROC(feroceon_dma_unmap_area) ENDPROC(feroceon_dma_unmap_area)
ENTRY(feroceon_cache_fns) @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S)
.long feroceon_flush_icache_all define_cache_functions feroceon
.long feroceon_flush_kern_cache_all
.long feroceon_flush_user_cache_all .macro range_alias basename
.long feroceon_flush_user_cache_range .globl feroceon_range_\basename
.long feroceon_coherent_kern_range .type feroceon_range_\basename , %function
.long feroceon_coherent_user_range .equ feroceon_range_\basename , feroceon_\basename
.long feroceon_flush_kern_dcache_area .endm
.long feroceon_dma_map_area
.long feroceon_dma_unmap_area /*
.long feroceon_dma_flush_range * Most of the cache functions are unchanged for this case.
* Export suitable alias symbols for the unchanged functions:
ENTRY(feroceon_range_cache_fns) */
.long feroceon_flush_icache_all range_alias flush_icache_all
.long feroceon_flush_kern_cache_all range_alias flush_user_cache_all
.long feroceon_flush_user_cache_all range_alias flush_kern_cache_all
.long feroceon_flush_user_cache_range range_alias flush_user_cache_range
.long feroceon_coherent_kern_range range_alias coherent_kern_range
.long feroceon_coherent_user_range range_alias coherent_user_range
.long feroceon_range_flush_kern_dcache_area range_alias dma_unmap_area
.long feroceon_range_dma_map_area
.long feroceon_dma_unmap_area define_cache_functions feroceon_range
.long feroceon_range_dma_flush_range
.align 5 .align 5
ENTRY(cpu_feroceon_dcache_clean_area) ENTRY(cpu_feroceon_dcache_clean_area)
...@@ -539,93 +538,27 @@ feroceon_crval: ...@@ -539,93 +538,27 @@ feroceon_crval:
__INITDATA __INITDATA
/* @ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
* Purpose : Function pointers used to access above functions - all calls define_processor_functions feroceon, dabort=v5t_early_abort, pabort=legacy_pabort
* come through these
*/
.type feroceon_processor_functions, #object
feroceon_processor_functions:
.word v5t_early_abort
.word legacy_pabort
.word cpu_feroceon_proc_init
.word cpu_feroceon_proc_fin
.word cpu_feroceon_reset
.word cpu_feroceon_do_idle
.word cpu_feroceon_dcache_clean_area
.word cpu_feroceon_switch_mm
.word cpu_feroceon_set_pte_ext
.word 0
.word 0
.word 0
.size feroceon_processor_functions, . - feroceon_processor_functions
.section ".rodata" .section ".rodata"
.type cpu_arch_name, #object string cpu_arch_name, "armv5te"
cpu_arch_name: string cpu_elf_name, "v5"
.asciz "armv5te" string cpu_feroceon_name, "Feroceon"
.size cpu_arch_name, . - cpu_arch_name string cpu_88fr531_name, "Feroceon 88FR531-vd"
string cpu_88fr571_name, "Feroceon 88FR571-vd"
.type cpu_elf_name, #object string cpu_88fr131_name, "Feroceon 88FR131"
cpu_elf_name:
.asciz "v5"
.size cpu_elf_name, . - cpu_elf_name
.type cpu_feroceon_name, #object
cpu_feroceon_name:
.asciz "Feroceon"
.size cpu_feroceon_name, . - cpu_feroceon_name
.type cpu_88fr531_name, #object
cpu_88fr531_name:
.asciz "Feroceon 88FR531-vd"
.size cpu_88fr531_name, . - cpu_88fr531_name
.type cpu_88fr571_name, #object
cpu_88fr571_name:
.asciz "Feroceon 88FR571-vd"
.size cpu_88fr571_name, . - cpu_88fr571_name
.type cpu_88fr131_name, #object
cpu_88fr131_name:
.asciz "Feroceon 88FR131"
.size cpu_88fr131_name, . - cpu_88fr131_name
.align .align
.section ".proc.info.init", #alloc, #execinstr .section ".proc.info.init", #alloc, #execinstr
#ifdef CONFIG_CPU_FEROCEON_OLD_ID .macro feroceon_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache:req
.type __feroceon_old_id_proc_info,#object .type __\name\()_proc_info,#object
__feroceon_old_id_proc_info: __\name\()_proc_info:
.long 0x41009260 .long \cpu_val
.long 0xff00fff0 .long \cpu_mask
.long PMD_TYPE_SECT | \
PMD_SECT_BUFFERABLE | \
PMD_SECT_CACHEABLE | \
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
.long PMD_TYPE_SECT | \
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
b __feroceon_setup
.long cpu_arch_name
.long cpu_elf_name
.long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
.long cpu_feroceon_name
.long feroceon_processor_functions
.long v4wbi_tlb_fns
.long feroceon_user_fns
.long feroceon_cache_fns
.size __feroceon_old_id_proc_info, . - __feroceon_old_id_proc_info
#endif
.type __88fr531_proc_info,#object
__88fr531_proc_info:
.long 0x56055310
.long 0xfffffff0
.long PMD_TYPE_SECT | \ .long PMD_TYPE_SECT | \
PMD_SECT_BUFFERABLE | \ PMD_SECT_BUFFERABLE | \
PMD_SECT_CACHEABLE | \ PMD_SECT_CACHEABLE | \
...@@ -640,59 +573,22 @@ __88fr531_proc_info: ...@@ -640,59 +573,22 @@ __88fr531_proc_info:
.long cpu_arch_name .long cpu_arch_name
.long cpu_elf_name .long cpu_elf_name
.long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
.long cpu_88fr531_name .long \cpu_name
.long feroceon_processor_functions .long feroceon_processor_functions
.long v4wbi_tlb_fns .long v4wbi_tlb_fns
.long feroceon_user_fns .long feroceon_user_fns
.long feroceon_cache_fns .long \cache
.size __88fr531_proc_info, . - __88fr531_proc_info .size __\name\()_proc_info, . - __\name\()_proc_info
.endm
.type __88fr571_proc_info,#object #ifdef CONFIG_CPU_FEROCEON_OLD_ID
__88fr571_proc_info: feroceon_proc_info feroceon_old_id, 0x41009260, 0xff00fff0, \
.long 0x56155710 cpu_name=cpu_feroceon_name, cache=feroceon_cache_fns
.long 0xfffffff0 #endif
.long PMD_TYPE_SECT | \
PMD_SECT_BUFFERABLE | \
PMD_SECT_CACHEABLE | \
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
.long PMD_TYPE_SECT | \
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
b __feroceon_setup
.long cpu_arch_name
.long cpu_elf_name
.long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
.long cpu_88fr571_name
.long feroceon_processor_functions
.long v4wbi_tlb_fns
.long feroceon_user_fns
.long feroceon_range_cache_fns
.size __88fr571_proc_info, . - __88fr571_proc_info
.type __88fr131_proc_info,#object feroceon_proc_info 88fr531, 0x56055310, 0xfffffff0, cpu_88fr531_name, \
__88fr131_proc_info: cache=feroceon_cache_fns
.long 0x56251310 feroceon_proc_info 88fr571, 0x56155710, 0xfffffff0, cpu_88fr571_name, \
.long 0xfffffff0 cache=feroceon_range_cache_fns
.long PMD_TYPE_SECT | \ feroceon_proc_info 88fr131, 0x56251310, 0xfffffff0, cpu_88fr131_name, \
PMD_SECT_BUFFERABLE | \ cache=feroceon_range_cache_fns
PMD_SECT_CACHEABLE | \
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
.long PMD_TYPE_SECT | \
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
b __feroceon_setup
.long cpu_arch_name
.long cpu_elf_name
.long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
.long cpu_88fr131_name
.long feroceon_processor_functions
.long v4wbi_tlb_fns
.long feroceon_user_fns
.long feroceon_range_cache_fns
.size __88fr131_proc_info, . - __88fr131_proc_info
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment