mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-20 08:38:24 +08:00
ARM: mm: proc-mohawk: Use the new processor struct macros
This patch also defines a suitable flush_icache_all implementation which would otherwise be missing, resulting in a link failure. Thanks to Nicolas Pitre for suggesting the code for this. Signed-off-by: Dave Martin <dave.martin@linaro.org> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
This commit is contained in:
parent
e43b670e24
commit
a39a32187b
@ -92,6 +92,17 @@ ENTRY(cpu_mohawk_do_idle)
|
||||
mcr p15, 0, r0, c7, c0, 4 @ wait for interrupt
|
||||
mov pc, lr
|
||||
|
||||
/*
|
||||
* flush_icache_all()
|
||||
*
|
||||
* Unconditionally clean and invalidate the entire icache.
|
||||
*/
|
||||
ENTRY(mohawk_flush_icache_all)
|
||||
mov r0, #0
|
||||
mcr p15, 0, r0, c7, c5, 0 @ invalidate I cache
|
||||
mov pc, lr
|
||||
ENDPROC(mohawk_flush_icache_all)
|
||||
|
||||
/*
|
||||
* flush_user_cache_all()
|
||||
*
|
||||
@ -288,16 +299,8 @@ ENTRY(mohawk_dma_unmap_area)
|
||||
mov pc, lr
|
||||
ENDPROC(mohawk_dma_unmap_area)
|
||||
|
||||
ENTRY(mohawk_cache_fns)
|
||||
.long mohawk_flush_kern_cache_all
|
||||
.long mohawk_flush_user_cache_all
|
||||
.long mohawk_flush_user_cache_range
|
||||
.long mohawk_coherent_kern_range
|
||||
.long mohawk_coherent_user_range
|
||||
.long mohawk_flush_kern_dcache_area
|
||||
.long mohawk_dma_map_area
|
||||
.long mohawk_dma_unmap_area
|
||||
.long mohawk_dma_flush_range
|
||||
@ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S)
|
||||
define_cache_functions mohawk
|
||||
|
||||
ENTRY(cpu_mohawk_dcache_clean_area)
|
||||
1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry
|
||||
@ -373,42 +376,14 @@ mohawk_crval:
|
||||
|
||||
__INITDATA
|
||||
|
||||
/*
|
||||
* Purpose : Function pointers used to access above functions - all calls
|
||||
* come through these
|
||||
*/
|
||||
.type mohawk_processor_functions, #object
|
||||
mohawk_processor_functions:
|
||||
.word v5t_early_abort
|
||||
.word legacy_pabort
|
||||
.word cpu_mohawk_proc_init
|
||||
.word cpu_mohawk_proc_fin
|
||||
.word cpu_mohawk_reset
|
||||
.word cpu_mohawk_do_idle
|
||||
.word cpu_mohawk_dcache_clean_area
|
||||
.word cpu_mohawk_switch_mm
|
||||
.word cpu_mohawk_set_pte_ext
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.size mohawk_processor_functions, . - mohawk_processor_functions
|
||||
@ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
|
||||
define_processor_functions mohawk, dabort=v5t_early_abort, pabort=legacy_pabort
|
||||
|
||||
.section ".rodata"
|
||||
|
||||
.type cpu_arch_name, #object
|
||||
cpu_arch_name:
|
||||
.asciz "armv5te"
|
||||
.size cpu_arch_name, . - cpu_arch_name
|
||||
|
||||
.type cpu_elf_name, #object
|
||||
cpu_elf_name:
|
||||
.asciz "v5"
|
||||
.size cpu_elf_name, . - cpu_elf_name
|
||||
|
||||
.type cpu_mohawk_name, #object
|
||||
cpu_mohawk_name:
|
||||
.asciz "Marvell 88SV331x"
|
||||
.size cpu_mohawk_name, . - cpu_mohawk_name
|
||||
string cpu_arch_name, "armv5te"
|
||||
string cpu_elf_name, "v5"
|
||||
string cpu_mohawk_name, "Marvell 88SV331x"
|
||||
|
||||
.align
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user