1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * linux/arch/arm/mm/proc-arm7tdmi.S: utility 4 * 5 * Copyright (C) 2003-2006 Hyok S. Choi <hyok. 6 */ 7 #include <linux/linkage.h> 8 #include <linux/init.h> 9 #include <linux/cfi_types.h> 10 #include <linux/pgtable.h> 11 #include <asm/assembler.h> 12 #include <asm/asm-offsets.h> 13 #include <asm/hwcap.h> 14 #include <asm/pgtable-hwdef.h> 15 #include <asm/ptrace.h> 16 17 #include "proc-macros.S" 18 19 .text 20 /* 21 * cpu_arm7tdmi_proc_init() 22 * cpu_arm7tdmi_do_idle() 23 * cpu_arm7tdmi_dcache_clean_area() 24 * cpu_arm7tdmi_switch_mm() 25 * 26 * These are not required. 27 */ 28 SYM_TYPED_FUNC_START(cpu_arm7tdmi_proc_init) 29 ret lr 30 SYM_FUNC_END(cpu_arm7tdmi_proc_init) 31 32 SYM_TYPED_FUNC_START(cpu_arm7tdmi_do_idle) 33 ret lr 34 SYM_FUNC_END(cpu_arm7tdmi_do_idle) 35 36 SYM_TYPED_FUNC_START(cpu_arm7tdmi_dcache_clean 37 ret lr 38 SYM_FUNC_END(cpu_arm7tdmi_dcache_clean_area) 39 40 SYM_TYPED_FUNC_START(cpu_arm7tdmi_switch_mm) 41 ret lr 42 SYM_FUNC_END(cpu_arm7tdmi_switch_mm) 43 44 /* 45 * cpu_arm7tdmi_proc_fin() 46 */ 47 SYM_TYPED_FUNC_START(cpu_arm7tdmi_proc_fin) 48 ret lr 49 SYM_FUNC_END(cpu_arm7tdmi_proc_fin) 50 51 /* 52 * Function: cpu_arm7tdmi_reset(loc) 53 * Params : loc(r0) address to jump to 54 * Purpose : Sets up everything for a reset an 55 */ 56 .pushsection .idmap.text, " 57 SYM_TYPED_FUNC_START(cpu_arm7tdmi_reset) 58 ret r0 59 SYM_FUNC_END(cpu_arm7tdmi_reset) 60 .popsection 61 62 .type __arm7tdmi_setup, #fun 63 __arm7tdmi_setup: 64 ret lr 65 .size __arm7tdmi_setup, . - 66 67 __INITDATA 68 69 @ define struct processor (see 70 define_processor_functions arm 71 72 .section ".rodata" 73 74 string cpu_arch_name, "armv4t 75 string cpu_elf_name, "v4" 76 string cpu_arm7tdmi_name, "AR 77 string cpu_triscenda7_name, " 78 string cpu_at91_name, "Atmel- 79 string cpu_s3c3410_name, "Sam 80 string cpu_s3c44b0x_name, "Sa 81 string cpu_s3c4510b_name, "Sa 82 string cpu_s3c4530_name, "Sam 83 string cpu_netarm_name, "NETA 84 85 .align 86 87 .section ".proc.info.init", "a 88 89 .macro arm7tdmi_proc_info name:req, cpu_val:re 90 extra_hwcaps=0 91 .type __\name\()_proc_info, 92 __\name\()_proc_info: 93 .long \cpu_val 94 .long \cpu_mask 95 .long 0 96 .long 0 97 initfn __arm7tdmi_setup, __\n 98 .long cpu_arch_name 99 .long cpu_elf_name 100 .long HWCAP_SWP | HWCAP_26BI 101 .long \cpu_name 102 .long arm7tdmi_processor_fun 103 .long 0 104 .long 0 105 .long v4_cache_fns 106 .size __\name\()_proc_info, 107 .endm 108 109 arm7tdmi_proc_info arm7tdmi, 0 110 cpu_arm7tdmi_name 111 arm7tdmi_proc_info triscenda7, 112 cpu_triscenda7_name, e 113 arm7tdmi_proc_info at91, 0x140 114 cpu_at91_name, extra_h 115 arm7tdmi_proc_info s3c4510b, 0 116 cpu_s3c4510b_name, ext 117 arm7tdmi_proc_info s3c4530, 0x 118 cpu_s3c4530_name, extr 119 arm7tdmi_proc_info s3c3410, 0x 120 cpu_s3c3410_name, extr 121 arm7tdmi_proc_info s3c44b0x, 0 122 cpu_s3c44b0x_name, ext
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.