~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/mm/proc-arm7tdmi.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 /*
  3  *  linux/arch/arm/mm/proc-arm7tdmi.S: utility functions for ARM7TDMI
  4  *
  5  *  Copyright (C) 2003-2006 Hyok S. Choi <hyok.choi@samsung.com>
  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_area)
 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 and jump to the location for soft reset.
 55  */
 56                 .pushsection    .idmap.text, "ax"
 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, #function
 63 __arm7tdmi_setup:
 64                 ret     lr
 65                 .size   __arm7tdmi_setup, . - __arm7tdmi_setup
 66 
 67                 __INITDATA
 68 
 69                 @ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
 70                 define_processor_functions arm7tdmi, dabort=v4t_late_abort, pabort=legacy_pabort, nommu=1
 71 
 72                 .section ".rodata"
 73 
 74                 string  cpu_arch_name, "armv4t"
 75                 string  cpu_elf_name, "v4"
 76                 string  cpu_arm7tdmi_name, "ARM7TDMI"
 77                 string  cpu_triscenda7_name, "Triscend-A7x"
 78                 string  cpu_at91_name, "Atmel-AT91M40xxx"
 79                 string  cpu_s3c3410_name, "Samsung-S3C3410"
 80                 string  cpu_s3c44b0x_name, "Samsung-S3C44B0x"
 81                 string  cpu_s3c4510b_name, "Samsung-S3C4510B"
 82                 string  cpu_s3c4530_name, "Samsung-S3C4530"
 83                 string  cpu_netarm_name, "NETARM"
 84 
 85                 .align
 86 
 87                 .section ".proc.info.init", "a"
 88 
 89 .macro arm7tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, \
 90         extra_hwcaps=0
 91                 .type   __\name\()_proc_info, #object
 92 __\name\()_proc_info:
 93                 .long   \cpu_val
 94                 .long   \cpu_mask
 95                 .long   0
 96                 .long   0
 97                 initfn  __arm7tdmi_setup, __\name\()_proc_info
 98                 .long   cpu_arch_name
 99                 .long   cpu_elf_name
100                 .long   HWCAP_SWP | HWCAP_26BIT | ( \extra_hwcaps )
101                 .long   \cpu_name
102                 .long   arm7tdmi_processor_functions
103                 .long   0
104                 .long   0
105                 .long   v4_cache_fns
106                 .size   __\name\()_proc_info, . - __\name\()_proc_info
107 .endm
108 
109                 arm7tdmi_proc_info arm7tdmi, 0x41007700, 0xfff8ff00, \
110                         cpu_arm7tdmi_name
111                 arm7tdmi_proc_info triscenda7, 0x0001d2ff, 0x0001ffff, \
112                         cpu_triscenda7_name, extra_hwcaps=HWCAP_THUMB
113                 arm7tdmi_proc_info at91, 0x14000040, 0xfff000e0, \
114                         cpu_at91_name, extra_hwcaps=HWCAP_THUMB
115                 arm7tdmi_proc_info s3c4510b, 0x36365000, 0xfffff000, \
116                         cpu_s3c4510b_name, extra_hwcaps=HWCAP_THUMB
117                 arm7tdmi_proc_info s3c4530, 0x4c000000, 0xfff000e0, \
118                         cpu_s3c4530_name, extra_hwcaps=HWCAP_THUMB
119                 arm7tdmi_proc_info s3c3410, 0x34100000, 0xffff0000, \
120                         cpu_s3c3410_name, extra_hwcaps=HWCAP_THUMB
121                 arm7tdmi_proc_info s3c44b0x, 0x44b00000, 0xffff0000, \
122                         cpu_s3c44b0x_name, extra_hwcaps=HWCAP_THUMB

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php