mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 16:44:10 +08:00
790756c7e0
It looks like a section directive was using "Solaris style" to declare the section flags. Replace this with the GNU style so that Clang's integrated assembler can assemble this directive. The modified instances were identified via: $ ag \.section | grep # Link: https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119 Link: https://github.com/ClangBuiltLinux/linux/issues/744 Link: https://bugs.llvm.org/show_bug.cgi?id=43759 Link: https://reviews.llvm.org/D69296 Acked-by: Nicolas Pitre <nico@fluxnic.net> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Suggested-by: Fangrui Song <maskray@google.com> Suggested-by: Jian Cai <jiancai@google.com> Suggested-by: Peter Smith <peter.smith@linaro.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
92 lines
2.1 KiB
ArmAsm
92 lines
2.1 KiB
ArmAsm
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* linux/arch/arm/mm/proc-arm9tdmi.S: utility functions for ARM9TDMI
|
|
*
|
|
* Copyright (C) 2003-2006 Hyok S. Choi <hyok.choi@samsung.com>
|
|
*/
|
|
#include <linux/linkage.h>
|
|
#include <linux/init.h>
|
|
#include <asm/assembler.h>
|
|
#include <asm/asm-offsets.h>
|
|
#include <asm/hwcap.h>
|
|
#include <asm/pgtable-hwdef.h>
|
|
#include <asm/pgtable.h>
|
|
#include <asm/ptrace.h>
|
|
|
|
#include "proc-macros.S"
|
|
|
|
.text
|
|
/*
|
|
* cpu_arm9tdmi_proc_init()
|
|
* cpu_arm9tdmi_do_idle()
|
|
* cpu_arm9tdmi_dcache_clean_area()
|
|
* cpu_arm9tdmi_switch_mm()
|
|
*
|
|
* These are not required.
|
|
*/
|
|
ENTRY(cpu_arm9tdmi_proc_init)
|
|
ENTRY(cpu_arm9tdmi_do_idle)
|
|
ENTRY(cpu_arm9tdmi_dcache_clean_area)
|
|
ENTRY(cpu_arm9tdmi_switch_mm)
|
|
ret lr
|
|
|
|
/*
|
|
* cpu_arm9tdmi_proc_fin()
|
|
*/
|
|
ENTRY(cpu_arm9tdmi_proc_fin)
|
|
ret lr
|
|
|
|
/*
|
|
* Function: cpu_arm9tdmi_reset(loc)
|
|
* Params : loc(r0) address to jump to
|
|
* Purpose : Sets up everything for a reset and jump to the location for soft reset.
|
|
*/
|
|
.pushsection .idmap.text, "ax"
|
|
ENTRY(cpu_arm9tdmi_reset)
|
|
ret r0
|
|
ENDPROC(cpu_arm9tdmi_reset)
|
|
.popsection
|
|
|
|
.type __arm9tdmi_setup, #function
|
|
__arm9tdmi_setup:
|
|
ret lr
|
|
.size __arm9tdmi_setup, . - __arm9tdmi_setup
|
|
|
|
__INITDATA
|
|
|
|
@ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
|
|
define_processor_functions arm9tdmi, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1
|
|
|
|
.section ".rodata"
|
|
|
|
string cpu_arch_name, "armv4t"
|
|
string cpu_elf_name, "v4"
|
|
string cpu_arm9tdmi_name, "ARM9TDMI"
|
|
string cpu_p2001_name, "P2001"
|
|
|
|
.align
|
|
|
|
.section ".proc.info.init", "a"
|
|
|
|
.macro arm9tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req
|
|
.type __\name\()_proc_info, #object
|
|
__\name\()_proc_info:
|
|
.long \cpu_val
|
|
.long \cpu_mask
|
|
.long 0
|
|
.long 0
|
|
initfn __arm9tdmi_setup, __\name\()_proc_info
|
|
.long cpu_arch_name
|
|
.long cpu_elf_name
|
|
.long HWCAP_SWP | HWCAP_THUMB | HWCAP_26BIT
|
|
.long \cpu_name
|
|
.long arm9tdmi_processor_functions
|
|
.long 0
|
|
.long 0
|
|
.long v4_cache_fns
|
|
.size __\name\()_proc_info, . - __\name\()_proc_info
|
|
.endm
|
|
|
|
arm9tdmi_proc_info arm9tdmi, 0x41009900, 0xfff8ff00, cpu_arm9tdmi_name
|
|
arm9tdmi_proc_info p2001, 0x41029000, 0xffffffff, cpu_p2001_name
|