Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branches 'clkdev', 'fixes', 'misc' and 'sa1100-base' into for-linus

+606 -1601
-1
arch/arm/include/asm/Kbuild
··· 8 8 generic-y += emergency-restart.h 9 9 generic-y += errno.h 10 10 generic-y += exec.h 11 - generic-y += export.h 12 11 generic-y += ioctl.h 13 12 generic-y += ipcbuf.h 14 13 generic-y += irq_regs.h
+27
arch/arm/include/asm/delay.h
··· 9 9 #include <asm/memory.h> 10 10 #include <asm/param.h> /* HZ */ 11 11 12 + /* 13 + * Loop (or tick) based delay: 14 + * 15 + * loops = loops_per_jiffy * jiffies_per_sec * delay_us / us_per_sec 16 + * 17 + * where: 18 + * 19 + * jiffies_per_sec = HZ 20 + * us_per_sec = 1000000 21 + * 22 + * Therefore the constant part is HZ / 1000000 which is a small 23 + * fractional number. To make this usable with integer math, we 24 + * scale up this constant by 2^31, perform the actual multiplication, 25 + * and scale the result back down by 2^31 with a simple shift: 26 + * 27 + * loops = (loops_per_jiffy * delay_us * UDELAY_MULT) >> 31 28 + * 29 + * where: 30 + * 31 + * UDELAY_MULT = 2^31 * HZ / 1000000 32 + * = (2^31 / 1000000) * HZ 33 + * = 2147.483648 * HZ 34 + * = 2147 * HZ + 483648 * HZ / 1000000 35 + * 36 + * 31 is the biggest scale shift value that won't overflow 32 bits for 37 + * delay_us * UDELAY_MULT assuming HZ <= 1000 and delay_us <= 2000. 38 + */ 12 39 #define MAX_UDELAY_MS 2 13 40 #define UDELAY_MULT UL(2147 * HZ + 483648 * HZ / 1000000) 14 41 #define UDELAY_SHIFT 31
+1 -1
arch/arm/include/asm/unistd.h
··· 19 19 * This may need to be greater than __NR_last_syscall+1 in order to 20 20 * account for the padding in the syscall table 21 21 */ 22 - #define __NR_syscalls (396) 22 + #define __NR_syscalls (400) 23 23 24 24 #define __ARCH_WANT_STAT64 25 25 #define __ARCH_WANT_SYS_GETHOSTNAME
+3
arch/arm/include/uapi/asm/unistd.h
··· 420 420 #define __NR_copy_file_range (__NR_SYSCALL_BASE+391) 421 421 #define __NR_preadv2 (__NR_SYSCALL_BASE+392) 422 422 #define __NR_pwritev2 (__NR_SYSCALL_BASE+393) 423 + #define __NR_pkey_mprotect (__NR_SYSCALL_BASE+394) 424 + #define __NR_pkey_alloc (__NR_SYSCALL_BASE+395) 425 + #define __NR_pkey_free (__NR_SYSCALL_BASE+396) 423 426 424 427 /* 425 428 * The following SWIs are ARM private.
+1 -1
arch/arm/kernel/Makefile
··· 33 33 obj-$(CONFIG_CPU_IDLE) += cpuidle.o 34 34 obj-$(CONFIG_ISA_DMA_API) += dma.o 35 35 obj-$(CONFIG_FIQ) += fiq.o fiqasm.o 36 - obj-$(CONFIG_MODULES) += module.o 36 + obj-$(CONFIG_MODULES) += armksyms.o module.o 37 37 obj-$(CONFIG_ARM_MODULE_PLTS) += module-plts.o 38 38 obj-$(CONFIG_ISA_DMA) += dma-isa.o 39 39 obj-$(CONFIG_PCI) += bios32.o isa.o
+183
arch/arm/kernel/armksyms.c
··· 1 + /* 2 + * linux/arch/arm/kernel/armksyms.c 3 + * 4 + * Copyright (C) 2000 Russell King 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License version 2 as 8 + * published by the Free Software Foundation. 9 + */ 10 + #include <linux/export.h> 11 + #include <linux/sched.h> 12 + #include <linux/string.h> 13 + #include <linux/cryptohash.h> 14 + #include <linux/delay.h> 15 + #include <linux/in6.h> 16 + #include <linux/syscalls.h> 17 + #include <linux/uaccess.h> 18 + #include <linux/io.h> 19 + #include <linux/arm-smccc.h> 20 + 21 + #include <asm/checksum.h> 22 + #include <asm/ftrace.h> 23 + 24 + /* 25 + * libgcc functions - functions that are used internally by the 26 + * compiler... (prototypes are not correct though, but that 27 + * doesn't really matter since they're not versioned). 28 + */ 29 + extern void __ashldi3(void); 30 + extern void __ashrdi3(void); 31 + extern void __divsi3(void); 32 + extern void __lshrdi3(void); 33 + extern void __modsi3(void); 34 + extern void __muldi3(void); 35 + extern void __ucmpdi2(void); 36 + extern void __udivsi3(void); 37 + extern void __umodsi3(void); 38 + extern void __do_div64(void); 39 + extern void __bswapsi2(void); 40 + extern void __bswapdi2(void); 41 + 42 + extern void __aeabi_idiv(void); 43 + extern void __aeabi_idivmod(void); 44 + extern void __aeabi_lasr(void); 45 + extern void __aeabi_llsl(void); 46 + extern void __aeabi_llsr(void); 47 + extern void __aeabi_lmul(void); 48 + extern void __aeabi_uidiv(void); 49 + extern void __aeabi_uidivmod(void); 50 + extern void __aeabi_ulcmp(void); 51 + 52 + extern void fpundefinstr(void); 53 + 54 + void mmioset(void *, unsigned int, size_t); 55 + void mmiocpy(void *, const void *, size_t); 56 + 57 + /* platform dependent support */ 58 + EXPORT_SYMBOL(arm_delay_ops); 59 + 60 + /* networking */ 61 + EXPORT_SYMBOL(csum_partial); 62 + EXPORT_SYMBOL(csum_partial_copy_from_user); 63 + EXPORT_SYMBOL(csum_partial_copy_nocheck); 64 + EXPORT_SYMBOL(__csum_ipv6_magic); 65 + 66 + /* io */ 67 + #ifndef __raw_readsb 68 + EXPORT_SYMBOL(__raw_readsb); 69 + #endif 70 + #ifndef __raw_readsw 71 + EXPORT_SYMBOL(__raw_readsw); 72 + #endif 73 + #ifndef __raw_readsl 74 + EXPORT_SYMBOL(__raw_readsl); 75 + #endif 76 + #ifndef __raw_writesb 77 + EXPORT_SYMBOL(__raw_writesb); 78 + #endif 79 + #ifndef __raw_writesw 80 + EXPORT_SYMBOL(__raw_writesw); 81 + #endif 82 + #ifndef __raw_writesl 83 + EXPORT_SYMBOL(__raw_writesl); 84 + #endif 85 + 86 + /* string / mem functions */ 87 + EXPORT_SYMBOL(strchr); 88 + EXPORT_SYMBOL(strrchr); 89 + EXPORT_SYMBOL(memset); 90 + EXPORT_SYMBOL(memcpy); 91 + EXPORT_SYMBOL(memmove); 92 + EXPORT_SYMBOL(memchr); 93 + EXPORT_SYMBOL(__memzero); 94 + 95 + EXPORT_SYMBOL(mmioset); 96 + EXPORT_SYMBOL(mmiocpy); 97 + 98 + #ifdef CONFIG_MMU 99 + EXPORT_SYMBOL(copy_page); 100 + 101 + EXPORT_SYMBOL(arm_copy_from_user); 102 + EXPORT_SYMBOL(arm_copy_to_user); 103 + EXPORT_SYMBOL(arm_clear_user); 104 + 105 + EXPORT_SYMBOL(__get_user_1); 106 + EXPORT_SYMBOL(__get_user_2); 107 + EXPORT_SYMBOL(__get_user_4); 108 + EXPORT_SYMBOL(__get_user_8); 109 + 110 + #ifdef __ARMEB__ 111 + EXPORT_SYMBOL(__get_user_64t_1); 112 + EXPORT_SYMBOL(__get_user_64t_2); 113 + EXPORT_SYMBOL(__get_user_64t_4); 114 + EXPORT_SYMBOL(__get_user_32t_8); 115 + #endif 116 + 117 + EXPORT_SYMBOL(__put_user_1); 118 + EXPORT_SYMBOL(__put_user_2); 119 + EXPORT_SYMBOL(__put_user_4); 120 + EXPORT_SYMBOL(__put_user_8); 121 + #endif 122 + 123 + /* gcc lib functions */ 124 + EXPORT_SYMBOL(__ashldi3); 125 + EXPORT_SYMBOL(__ashrdi3); 126 + EXPORT_SYMBOL(__divsi3); 127 + EXPORT_SYMBOL(__lshrdi3); 128 + EXPORT_SYMBOL(__modsi3); 129 + EXPORT_SYMBOL(__muldi3); 130 + EXPORT_SYMBOL(__ucmpdi2); 131 + EXPORT_SYMBOL(__udivsi3); 132 + EXPORT_SYMBOL(__umodsi3); 133 + EXPORT_SYMBOL(__do_div64); 134 + EXPORT_SYMBOL(__bswapsi2); 135 + EXPORT_SYMBOL(__bswapdi2); 136 + 137 + #ifdef CONFIG_AEABI 138 + EXPORT_SYMBOL(__aeabi_idiv); 139 + EXPORT_SYMBOL(__aeabi_idivmod); 140 + EXPORT_SYMBOL(__aeabi_lasr); 141 + EXPORT_SYMBOL(__aeabi_llsl); 142 + EXPORT_SYMBOL(__aeabi_llsr); 143 + EXPORT_SYMBOL(__aeabi_lmul); 144 + EXPORT_SYMBOL(__aeabi_uidiv); 145 + EXPORT_SYMBOL(__aeabi_uidivmod); 146 + EXPORT_SYMBOL(__aeabi_ulcmp); 147 + #endif 148 + 149 + /* bitops */ 150 + EXPORT_SYMBOL(_set_bit); 151 + EXPORT_SYMBOL(_test_and_set_bit); 152 + EXPORT_SYMBOL(_clear_bit); 153 + EXPORT_SYMBOL(_test_and_clear_bit); 154 + EXPORT_SYMBOL(_change_bit); 155 + EXPORT_SYMBOL(_test_and_change_bit); 156 + EXPORT_SYMBOL(_find_first_zero_bit_le); 157 + EXPORT_SYMBOL(_find_next_zero_bit_le); 158 + EXPORT_SYMBOL(_find_first_bit_le); 159 + EXPORT_SYMBOL(_find_next_bit_le); 160 + 161 + #ifdef __ARMEB__ 162 + EXPORT_SYMBOL(_find_first_zero_bit_be); 163 + EXPORT_SYMBOL(_find_next_zero_bit_be); 164 + EXPORT_SYMBOL(_find_first_bit_be); 165 + EXPORT_SYMBOL(_find_next_bit_be); 166 + #endif 167 + 168 + #ifdef CONFIG_FUNCTION_TRACER 169 + #ifdef CONFIG_OLD_MCOUNT 170 + EXPORT_SYMBOL(mcount); 171 + #endif 172 + EXPORT_SYMBOL(__gnu_mcount_nc); 173 + #endif 174 + 175 + #ifdef CONFIG_ARM_PATCH_PHYS_VIRT 176 + EXPORT_SYMBOL(__pv_phys_pfn_offset); 177 + EXPORT_SYMBOL(__pv_offset); 178 + #endif 179 + 180 + #ifdef CONFIG_HAVE_ARM_SMCCC 181 + EXPORT_SYMBOL(arm_smccc_smc); 182 + EXPORT_SYMBOL(arm_smccc_hvc); 183 + #endif
+3
arch/arm/kernel/calls.S
··· 403 403 CALL(sys_copy_file_range) 404 404 CALL(sys_preadv2) 405 405 CALL(sys_pwritev2) 406 + CALL(sys_pkey_mprotect) 407 + /* 395 */ CALL(sys_pkey_alloc) 408 + CALL(sys_pkey_free) 406 409 #ifndef syscalls_counted 407 410 .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls 408 411 #define syscalls_counted
-3
arch/arm/kernel/entry-ftrace.S
··· 7 7 #include <asm/assembler.h> 8 8 #include <asm/ftrace.h> 9 9 #include <asm/unwind.h> 10 - #include <asm/export.h> 11 10 12 11 #include "entry-header.S" 13 12 ··· 153 154 __mcount _old 154 155 #endif 155 156 ENDPROC(mcount) 156 - EXPORT_SYMBOL(mcount) 157 157 158 158 #ifdef CONFIG_DYNAMIC_FTRACE 159 159 ENTRY(ftrace_caller_old) ··· 205 207 #endif 206 208 UNWIND(.fnend) 207 209 ENDPROC(__gnu_mcount_nc) 208 - EXPORT_SYMBOL(__gnu_mcount_nc) 209 210 210 211 #ifdef CONFIG_DYNAMIC_FTRACE 211 212 ENTRY(ftrace_caller)
-3
arch/arm/kernel/head.S
··· 22 22 #include <asm/memory.h> 23 23 #include <asm/thread_info.h> 24 24 #include <asm/pgtable.h> 25 - #include <asm/export.h> 26 25 27 26 #if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING) 28 27 #include CONFIG_DEBUG_LL_INCLUDE ··· 727 728 __pv_offset: 728 729 .quad 0 729 730 .size __pv_offset, . -__pv_offset 730 - EXPORT_SYMBOL(__pv_phys_pfn_offset) 731 - EXPORT_SYMBOL(__pv_offset) 732 731 #endif 733 732 734 733 #include "head-common.S"
-3
arch/arm/kernel/smccc-call.S
··· 16 16 #include <asm/opcodes-sec.h> 17 17 #include <asm/opcodes-virt.h> 18 18 #include <asm/unwind.h> 19 - #include <asm/export.h> 20 19 21 20 /* 22 21 * Wrap c macros in asm macros to delay expansion until after the ··· 51 52 ENTRY(arm_smccc_smc) 52 53 SMCCC SMCCC_SMC 53 54 ENDPROC(arm_smccc_smc) 54 - EXPORT_SYMBOL(arm_smccc_smc) 55 55 56 56 /* 57 57 * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2, ··· 60 62 ENTRY(arm_smccc_hvc) 61 63 SMCCC SMCCC_HVC 62 64 ENDPROC(arm_smccc_hvc) 63 - EXPORT_SYMBOL(arm_smccc_hvc)
+219 -1
arch/arm/kernel/topology.c
··· 12 12 */ 13 13 14 14 #include <linux/cpu.h> 15 + #include <linux/cpufreq.h> 15 16 #include <linux/cpumask.h> 16 17 #include <linux/export.h> 17 18 #include <linux/init.h> ··· 22 21 #include <linux/of.h> 23 22 #include <linux/sched.h> 24 23 #include <linux/slab.h> 24 + #include <linux/string.h> 25 25 26 + #include <asm/cpu.h> 26 27 #include <asm/cputype.h> 27 28 #include <asm/topology.h> 28 29 ··· 44 41 * updated during this sequence. 45 42 */ 46 43 static DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE; 44 + static DEFINE_MUTEX(cpu_scale_mutex); 47 45 48 46 unsigned long arch_scale_cpu_capacity(struct sched_domain *sd, int cpu) 49 47 { ··· 55 51 { 56 52 per_cpu(cpu_scale, cpu) = capacity; 57 53 } 54 + 55 + #ifdef CONFIG_PROC_SYSCTL 56 + static ssize_t cpu_capacity_show(struct device *dev, 57 + struct device_attribute *attr, 58 + char *buf) 59 + { 60 + struct cpu *cpu = container_of(dev, struct cpu, dev); 61 + 62 + return sprintf(buf, "%lu\n", 63 + arch_scale_cpu_capacity(NULL, cpu->dev.id)); 64 + } 65 + 66 + static ssize_t cpu_capacity_store(struct device *dev, 67 + struct device_attribute *attr, 68 + const char *buf, 69 + size_t count) 70 + { 71 + struct cpu *cpu = container_of(dev, struct cpu, dev); 72 + int this_cpu = cpu->dev.id, i; 73 + unsigned long new_capacity; 74 + ssize_t ret; 75 + 76 + if (count) { 77 + ret = kstrtoul(buf, 0, &new_capacity); 78 + if (ret) 79 + return ret; 80 + if (new_capacity > SCHED_CAPACITY_SCALE) 81 + return -EINVAL; 82 + 83 + mutex_lock(&cpu_scale_mutex); 84 + for_each_cpu(i, &cpu_topology[this_cpu].core_sibling) 85 + set_capacity_scale(i, new_capacity); 86 + mutex_unlock(&cpu_scale_mutex); 87 + } 88 + 89 + return count; 90 + } 91 + 92 + static DEVICE_ATTR_RW(cpu_capacity); 93 + 94 + static int register_cpu_capacity_sysctl(void) 95 + { 96 + int i; 97 + struct device *cpu; 98 + 99 + for_each_possible_cpu(i) { 100 + cpu = get_cpu_device(i); 101 + if (!cpu) { 102 + pr_err("%s: too early to get CPU%d device!\n", 103 + __func__, i); 104 + continue; 105 + } 106 + device_create_file(cpu, &dev_attr_cpu_capacity); 107 + } 108 + 109 + return 0; 110 + } 111 + subsys_initcall(register_cpu_capacity_sysctl); 112 + #endif 58 113 59 114 #ifdef CONFIG_OF 60 115 struct cpu_efficiency { ··· 141 78 #define cpu_capacity(cpu) __cpu_capacity[cpu] 142 79 143 80 static unsigned long middle_capacity = 1; 81 + static bool cap_from_dt = true; 82 + static u32 *raw_capacity; 83 + static bool cap_parsing_failed; 84 + static u32 capacity_scale; 85 + 86 + static int __init parse_cpu_capacity(struct device_node *cpu_node, int cpu) 87 + { 88 + int ret = 1; 89 + u32 cpu_capacity; 90 + 91 + if (cap_parsing_failed) 92 + return !ret; 93 + 94 + ret = of_property_read_u32(cpu_node, 95 + "capacity-dmips-mhz", 96 + &cpu_capacity); 97 + if (!ret) { 98 + if (!raw_capacity) { 99 + raw_capacity = kcalloc(num_possible_cpus(), 100 + sizeof(*raw_capacity), 101 + GFP_KERNEL); 102 + if (!raw_capacity) { 103 + pr_err("cpu_capacity: failed to allocate memory for raw capacities\n"); 104 + cap_parsing_failed = true; 105 + return !ret; 106 + } 107 + } 108 + capacity_scale = max(cpu_capacity, capacity_scale); 109 + raw_capacity[cpu] = cpu_capacity; 110 + pr_debug("cpu_capacity: %s cpu_capacity=%u (raw)\n", 111 + cpu_node->full_name, raw_capacity[cpu]); 112 + } else { 113 + if (raw_capacity) { 114 + pr_err("cpu_capacity: missing %s raw capacity\n", 115 + cpu_node->full_name); 116 + pr_err("cpu_capacity: partial information: fallback to 1024 for all CPUs\n"); 117 + } 118 + cap_parsing_failed = true; 119 + kfree(raw_capacity); 120 + } 121 + 122 + return !ret; 123 + } 124 + 125 + static void normalize_cpu_capacity(void) 126 + { 127 + u64 capacity; 128 + int cpu; 129 + 130 + if (!raw_capacity || cap_parsing_failed) 131 + return; 132 + 133 + pr_debug("cpu_capacity: capacity_scale=%u\n", capacity_scale); 134 + mutex_lock(&cpu_scale_mutex); 135 + for_each_possible_cpu(cpu) { 136 + capacity = (raw_capacity[cpu] << SCHED_CAPACITY_SHIFT) 137 + / capacity_scale; 138 + set_capacity_scale(cpu, capacity); 139 + pr_debug("cpu_capacity: CPU%d cpu_capacity=%lu\n", 140 + cpu, arch_scale_cpu_capacity(NULL, cpu)); 141 + } 142 + mutex_unlock(&cpu_scale_mutex); 143 + } 144 + 145 + #ifdef CONFIG_CPU_FREQ 146 + static cpumask_var_t cpus_to_visit; 147 + static bool cap_parsing_done; 148 + static void parsing_done_workfn(struct work_struct *work); 149 + static DECLARE_WORK(parsing_done_work, parsing_done_workfn); 150 + 151 + static int 152 + init_cpu_capacity_callback(struct notifier_block *nb, 153 + unsigned long val, 154 + void *data) 155 + { 156 + struct cpufreq_policy *policy = data; 157 + int cpu; 158 + 159 + if (cap_parsing_failed || cap_parsing_done) 160 + return 0; 161 + 162 + switch (val) { 163 + case CPUFREQ_NOTIFY: 164 + pr_debug("cpu_capacity: init cpu capacity for CPUs [%*pbl] (to_visit=%*pbl)\n", 165 + cpumask_pr_args(policy->related_cpus), 166 + cpumask_pr_args(cpus_to_visit)); 167 + cpumask_andnot(cpus_to_visit, 168 + cpus_to_visit, 169 + policy->related_cpus); 170 + for_each_cpu(cpu, policy->related_cpus) { 171 + raw_capacity[cpu] = arch_scale_cpu_capacity(NULL, cpu) * 172 + policy->cpuinfo.max_freq / 1000UL; 173 + capacity_scale = max(raw_capacity[cpu], capacity_scale); 174 + } 175 + if (cpumask_empty(cpus_to_visit)) { 176 + normalize_cpu_capacity(); 177 + kfree(raw_capacity); 178 + pr_debug("cpu_capacity: parsing done\n"); 179 + cap_parsing_done = true; 180 + schedule_work(&parsing_done_work); 181 + } 182 + } 183 + return 0; 184 + } 185 + 186 + static struct notifier_block init_cpu_capacity_notifier = { 187 + .notifier_call = init_cpu_capacity_callback, 188 + }; 189 + 190 + static int __init register_cpufreq_notifier(void) 191 + { 192 + if (cap_parsing_failed) 193 + return -EINVAL; 194 + 195 + if (!alloc_cpumask_var(&cpus_to_visit, GFP_KERNEL)) { 196 + pr_err("cpu_capacity: failed to allocate memory for cpus_to_visit\n"); 197 + return -ENOMEM; 198 + } 199 + cpumask_copy(cpus_to_visit, cpu_possible_mask); 200 + 201 + return cpufreq_register_notifier(&init_cpu_capacity_notifier, 202 + CPUFREQ_POLICY_NOTIFIER); 203 + } 204 + core_initcall(register_cpufreq_notifier); 205 + 206 + static void parsing_done_workfn(struct work_struct *work) 207 + { 208 + cpufreq_unregister_notifier(&init_cpu_capacity_notifier, 209 + CPUFREQ_POLICY_NOTIFIER); 210 + } 211 + 212 + #else 213 + static int __init free_raw_capacity(void) 214 + { 215 + kfree(raw_capacity); 216 + 217 + return 0; 218 + } 219 + core_initcall(free_raw_capacity); 220 + #endif 144 221 145 222 /* 146 223 * Iterate all CPUs' descriptor in DT and compute the efficiency ··· 302 99 __cpu_capacity = kcalloc(nr_cpu_ids, sizeof(*__cpu_capacity), 303 100 GFP_NOWAIT); 304 101 102 + cn = of_find_node_by_path("/cpus"); 103 + if (!cn) { 104 + pr_err("No CPU information found in DT\n"); 105 + return; 106 + } 107 + 305 108 for_each_possible_cpu(cpu) { 306 109 const u32 *rate; 307 110 int len; ··· 318 109 pr_err("missing device node for CPU %d\n", cpu); 319 110 continue; 320 111 } 112 + 113 + if (parse_cpu_capacity(cn, cpu)) { 114 + of_node_put(cn); 115 + continue; 116 + } 117 + 118 + cap_from_dt = false; 321 119 322 120 for (cpu_eff = table_efficiency; cpu_eff->compatible; cpu_eff++) 323 121 if (of_device_is_compatible(cn, cpu_eff->compatible)) ··· 367 151 middle_capacity = ((max_capacity / 3) 368 152 >> (SCHED_CAPACITY_SHIFT-1)) + 1; 369 153 154 + if (cap_from_dt && !cap_parsing_failed) 155 + normalize_cpu_capacity(); 370 156 } 371 157 372 158 /* ··· 378 160 */ 379 161 static void update_cpu_capacity(unsigned int cpu) 380 162 { 381 - if (!cpu_capacity(cpu)) 163 + if (!cpu_capacity(cpu) || cap_from_dt) 382 164 return; 383 165 384 166 set_capacity_scale(cpu, cpu_capacity(cpu) / middle_capacity);
+20
arch/arm/kernel/traps.c
··· 74 74 dump_mem("", "Exception stack", frame + 4, frame + 4 + sizeof(struct pt_regs)); 75 75 } 76 76 77 + void dump_backtrace_stm(u32 *stack, u32 instruction) 78 + { 79 + char str[80], *p; 80 + unsigned int x; 81 + int reg; 82 + 83 + for (reg = 10, x = 0, p = str; reg >= 0; reg--) { 84 + if (instruction & BIT(reg)) { 85 + p += sprintf(p, " r%d:%08x", reg, *stack--); 86 + if (++x == 6) { 87 + x = 0; 88 + p = str; 89 + printk("%s\n", str); 90 + } 91 + } 92 + } 93 + if (p != str) 94 + printk("%s\n", str); 95 + } 96 + 77 97 #ifndef CONFIG_ARM_UNWIND 78 98 /* 79 99 * Stack pointers should always be within the kernels view of
+5
arch/arm/kernel/vmlinux-xip.lds.S
··· 3 3 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz> 4 4 */ 5 5 6 + /* No __ro_after_init data in the .rodata section - which will always be ro */ 7 + #define RO_AFTER_INIT_DATA 8 + 6 9 #include <asm-generic/vmlinux.lds.h> 7 10 #include <asm/cache.h> 8 11 #include <asm/thread_info.h> ··· 225 222 ARM_EXIT_KEEP(EXIT_DATA) 226 223 . = ALIGN(PAGE_SIZE); 227 224 __init_end = .; 225 + 226 + *(.data..ro_after_init) 228 227 229 228 NOSAVE_DATA 230 229 CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
-3
arch/arm/lib/ashldi3.S
··· 28 28 29 29 #include <linux/linkage.h> 30 30 #include <asm/assembler.h> 31 - #include <asm/export.h> 32 31 33 32 #ifdef __ARMEB__ 34 33 #define al r1 ··· 52 53 53 54 ENDPROC(__ashldi3) 54 55 ENDPROC(__aeabi_llsl) 55 - EXPORT_SYMBOL(__ashldi3) 56 - EXPORT_SYMBOL(__aeabi_llsl)
-3
arch/arm/lib/ashrdi3.S
··· 28 28 29 29 #include <linux/linkage.h> 30 30 #include <asm/assembler.h> 31 - #include <asm/export.h> 32 31 33 32 #ifdef __ARMEB__ 34 33 #define al r1 ··· 52 53 53 54 ENDPROC(__ashrdi3) 54 55 ENDPROC(__aeabi_lasr) 55 - EXPORT_SYMBOL(__ashrdi3) 56 - EXPORT_SYMBOL(__aeabi_lasr)
+3 -34
arch/arm/lib/backtrace.S
··· 10 10 * 27/03/03 Ian Molton Clean up CONFIG_CPU 11 11 * 12 12 */ 13 + #include <linux/kern_levels.h> 13 14 #include <linux/linkage.h> 14 15 #include <asm/assembler.h> 15 16 .text ··· 84 83 teq r3, r1, lsr #11 85 84 ldreq r0, [frame, #-8] @ get sp 86 85 subeq r0, r0, #4 @ point at the last arg 87 - bleq .Ldumpstm @ dump saved registers 86 + bleq dump_backtrace_stm @ dump saved registers 88 87 89 88 1004: ldr r1, [sv_pc, #0] @ if stmfd sp!, {..., fp, ip, lr, pc} 90 89 ldr r3, .Ldsi @ instruction exists, 91 90 teq r3, r1, lsr #11 92 91 subeq r0, frame, #16 93 - bleq .Ldumpstm @ dump saved registers 92 + bleq dump_backtrace_stm @ dump saved registers 94 93 95 94 teq sv_fp, #0 @ zero saved fp means 96 95 beq no_frame @ no further frames ··· 113 112 .long 1004b, 1006b 114 113 .popsection 115 114 116 - #define instr r4 117 - #define reg r5 118 - #define stack r6 119 - 120 - .Ldumpstm: stmfd sp!, {instr, reg, stack, r7, lr} 121 - mov stack, r0 122 - mov instr, r1 123 - mov reg, #10 124 - mov r7, #0 125 - 1: mov r3, #1 126 - ARM( tst instr, r3, lsl reg ) 127 - THUMB( lsl r3, reg ) 128 - THUMB( tst instr, r3 ) 129 - beq 2f 130 - add r7, r7, #1 131 - teq r7, #6 132 - moveq r7, #0 133 - adr r3, .Lcr 134 - addne r3, r3, #1 @ skip newline 135 - ldr r2, [stack], #-4 136 - mov r1, reg 137 - adr r0, .Lfp 138 - bl printk 139 - 2: subs reg, reg, #1 140 - bpl 1b 141 - teq r7, #0 142 - adrne r0, .Lcr 143 - blne printk 144 - ldmfd sp!, {instr, reg, stack, r7, pc} 145 - 146 - .Lfp: .asciz " r%d:%08x%s" 147 - .Lcr: .asciz "\n" 148 115 .Lbad: .asciz "Backtrace aborted due to bad frame pointer <%p>\n" 149 116 .align 150 117 .Ldsi: .word 0xe92dd800 >> 11 @ stmfd sp!, {... fp, ip, lr, pc}
-5
arch/arm/lib/bitops.h
··· 1 1 #include <asm/assembler.h> 2 2 #include <asm/unwind.h> 3 - #include <asm/export.h> 4 3 5 4 #if __LINUX_ARM_ARCH__ >= 6 6 5 .macro bitop, name, instr ··· 25 26 bx lr 26 27 UNWIND( .fnend ) 27 28 ENDPROC(\name ) 28 - EXPORT_SYMBOL(\name ) 29 29 .endm 30 30 31 31 .macro testop, name, instr, store ··· 55 57 2: bx lr 56 58 UNWIND( .fnend ) 57 59 ENDPROC(\name ) 58 - EXPORT_SYMBOL(\name ) 59 60 .endm 60 61 #else 61 62 .macro bitop, name, instr ··· 74 77 ret lr 75 78 UNWIND( .fnend ) 76 79 ENDPROC(\name ) 77 - EXPORT_SYMBOL(\name ) 78 80 .endm 79 81 80 82 /** ··· 102 106 ret lr 103 107 UNWIND( .fnend ) 104 108 ENDPROC(\name ) 105 - EXPORT_SYMBOL(\name ) 106 109 .endm 107 110 #endif
-3
arch/arm/lib/bswapsdi2.S
··· 1 1 #include <linux/linkage.h> 2 2 #include <asm/assembler.h> 3 - #include <asm/export.h> 4 3 5 4 #if __LINUX_ARM_ARCH__ >= 6 6 5 ENTRY(__bswapsi2) ··· 35 36 ret lr 36 37 ENDPROC(__bswapdi2) 37 38 #endif 38 - EXPORT_SYMBOL(__bswapsi2) 39 - EXPORT_SYMBOL(__bswapdi2)
-4
arch/arm/lib/clear_user.S
··· 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 12 #include <asm/unwind.h> 13 - #include <asm/export.h> 14 13 15 14 .text 16 15 ··· 50 51 UNWIND(.fnend) 51 52 ENDPROC(arm_clear_user) 52 53 ENDPROC(__clear_user_std) 53 - #ifndef CONFIG_UACCESS_WITH_MEMCPY 54 - EXPORT_SYMBOL(arm_clear_user) 55 - #endif 56 54 57 55 .pushsection .text.fixup,"ax" 58 56 .align 0
-2
arch/arm/lib/copy_from_user.S
··· 13 13 #include <linux/linkage.h> 14 14 #include <asm/assembler.h> 15 15 #include <asm/unwind.h> 16 - #include <asm/export.h> 17 16 18 17 /* 19 18 * Prototype: ··· 94 95 #include "copy_template.S" 95 96 96 97 ENDPROC(arm_copy_from_user) 97 - EXPORT_SYMBOL(arm_copy_from_user) 98 98 99 99 .pushsection .fixup,"ax" 100 100 .align 0
-2
arch/arm/lib/copy_page.S
··· 13 13 #include <asm/assembler.h> 14 14 #include <asm/asm-offsets.h> 15 15 #include <asm/cache.h> 16 - #include <asm/export.h> 17 16 18 17 #define COPY_COUNT (PAGE_SZ / (2 * L1_CACHE_BYTES) PLD( -1 )) 19 18 ··· 45 46 PLD( beq 2b ) 46 47 ldmfd sp!, {r4, pc} @ 3 47 48 ENDPROC(copy_page) 48 - EXPORT_SYMBOL(copy_page)
-4
arch/arm/lib/copy_to_user.S
··· 13 13 #include <linux/linkage.h> 14 14 #include <asm/assembler.h> 15 15 #include <asm/unwind.h> 16 - #include <asm/export.h> 17 16 18 17 /* 19 18 * Prototype: ··· 99 100 100 101 ENDPROC(arm_copy_to_user) 101 102 ENDPROC(__copy_to_user_std) 102 - #ifndef CONFIG_UACCESS_WITH_MEMCPY 103 - EXPORT_SYMBOL(arm_copy_to_user) 104 - #endif 105 103 106 104 .pushsection .text.fixup,"ax" 107 105 .align 0
+1 -2
arch/arm/lib/csumipv6.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .text 15 14 ··· 30 31 adcs r0, r0, #0 31 32 ldmfd sp!, {pc} 32 33 ENDPROC(__csum_ipv6_magic) 33 - EXPORT_SYMBOL(__csum_ipv6_magic) 34 +
-2
arch/arm/lib/csumpartial.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .text 15 14 ··· 140 141 bne 4b 141 142 b .Lless4 142 143 ENDPROC(csum_partial) 143 - EXPORT_SYMBOL(csum_partial)
-1
arch/arm/lib/csumpartialcopy.S
··· 49 49 50 50 #define FN_ENTRY ENTRY(csum_partial_copy_nocheck) 51 51 #define FN_EXIT ENDPROC(csum_partial_copy_nocheck) 52 - #define FN_EXPORT EXPORT_SYMBOL(csum_partial_copy_nocheck) 53 52 54 53 #include "csumpartialcopygeneric.S"
-2
arch/arm/lib/csumpartialcopygeneric.S
··· 8 8 * published by the Free Software Foundation. 9 9 */ 10 10 #include <asm/assembler.h> 11 - #include <asm/export.h> 12 11 13 12 /* 14 13 * unsigned int ··· 331 332 mov r5, r4, get_byte_1 332 333 b .Lexit 333 334 FN_EXIT 334 - FN_EXPORT
-1
arch/arm/lib/csumpartialcopyuser.S
··· 73 73 74 74 #define FN_ENTRY ENTRY(csum_partial_copy_from_user) 75 75 #define FN_EXIT ENDPROC(csum_partial_copy_from_user) 76 - #define FN_EXPORT EXPORT_SYMBOL(csum_partial_copy_from_user) 77 76 78 77 #include "csumpartialcopygeneric.S" 79 78
+7 -8
arch/arm/lib/delay-loop.S
··· 17 17 .LC1: .word UDELAY_MULT 18 18 19 19 /* 20 + * loops = r0 * HZ * loops_per_jiffy / 1000000 21 + * 20 22 * r0 <= 2000 21 23 * HZ <= 1000 22 24 */ 23 25 24 26 ENTRY(__loop_udelay) 25 27 ldr r2, .LC1 26 - mul r0, r2, r0 27 - ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0x7fffff06 28 + mul r0, r2, r0 @ r0 = delay_us * UDELAY_MULT 29 + ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0xfffffaf0 28 30 ldr r2, .LC0 29 31 ldr r2, [r2] 30 - umull r1, r0, r2, r0 31 - adds r1, r1, #0xffffffff 32 - adcs r0, r0, r0 32 + umull r1, r0, r2, r0 @ r0-r1 = r0 * loops_per_jiffy 33 + adds r1, r1, #0xffffffff @ rounding up ... 34 + adcs r0, r0, r0 @ and right shift by 31 33 35 reteq lr 34 36 35 - /* 36 - * loops = r0 * HZ * loops_per_jiffy / 1000000 37 - */ 38 37 .align 3 39 38 40 39 @ Delay routine
-2
arch/arm/lib/delay.c
··· 24 24 #include <linux/init.h> 25 25 #include <linux/kernel.h> 26 26 #include <linux/module.h> 27 - #include <linux/export.h> 28 27 #include <linux/timex.h> 29 28 30 29 /* ··· 34 35 .const_udelay = __loop_const_udelay, 35 36 .udelay = __loop_udelay, 36 37 }; 37 - EXPORT_SYMBOL(arm_delay_ops); 38 38 39 39 static const struct delay_timer *delay_timer; 40 40 static bool delay_calibrated;
-2
arch/arm/lib/div64.S
··· 15 15 #include <linux/linkage.h> 16 16 #include <asm/assembler.h> 17 17 #include <asm/unwind.h> 18 - #include <asm/export.h> 19 18 20 19 #ifdef __ARMEB__ 21 20 #define xh r0 ··· 210 211 211 212 UNWIND(.fnend) 212 213 ENDPROC(__do_div64) 213 - EXPORT_SYMBOL(__do_div64)
-9
arch/arm/lib/findbit.S
··· 15 15 */ 16 16 #include <linux/linkage.h> 17 17 #include <asm/assembler.h> 18 - #include <asm/export.h> 19 18 .text 20 19 21 20 /* ··· 37 38 3: mov r0, r1 @ no free bits 38 39 ret lr 39 40 ENDPROC(_find_first_zero_bit_le) 40 - EXPORT_SYMBOL(_find_first_zero_bit_le) 41 41 42 42 /* 43 43 * Purpose : Find next 'zero' bit ··· 57 59 add r2, r2, #1 @ align bit pointer 58 60 b 2b @ loop for next bit 59 61 ENDPROC(_find_next_zero_bit_le) 60 - EXPORT_SYMBOL(_find_next_zero_bit_le) 61 62 62 63 /* 63 64 * Purpose : Find a 'one' bit ··· 78 81 3: mov r0, r1 @ no free bits 79 82 ret lr 80 83 ENDPROC(_find_first_bit_le) 81 - EXPORT_SYMBOL(_find_first_bit_le) 82 84 83 85 /* 84 86 * Purpose : Find next 'one' bit ··· 97 101 add r2, r2, #1 @ align bit pointer 98 102 b 2b @ loop for next bit 99 103 ENDPROC(_find_next_bit_le) 100 - EXPORT_SYMBOL(_find_next_bit_le) 101 104 102 105 #ifdef __ARMEB__ 103 106 ··· 116 121 3: mov r0, r1 @ no free bits 117 122 ret lr 118 123 ENDPROC(_find_first_zero_bit_be) 119 - EXPORT_SYMBOL(_find_first_zero_bit_be) 120 124 121 125 ENTRY(_find_next_zero_bit_be) 122 126 teq r1, #0 ··· 133 139 add r2, r2, #1 @ align bit pointer 134 140 b 2b @ loop for next bit 135 141 ENDPROC(_find_next_zero_bit_be) 136 - EXPORT_SYMBOL(_find_next_zero_bit_be) 137 142 138 143 ENTRY(_find_first_bit_be) 139 144 teq r1, #0 ··· 150 157 3: mov r0, r1 @ no free bits 151 158 ret lr 152 159 ENDPROC(_find_first_bit_be) 153 - EXPORT_SYMBOL(_find_first_bit_be) 154 160 155 161 ENTRY(_find_next_bit_be) 156 162 teq r1, #0 ··· 166 174 add r2, r2, #1 @ align bit pointer 167 175 b 2b @ loop for next bit 168 176 ENDPROC(_find_next_bit_be) 169 - EXPORT_SYMBOL(_find_next_bit_be) 170 177 171 178 #endif 172 179
-9
arch/arm/lib/getuser.S
··· 31 31 #include <asm/assembler.h> 32 32 #include <asm/errno.h> 33 33 #include <asm/domain.h> 34 - #include <asm/export.h> 35 34 36 35 ENTRY(__get_user_1) 37 36 check_uaccess r0, 1, r1, r2, __get_user_bad ··· 38 39 mov r0, #0 39 40 ret lr 40 41 ENDPROC(__get_user_1) 41 - EXPORT_SYMBOL(__get_user_1) 42 42 43 43 ENTRY(__get_user_2) 44 44 check_uaccess r0, 2, r1, r2, __get_user_bad ··· 58 60 mov r0, #0 59 61 ret lr 60 62 ENDPROC(__get_user_2) 61 - EXPORT_SYMBOL(__get_user_2) 62 63 63 64 ENTRY(__get_user_4) 64 65 check_uaccess r0, 4, r1, r2, __get_user_bad ··· 65 68 mov r0, #0 66 69 ret lr 67 70 ENDPROC(__get_user_4) 68 - EXPORT_SYMBOL(__get_user_4) 69 71 70 72 ENTRY(__get_user_8) 71 73 check_uaccess r0, 8, r1, r2, __get_user_bad ··· 78 82 mov r0, #0 79 83 ret lr 80 84 ENDPROC(__get_user_8) 81 - EXPORT_SYMBOL(__get_user_8) 82 85 83 86 #ifdef __ARMEB__ 84 87 ENTRY(__get_user_32t_8) ··· 91 96 mov r0, #0 92 97 ret lr 93 98 ENDPROC(__get_user_32t_8) 94 - EXPORT_SYMBOL(__get_user_32t_8) 95 99 96 100 ENTRY(__get_user_64t_1) 97 101 check_uaccess r0, 1, r1, r2, __get_user_bad8 ··· 98 104 mov r0, #0 99 105 ret lr 100 106 ENDPROC(__get_user_64t_1) 101 - EXPORT_SYMBOL(__get_user_64t_1) 102 107 103 108 ENTRY(__get_user_64t_2) 104 109 check_uaccess r0, 2, r1, r2, __get_user_bad8 ··· 114 121 mov r0, #0 115 122 ret lr 116 123 ENDPROC(__get_user_64t_2) 117 - EXPORT_SYMBOL(__get_user_64t_2) 118 124 119 125 ENTRY(__get_user_64t_4) 120 126 check_uaccess r0, 4, r1, r2, __get_user_bad8 ··· 121 129 mov r0, #0 122 130 ret lr 123 131 ENDPROC(__get_user_64t_4) 124 - EXPORT_SYMBOL(__get_user_64t_4) 125 132 #endif 126 133 127 134 __get_user_bad8:
-2
arch/arm/lib/io-readsb.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .Linsb_align: rsb ip, ip, #4 15 14 cmp ip, r2 ··· 121 122 122 123 ldmfd sp!, {r4 - r6, pc} 123 124 ENDPROC(__raw_readsb) 124 - EXPORT_SYMBOL(__raw_readsb)
-2
arch/arm/lib/io-readsl.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 ENTRY(__raw_readsl) 15 14 teq r2, #0 @ do we have to check for the zero len? ··· 77 78 strb r3, [r1, #0] 78 79 ret lr 79 80 ENDPROC(__raw_readsl) 80 - EXPORT_SYMBOL(__raw_readsl)
+1 -2
arch/arm/lib/io-readsw-armv3.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .Linsw_bad_alignment: 15 14 adr r0, .Linsw_bad_align_msg ··· 103 104 104 105 ldmfd sp!, {r4, r5, r6, pc} 105 106 106 - EXPORT_SYMBOL(__raw_readsw) 107 +
-2
arch/arm/lib/io-readsw-armv4.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .macro pack, rd, hw1, hw2 15 14 #ifndef __ARMEB__ ··· 129 130 strneb ip, [r1] 130 131 ldmfd sp!, {r4, pc} 131 132 ENDPROC(__raw_readsw) 132 - EXPORT_SYMBOL(__raw_readsw)
-2
arch/arm/lib/io-writesb.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .macro outword, rd 15 14 #ifndef __ARMEB__ ··· 92 93 93 94 ldmfd sp!, {r4, r5, pc} 94 95 ENDPROC(__raw_writesb) 95 - EXPORT_SYMBOL(__raw_writesb)
-2
arch/arm/lib/io-writesl.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 ENTRY(__raw_writesl) 15 14 teq r2, #0 @ do we have to check for the zero len? ··· 65 66 bne 6b 66 67 ret lr 67 68 ENDPROC(__raw_writesl) 68 - EXPORT_SYMBOL(__raw_writesl)
-2
arch/arm/lib/io-writesw-armv3.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .Loutsw_bad_alignment: 15 14 adr r0, .Loutsw_bad_align_msg ··· 124 125 strne ip, [r0] 125 126 126 127 ldmfd sp!, {r4, r5, r6, pc} 127 - EXPORT_SYMBOL(__raw_writesw)
-2
arch/arm/lib/io-writesw-armv4.S
··· 9 9 */ 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 - #include <asm/export.h> 13 12 14 13 .macro outword, rd 15 14 #ifndef __ARMEB__ ··· 98 99 strneh ip, [r0] 99 100 ret lr 100 101 ENDPROC(__raw_writesw) 101 - EXPORT_SYMBOL(__raw_writesw)
-9
arch/arm/lib/lib1funcs.S
··· 36 36 #include <linux/linkage.h> 37 37 #include <asm/assembler.h> 38 38 #include <asm/unwind.h> 39 - #include <asm/export.h> 40 39 41 40 .macro ARM_DIV_BODY dividend, divisor, result, curbit 42 41 ··· 238 239 UNWIND(.fnend) 239 240 ENDPROC(__udivsi3) 240 241 ENDPROC(__aeabi_uidiv) 241 - EXPORT_SYMBOL(__udivsi3) 242 - EXPORT_SYMBOL(__aeabi_uidiv) 243 242 244 243 ENTRY(__umodsi3) 245 244 UNWIND(.fnstart) ··· 256 259 257 260 UNWIND(.fnend) 258 261 ENDPROC(__umodsi3) 259 - EXPORT_SYMBOL(__umodsi3) 260 262 261 263 #ifdef CONFIG_ARM_PATCH_IDIV 262 264 .align 3 ··· 303 307 UNWIND(.fnend) 304 308 ENDPROC(__divsi3) 305 309 ENDPROC(__aeabi_idiv) 306 - EXPORT_SYMBOL(__divsi3) 307 - EXPORT_SYMBOL(__aeabi_idiv) 308 310 309 311 ENTRY(__modsi3) 310 312 UNWIND(.fnstart) ··· 327 333 328 334 UNWIND(.fnend) 329 335 ENDPROC(__modsi3) 330 - EXPORT_SYMBOL(__modsi3) 331 336 332 337 #ifdef CONFIG_AEABI 333 338 ··· 343 350 344 351 UNWIND(.fnend) 345 352 ENDPROC(__aeabi_uidivmod) 346 - EXPORT_SYMBOL(__aeabi_uidivmod) 347 353 348 354 ENTRY(__aeabi_idivmod) 349 355 UNWIND(.fnstart) ··· 356 364 357 365 UNWIND(.fnend) 358 366 ENDPROC(__aeabi_idivmod) 359 - EXPORT_SYMBOL(__aeabi_idivmod) 360 367 361 368 #endif 362 369
-3
arch/arm/lib/lshrdi3.S
··· 28 28 29 29 #include <linux/linkage.h> 30 30 #include <asm/assembler.h> 31 - #include <asm/export.h> 32 31 33 32 #ifdef __ARMEB__ 34 33 #define al r1 ··· 52 53 53 54 ENDPROC(__lshrdi3) 54 55 ENDPROC(__aeabi_llsr) 55 - EXPORT_SYMBOL(__lshrdi3) 56 - EXPORT_SYMBOL(__aeabi_llsr)
-2
arch/arm/lib/memchr.S
··· 11 11 */ 12 12 #include <linux/linkage.h> 13 13 #include <asm/assembler.h> 14 - #include <asm/export.h> 15 14 16 15 .text 17 16 .align 5 ··· 24 25 2: movne r0, #0 25 26 ret lr 26 27 ENDPROC(memchr) 27 - EXPORT_SYMBOL(memchr)
-3
arch/arm/lib/memcpy.S
··· 13 13 #include <linux/linkage.h> 14 14 #include <asm/assembler.h> 15 15 #include <asm/unwind.h> 16 - #include <asm/export.h> 17 16 18 17 #define LDR1W_SHIFT 0 19 18 #define STR1W_SHIFT 0 ··· 68 69 69 70 ENDPROC(memcpy) 70 71 ENDPROC(mmiocpy) 71 - EXPORT_SYMBOL(memcpy) 72 - EXPORT_SYMBOL(mmiocpy)
-2
arch/arm/lib/memmove.S
··· 13 13 #include <linux/linkage.h> 14 14 #include <asm/assembler.h> 15 15 #include <asm/unwind.h> 16 - #include <asm/export.h> 17 16 18 17 .text 19 18 ··· 225 226 18: backward_copy_shift push=24 pull=8 226 227 227 228 ENDPROC(memmove) 228 - EXPORT_SYMBOL(memmove)
-3
arch/arm/lib/memset.S
··· 12 12 #include <linux/linkage.h> 13 13 #include <asm/assembler.h> 14 14 #include <asm/unwind.h> 15 - #include <asm/export.h> 16 15 17 16 .text 18 17 .align 5 ··· 135 136 UNWIND( .fnend ) 136 137 ENDPROC(memset) 137 138 ENDPROC(mmioset) 138 - EXPORT_SYMBOL(memset) 139 - EXPORT_SYMBOL(mmioset)
-2
arch/arm/lib/memzero.S
··· 10 10 #include <linux/linkage.h> 11 11 #include <asm/assembler.h> 12 12 #include <asm/unwind.h> 13 - #include <asm/export.h> 14 13 15 14 .text 16 15 .align 5 ··· 135 136 ret lr @ 1 136 137 UNWIND( .fnend ) 137 138 ENDPROC(__memzero) 138 - EXPORT_SYMBOL(__memzero)
-3
arch/arm/lib/muldi3.S
··· 12 12 13 13 #include <linux/linkage.h> 14 14 #include <asm/assembler.h> 15 - #include <asm/export.h> 16 15 17 16 #ifdef __ARMEB__ 18 17 #define xh r0 ··· 46 47 47 48 ENDPROC(__muldi3) 48 49 ENDPROC(__aeabi_lmul) 49 - EXPORT_SYMBOL(__muldi3) 50 - EXPORT_SYMBOL(__aeabi_lmul)
-5
arch/arm/lib/putuser.S
··· 31 31 #include <asm/assembler.h> 32 32 #include <asm/errno.h> 33 33 #include <asm/domain.h> 34 - #include <asm/export.h> 35 34 36 35 ENTRY(__put_user_1) 37 36 check_uaccess r0, 1, r1, ip, __put_user_bad ··· 38 39 mov r0, #0 39 40 ret lr 40 41 ENDPROC(__put_user_1) 41 - EXPORT_SYMBOL(__put_user_1) 42 42 43 43 ENTRY(__put_user_2) 44 44 check_uaccess r0, 2, r1, ip, __put_user_bad ··· 62 64 mov r0, #0 63 65 ret lr 64 66 ENDPROC(__put_user_2) 65 - EXPORT_SYMBOL(__put_user_2) 66 67 67 68 ENTRY(__put_user_4) 68 69 check_uaccess r0, 4, r1, ip, __put_user_bad ··· 69 72 mov r0, #0 70 73 ret lr 71 74 ENDPROC(__put_user_4) 72 - EXPORT_SYMBOL(__put_user_4) 73 75 74 76 ENTRY(__put_user_8) 75 77 check_uaccess r0, 8, r1, ip, __put_user_bad ··· 82 86 mov r0, #0 83 87 ret lr 84 88 ENDPROC(__put_user_8) 85 - EXPORT_SYMBOL(__put_user_8) 86 89 87 90 __put_user_bad: 88 91 mov r0, #-EFAULT
-2
arch/arm/lib/strchr.S
··· 11 11 */ 12 12 #include <linux/linkage.h> 13 13 #include <asm/assembler.h> 14 - #include <asm/export.h> 15 14 16 15 .text 17 16 .align 5 ··· 25 26 subeq r0, r0, #1 26 27 ret lr 27 28 ENDPROC(strchr) 28 - EXPORT_SYMBOL(strchr)
-2
arch/arm/lib/strrchr.S
··· 11 11 */ 12 12 #include <linux/linkage.h> 13 13 #include <asm/assembler.h> 14 - #include <asm/export.h> 15 14 16 15 .text 17 16 .align 5 ··· 24 25 mov r0, r3 25 26 ret lr 26 27 ENDPROC(strrchr) 27 - EXPORT_SYMBOL(strrchr)
-3
arch/arm/lib/uaccess_with_memcpy.c
··· 19 19 #include <linux/gfp.h> 20 20 #include <linux/highmem.h> 21 21 #include <linux/hugetlb.h> 22 - #include <linux/export.h> 23 22 #include <asm/current.h> 24 23 #include <asm/page.h> 25 24 ··· 156 157 } 157 158 return n; 158 159 } 159 - EXPORT_SYMBOL(arm_copy_to_user); 160 160 161 161 static unsigned long noinline 162 162 __clear_user_memset(void __user *addr, unsigned long n) ··· 213 215 } 214 216 return n; 215 217 } 216 - EXPORT_SYMBOL(arm_clear_user); 217 218 218 219 #if 0 219 220
-3
arch/arm/lib/ucmpdi2.S
··· 12 12 13 13 #include <linux/linkage.h> 14 14 #include <asm/assembler.h> 15 - #include <asm/export.h> 16 15 17 16 #ifdef __ARMEB__ 18 17 #define xh r0 ··· 35 36 ret lr 36 37 37 38 ENDPROC(__ucmpdi2) 38 - EXPORT_SYMBOL(__ucmpdi2) 39 39 40 40 #ifdef CONFIG_AEABI 41 41 ··· 48 50 ret lr 49 51 50 52 ENDPROC(__aeabi_ulcmp) 51 - EXPORT_SYMBOL(__aeabi_ulcmp) 52 53 53 54 #endif 54 55
+1
arch/arm/mach-imx/Makefile
··· 32 32 33 33 ifdef CONFIG_SND_IMX_SOC 34 34 obj-y += ssi-fiq.o 35 + obj-y += ssi-fiq-ksym.o 35 36 endif 36 37 37 38 # i.MX21 based machines
+20
arch/arm/mach-imx/ssi-fiq-ksym.c
··· 1 + /* 2 + * Exported ksyms for the SSI FIQ handler 3 + * 4 + * Copyright (C) 2009, Sascha Hauer <s.hauer@pengutronix.de> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License version 2 as 8 + * published by the Free Software Foundation. 9 + */ 10 + 11 + #include <linux/module.h> 12 + 13 + #include <linux/platform_data/asoc-imx-ssi.h> 14 + 15 + EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer); 16 + EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer); 17 + EXPORT_SYMBOL(imx_ssi_fiq_start); 18 + EXPORT_SYMBOL(imx_ssi_fiq_end); 19 + EXPORT_SYMBOL(imx_ssi_fiq_base); 20 +
+1 -6
arch/arm/mach-imx/ssi-fiq.S
··· 8 8 9 9 #include <linux/linkage.h> 10 10 #include <asm/assembler.h> 11 - #include <asm/export.h> 12 11 13 12 /* 14 13 * r8 = bit 0-15: tx offset, bit 16-31: tx buffer size ··· 144 145 .word 0x0 145 146 .L_imx_ssi_fiq_end: 146 147 imx_ssi_fiq_end: 147 - EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer) 148 - EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer) 149 - EXPORT_SYMBOL(imx_ssi_fiq_start) 150 - EXPORT_SYMBOL(imx_ssi_fiq_end) 151 - EXPORT_SYMBOL(imx_ssi_fiq_base) 148 +
-925
arch/arm/mach-sa1100/include/mach/SA-1101.h
··· 1 - /* 2 - * SA-1101.h 3 - * 4 - * Copyright (c) Peter Danielsson 1999 5 - * 6 - * Definition of constants related to the sa1101 7 - * support chip for the sa1100 8 - * 9 - */ 10 - 11 - 12 - /* Be sure that virtual mapping is defined right */ 13 - #ifndef __ASM_ARCH_HARDWARE_H 14 - #error You must include hardware.h not SA-1101.h 15 - #endif 16 - 17 - #ifndef SA1101_BASE 18 - #error You must define SA-1101 physical base address 19 - #endif 20 - 21 - #ifndef LANGUAGE 22 - # ifdef __ASSEMBLY__ 23 - # define LANGUAGE Assembly 24 - # else 25 - # define LANGUAGE C 26 - # endif 27 - #endif 28 - 29 - /* 30 - * We have mapped the sa1101 depending on the value of SA1101_BASE. 31 - * It then appears from 0xf4000000. 32 - */ 33 - 34 - #define SA1101_p2v( x ) ((x) - SA1101_BASE + 0xf4000000) 35 - #define SA1101_v2p( x ) ((x) - 0xf4000000 + SA1101_BASE) 36 - 37 - #ifndef SA1101_p2v 38 - #define SA1101_p2v(PhAdd) (PhAdd) 39 - #endif 40 - 41 - #include <mach/bitfield.h> 42 - 43 - #define C 0 44 - #define Assembly 1 45 - 46 - 47 - /* 48 - * Memory map 49 - */ 50 - 51 - #define __SHMEM_CONTROL0 0x00000000 52 - #define __SYSTEM_CONTROL1 0x00000400 53 - #define __ARBITER 0x00020000 54 - #define __SYSTEM_CONTROL2 0x00040000 55 - #define __SYSTEM_CONTROL3 0x00060000 56 - #define __PARALLEL_PORT 0x00080000 57 - #define __VIDMEM_CONTROL 0x00100000 58 - #define __UPDATE_FIFO 0x00120000 59 - #define __SHMEM_CONTROL1 0x00140000 60 - #define __INTERRUPT_CONTROL 0x00160000 61 - #define __USB_CONTROL 0x00180000 62 - #define __TRACK_INTERFACE 0x001a0000 63 - #define __MOUSE_INTERFACE 0x001b0000 64 - #define __KEYPAD_INTERFACE 0x001c0000 65 - #define __PCMCIA_INTERFACE 0x001e0000 66 - #define __VGA_CONTROL 0x00200000 67 - #define __GPIO_INTERFACE 0x00300000 68 - 69 - /* 70 - * Macro that calculates real address for registers in the SA-1101 71 - */ 72 - 73 - #define _SA1101( x ) ((x) + SA1101_BASE) 74 - 75 - /* 76 - * Interface and shared memory controller registers 77 - * 78 - * Registers 79 - * SKCR SA-1101 control register (read/write) 80 - * SMCR Shared Memory Controller Register 81 - * SNPR Snoop Register 82 - */ 83 - 84 - #define _SKCR _SA1101( 0x00000000 ) /* SA-1101 Control Reg. */ 85 - #define _SMCR _SA1101( 0x00140000 ) /* Shared Mem. Control Reg. */ 86 - #define _SNPR _SA1101( 0x00140400 ) /* Snoop Reg. */ 87 - 88 - #if LANGUAGE == C 89 - #define SKCR (*((volatile Word *) SA1101_p2v (_SKCR))) 90 - #define SMCR (*((volatile Word *) SA1101_p2v (_SMCR))) 91 - #define SNPR (*((volatile Word *) SA1101_p2v (_SNPR))) 92 - 93 - #define SKCR_PLLEn 0x0001 /* Enable On-Chip PLL */ 94 - #define SKCR_BCLKEn 0x0002 /* Enables BCLK */ 95 - #define SKCR_Sleep 0x0004 /* Sleep Mode */ 96 - #define SKCR_IRefEn 0x0008 /* DAC Iref input enable */ 97 - #define SKCR_VCOON 0x0010 /* VCO bias */ 98 - #define SKCR_ScanTestEn 0x0020 /* Enables scan test */ 99 - #define SKCR_ClockTestEn 0x0040 /* Enables clock test */ 100 - 101 - #define SMCR_DCAC Fld(2,0) /* Number of column address bits */ 102 - #define SMCR_DRAC Fld(2,2) /* Number of row address bits */ 103 - #define SMCR_ArbiterBias 0x0008 /* favor video or USB */ 104 - #define SMCR_TopVidMem Fld(4,5) /* Top 4 bits of vidmem addr. */ 105 - 106 - #define SMCR_ColAdrBits( x ) /* col. addr bits 8..11 */ \ 107 - (( (x) - 8 ) << FShft (SMCR_DCAC)) 108 - #define SMCR_RowAdrBits( x ) /* row addr bits 9..12 */\ 109 - (( (x) - 9 ) << FShft (SMCR_DRAC)) 110 - 111 - #define SNPR_VFBstart Fld(12,0) /* Video frame buffer addr */ 112 - #define SNPR_VFBsize Fld(11,12) /* Video frame buffer size */ 113 - #define SNPR_WholeBank (1 << 23) /* Whole bank bit */ 114 - #define SNPR_BankSelect Fld(2,27) /* Bank select */ 115 - #define SNPR_SnoopEn (1 << 31) /* Enable snoop operation */ 116 - 117 - #define SNPR_Set_VFBsize( x ) /* set frame buffer size (in kb) */ \ 118 - ( (x) << FShft (SNPR_VFBsize)) 119 - #define SNPR_Select_Bank(x) /* select bank 0 or 1 */ \ 120 - (( (x) + 1 ) << FShft (SNPR_BankSelect )) 121 - 122 - #endif /* LANGUAGE == C */ 123 - 124 - /* 125 - * Video Memory Controller 126 - * 127 - * Registers 128 - * VMCCR Configuration register 129 - * VMCAR VMC address register 130 - * VMCDR VMC data register 131 - * 132 - */ 133 - 134 - #define _VMCCR _SA1101( 0x00100000 ) /* Configuration register */ 135 - #define _VMCAR _SA1101( 0x00101000 ) /* VMC address register */ 136 - #define _VMCDR _SA1101( 0x00101400 ) /* VMC data register */ 137 - 138 - #if LANGUAGE == C 139 - #define VMCCR (*((volatile Word *) SA1101_p2v (_VMCCR))) 140 - #define VMCAR (*((volatile Word *) SA1101_p2v (_VMCAR))) 141 - #define VMCDR (*((volatile Word *) SA1101_p2v (_VMCDR))) 142 - 143 - #define VMCCR_RefreshEn 0x0000 /* Enable memory refresh */ 144 - #define VMCCR_Config 0x0001 /* DRAM size */ 145 - #define VMCCR_RefPeriod Fld(2,3) /* Refresh period */ 146 - #define VMCCR_StaleDataWait Fld(4,5) /* Stale FIFO data timeout counter */ 147 - #define VMCCR_SleepState (1<<9) /* State of interface pins in sleep*/ 148 - #define VMCCR_RefTest (1<<10) /* refresh test */ 149 - #define VMCCR_RefLow Fld(6,11) /* refresh low counter */ 150 - #define VMCCR_RefHigh Fld(7,17) /* refresh high counter */ 151 - #define VMCCR_SDTCTest Fld(7,24) /* stale data timeout counter */ 152 - #define VMCCR_ForceSelfRef (1<<31) /* Force self refresh */ 153 - 154 - #endif LANGUAGE == C 155 - 156 - 157 - /* Update FIFO 158 - * 159 - * Registers 160 - * UFCR Update FIFO Control Register 161 - * UFSR Update FIFO Status Register 162 - * UFLVLR update FIFO level register 163 - * UFDR update FIFO data register 164 - */ 165 - 166 - #define _UFCR _SA1101(0x00120000) /* Update FIFO Control Reg. */ 167 - #define _UFSR _SA1101(0x00120400) /* Update FIFO Status Reg. */ 168 - #define _UFLVLR _SA1101(0x00120800) /* Update FIFO level reg. */ 169 - #define _UFDR _SA1101(0x00120c00) /* Update FIFO data reg. */ 170 - 171 - #if LANGUAGE == C 172 - 173 - #define UFCR (*((volatile Word *) SA1101_p2v (_UFCR))) 174 - #define UFSR (*((volatile Word *) SA1101_p2v (_UFSR))) 175 - #define UFLVLR (*((volatile Word *) SA1101_p2v (_UFLVLR))) 176 - #define UFDR (*((volatile Word *) SA1101_p2v (_UFDR))) 177 - 178 - 179 - #define UFCR_FifoThreshhold Fld(7,0) /* Level for FifoGTn flag */ 180 - 181 - #define UFSR_FifoGTnFlag 0x01 /* FifoGTn flag */#define UFSR_FifoEmpty 0x80 /* FIFO is empty */ 182 - 183 - #endif /* LANGUAGE == C */ 184 - 185 - /* System Controller 186 - * 187 - * Registers 188 - * SKPCR Power Control Register 189 - * SKCDR Clock Divider Register 190 - * DACDR1 DAC1 Data register 191 - * DACDR2 DAC2 Data register 192 - */ 193 - 194 - #define _SKPCR _SA1101(0x00000400) 195 - #define _SKCDR _SA1101(0x00040000) 196 - #define _DACDR1 _SA1101(0x00060000) 197 - #define _DACDR2 _SA1101(0x00060400) 198 - 199 - #if LANGUAGE == C 200 - #define SKPCR (*((volatile Word *) SA1101_p2v (_SKPCR))) 201 - #define SKCDR (*((volatile Word *) SA1101_p2v (_SKCDR))) 202 - #define DACDR1 (*((volatile Word *) SA1101_p2v (_DACDR1))) 203 - #define DACDR2 (*((volatile Word *) SA1101_p2v (_DACDR2))) 204 - 205 - #define SKPCR_UCLKEn 0x01 /* USB Enable */ 206 - #define SKPCR_PCLKEn 0x02 /* PS/2 Enable */ 207 - #define SKPCR_ICLKEn 0x04 /* Interrupt Controller Enable */ 208 - #define SKPCR_VCLKEn 0x08 /* Video Controller Enable */ 209 - #define SKPCR_PICLKEn 0x10 /* parallel port Enable */ 210 - #define SKPCR_DCLKEn 0x20 /* DACs Enable */ 211 - #define SKPCR_nKPADEn 0x40 /* Multiplexer */ 212 - 213 - #define SKCDR_PLLMul Fld(7,0) /* PLL Multiplier */ 214 - #define SKCDR_VCLKEn Fld(2,7) /* Video controller clock divider */ 215 - #define SKDCR_BCLKEn (1<<9) /* BCLK Divider */ 216 - #define SKDCR_UTESTCLKEn (1<<10) /* Route USB clock during test mode */ 217 - #define SKDCR_DivRValue Fld(6,11) /* Input clock divider for PLL */ 218 - #define SKDCR_DivNValue Fld(5,17) /* Output clock divider for PLL */ 219 - #define SKDCR_PLLRSH Fld(3,22) /* PLL bandwidth control */ 220 - #define SKDCR_ChargePump (1<<25) /* Charge pump control */ 221 - #define SKDCR_ClkTestMode (1<<26) /* Clock output test mode */ 222 - #define SKDCR_ClkTestEn (1<<27) /* Test clock generator */ 223 - #define SKDCR_ClkJitterCntl Fld(3,28) /* video clock jitter compensation */ 224 - 225 - #define DACDR_DACCount Fld(8,0) /* Count value */ 226 - #define DACDR1_DACCount DACDR_DACCount 227 - #define DACDR2_DACCount DACDR_DACCount 228 - 229 - #endif /* LANGUAGE == C */ 230 - 231 - /* 232 - * Parallel Port Interface 233 - * 234 - * Registers 235 - * IEEE_Config IEEE mode selection and programmable attributes 236 - * IEEE_Control Controls the states of IEEE port control outputs 237 - * IEEE_Data Forward transfer data register 238 - * IEEE_Addr Forward transfer address register 239 - * IEEE_Status Port IO signal status register 240 - * IEEE_IntStatus Port interrupts status register 241 - * IEEE_FifoLevels Rx and Tx FIFO interrupt generation levels 242 - * IEEE_InitTime Forward timeout counter initial value 243 - * IEEE_TimerStatus Forward timeout counter current value 244 - * IEEE_FifoReset Reset forward transfer FIFO 245 - * IEEE_ReloadValue Counter reload value 246 - * IEEE_TestControl Control testmode 247 - * IEEE_TestDataIn Test data register 248 - * IEEE_TestDataInEn Enable test data 249 - * IEEE_TestCtrlIn Test control signals 250 - * IEEE_TestCtrlInEn Enable test control signals 251 - * IEEE_TestDataStat Current data bus value 252 - * 253 - */ 254 - 255 - /* 256 - * The control registers are defined as offsets from a base address 257 - */ 258 - 259 - #define _IEEE( x ) _SA1101( (x) + __PARALLEL_PORT ) 260 - 261 - #define _IEEE_Config _IEEE( 0x0000 ) 262 - #define _IEEE_Control _IEEE( 0x0400 ) 263 - #define _IEEE_Data _IEEE( 0x4000 ) 264 - #define _IEEE_Addr _IEEE( 0x0800 ) 265 - #define _IEEE_Status _IEEE( 0x0c00 ) 266 - #define _IEEE_IntStatus _IEEE( 0x1000 ) 267 - #define _IEEE_FifoLevels _IEEE( 0x1400 ) 268 - #define _IEEE_InitTime _IEEE( 0x1800 ) 269 - #define _IEEE_TimerStatus _IEEE( 0x1c00 ) 270 - #define _IEEE_FifoReset _IEEE( 0x2000 ) 271 - #define _IEEE_ReloadValue _IEEE( 0x3c00 ) 272 - #define _IEEE_TestControl _IEEE( 0x2400 ) 273 - #define _IEEE_TestDataIn _IEEE( 0x2800 ) 274 - #define _IEEE_TestDataInEn _IEEE( 0x2c00 ) 275 - #define _IEEE_TestCtrlIn _IEEE( 0x3000 ) 276 - #define _IEEE_TestCtrlInEn _IEEE( 0x3400 ) 277 - #define _IEEE_TestDataStat _IEEE( 0x3800 ) 278 - 279 - 280 - #if LANGUAGE == C 281 - #define IEEE_Config (*((volatile Word *) SA1101_p2v (_IEEE_Config))) 282 - #define IEEE_Control (*((volatile Word *) SA1101_p2v (_IEEE_Control))) 283 - #define IEEE_Data (*((volatile Word *) SA1101_p2v (_IEEE_Data))) 284 - #define IEEE_Addr (*((volatile Word *) SA1101_p2v (_IEEE_Addr))) 285 - #define IEEE_Status (*((volatile Word *) SA1101_p2v (_IEEE_Status))) 286 - #define IEEE_IntStatus (*((volatile Word *) SA1101_p2v (_IEEE_IntStatus))) 287 - #define IEEE_FifoLevels (*((volatile Word *) SA1101_p2v (_IEEE_FifoLevels))) 288 - #define IEEE_InitTime (*((volatile Word *) SA1101_p2v (_IEEE_InitTime))) 289 - #define IEEE_TimerStatus (*((volatile Word *) SA1101_p2v (_IEEE_TimerStatus))) 290 - #define IEEE_FifoReset (*((volatile Word *) SA1101_p2v (_IEEE_FifoReset))) 291 - #define IEEE_ReloadValue (*((volatile Word *) SA1101_p2v (_IEEE_ReloadValue))) 292 - #define IEEE_TestControl (*((volatile Word *) SA1101_p2v (_IEEE_TestControl))) 293 - #define IEEE_TestDataIn (*((volatile Word *) SA1101_p2v (_IEEE_TestDataIn))) 294 - #define IEEE_TestDataInEn (*((volatile Word *) SA1101_p2v (_IEEE_TestDataInEn))) 295 - #define IEEE_TestCtrlIn (*((volatile Word *) SA1101_p2v (_IEEE_TestCtrlIn))) 296 - #define IEEE_TestCtrlInEn (*((volatile Word *) SA1101_p2v (_IEEE_TestCtrlInEn))) 297 - #define IEEE_TestDataStat (*((volatile Word *) SA1101_p2v (_IEEE_TestDataStat))) 298 - 299 - 300 - #define IEEE_Config_M Fld(3,0) /* Mode select */ 301 - #define IEEE_Config_D 0x04 /* FIFO access enable */ 302 - #define IEEE_Config_B 0x08 /* 9-bit word enable */ 303 - #define IEEE_Config_T 0x10 /* Data transfer enable */ 304 - #define IEEE_Config_A 0x20 /* Data transfer direction */ 305 - #define IEEE_Config_E 0x40 /* Timer enable */ 306 - #define IEEE_Control_A 0x08 /* AutoFd output */ 307 - #define IEEE_Control_E 0x04 /* Selectin output */ 308 - #define IEEE_Control_T 0x02 /* Strobe output */ 309 - #define IEEE_Control_I 0x01 /* Port init output */ 310 - #define IEEE_Data_C (1<<31) /* Byte count */ 311 - #define IEEE_Data_Db Fld(9,16) /* Data byte 2 */ 312 - #define IEEE_Data_Da Fld(9,0) /* Data byte 1 */ 313 - #define IEEE_Addr_A Fld(8,0) /* forward address transfer byte */ 314 - #define IEEE_Status_A 0x0100 /* nAutoFd port output status */ 315 - #define IEEE_Status_E 0x0080 /* nSelectIn port output status */ 316 - #define IEEE_Status_T 0x0040 /* nStrobe port output status */ 317 - #define IEEE_Status_I 0x0020 /* nInit port output status */ 318 - #define IEEE_Status_B 0x0010 /* Busy port inout status */ 319 - #define IEEE_Status_S 0x0008 /* Select port input status */ 320 - #define IEEE_Status_K 0x0004 /* nAck port input status */ 321 - #define IEEE_Status_F 0x0002 /* nFault port input status */ 322 - #define IEEE_Status_R 0x0001 /* pError port input status */ 323 - 324 - #define IEEE_IntStatus_IntReqDat 0x0100 325 - #define IEEE_IntStatus_IntReqEmp 0x0080 326 - #define IEEE_IntStatus_IntReqInt 0x0040 327 - #define IEEE_IntStatus_IntReqRav 0x0020 328 - #define IEEE_IntStatus_IntReqTim 0x0010 329 - #define IEEE_IntStatus_RevAddrComp 0x0008 330 - #define IEEE_IntStatus_RevDataComp 0x0004 331 - #define IEEE_IntStatus_FwdAddrComp 0x0002 332 - #define IEEE_IntStatus_FwdDataComp 0x0001 333 - #define IEEE_FifoLevels_RevFifoLevel 2 334 - #define IEEE_FifoLevels_FwdFifoLevel 1 335 - #define IEEE_InitTime_TimValInit Fld(22,0) 336 - #define IEEE_TimerStatus_TimValStat Fld(22,0) 337 - #define IEEE_ReloadValue_Reload Fld(4,0) 338 - 339 - #define IEEE_TestControl_RegClk 0x04 340 - #define IEEE_TestControl_ClockSelect Fld(2,1) 341 - #define IEEE_TestControl_TimerTestModeEn 0x01 342 - #define IEEE_TestCtrlIn_PError 0x10 343 - #define IEEE_TestCtrlIn_nFault 0x08 344 - #define IEEE_TestCtrlIn_nAck 0x04 345 - #define IEEE_TestCtrlIn_PSel 0x02 346 - #define IEEE_TestCtrlIn_Busy 0x01 347 - 348 - #endif /* LANGUAGE == C */ 349 - 350 - /* 351 - * VGA Controller 352 - * 353 - * Registers 354 - * VideoControl Video Control Register 355 - * VgaTiming0 VGA Timing Register 0 356 - * VgaTiming1 VGA Timing Register 1 357 - * VgaTiming2 VGA Timing Register 2 358 - * VgaTiming3 VGA Timing Register 3 359 - * VgaBorder VGA Border Color Register 360 - * VgaDBAR VGADMA Base Address Register 361 - * VgaDCAR VGADMA Channel Current Address Register 362 - * VgaStatus VGA Status Register 363 - * VgaInterruptMask VGA Interrupt Mask Register 364 - * VgaPalette VGA Palette Registers 365 - * DacControl DAC Control Register 366 - * VgaTest VGA Controller Test Register 367 - */ 368 - 369 - #define _VGA( x ) _SA1101( ( x ) + __VGA_CONTROL ) 370 - 371 - #define _VideoControl _VGA( 0x0000 ) 372 - #define _VgaTiming0 _VGA( 0x0400 ) 373 - #define _VgaTiming1 _VGA( 0x0800 ) 374 - #define _VgaTiming2 _VGA( 0x0c00 ) 375 - #define _VgaTiming3 _VGA( 0x1000 ) 376 - #define _VgaBorder _VGA( 0x1400 ) 377 - #define _VgaDBAR _VGA( 0x1800 ) 378 - #define _VgaDCAR _VGA( 0x1c00 ) 379 - #define _VgaStatus _VGA( 0x2000 ) 380 - #define _VgaInterruptMask _VGA( 0x2400 ) 381 - #define _VgaPalette _VGA( 0x40000 ) 382 - #define _DacControl _VGA( 0x3000 ) 383 - #define _VgaTest _VGA( 0x2c00 ) 384 - 385 - #if (LANGUAGE == C) 386 - #define VideoControl (*((volatile Word *) SA1101_p2v (_VideoControl))) 387 - #define VgaTiming0 (*((volatile Word *) SA1101_p2v (_VgaTiming0))) 388 - #define VgaTiming1 (*((volatile Word *) SA1101_p2v (_VgaTiming1))) 389 - #define VgaTiming2 (*((volatile Word *) SA1101_p2v (_VgaTiming2))) 390 - #define VgaTiming3 (*((volatile Word *) SA1101_p2v (_VgaTiming3))) 391 - #define VgaBorder (*((volatile Word *) SA1101_p2v (_VgaBorder))) 392 - #define VgaDBAR (*((volatile Word *) SA1101_p2v (_VgaDBAR))) 393 - #define VgaDCAR (*((volatile Word *) SA1101_p2v (_VgaDCAR))) 394 - #define VgaStatus (*((volatile Word *) SA1101_p2v (_VgaStatus))) 395 - #define VgaInterruptMask (*((volatile Word *) SA1101_p2v (_VgaInterruptMask))) 396 - #define VgaPalette (*((volatile Word *) SA1101_p2v (_VgaPalette))) 397 - #define DacControl (*((volatile Word *) SA1101_p2v (_DacControl))) 398 - #define VgaTest (*((volatile Word *) SA1101_p2v (_VgaTest))) 399 - 400 - #define VideoControl_VgaEn 0x00000000 401 - #define VideoControl_BGR 0x00000001 402 - #define VideoControl_VCompVal Fld(2,2) 403 - #define VideoControl_VgaReq Fld(4,4) 404 - #define VideoControl_VBurstL Fld(4,8) 405 - #define VideoControl_VMode (1<<12) 406 - #define VideoControl_PalRead (1<<13) 407 - 408 - #define VgaTiming0_PPL Fld(6,2) 409 - #define VgaTiming0_HSW Fld(8,8) 410 - #define VgaTiming0_HFP Fld(8,16) 411 - #define VgaTiming0_HBP Fld(8,24) 412 - 413 - #define VgaTiming1_LPS Fld(10,0) 414 - #define VgaTiming1_VSW Fld(6,10) 415 - #define VgaTiming1_VFP Fld(8,16) 416 - #define VgaTiming1_VBP Fld(8,24) 417 - 418 - #define VgaTiming2_IVS 0x01 419 - #define VgaTiming2_IHS 0x02 420 - #define VgaTiming2_CVS 0x04 421 - #define VgaTiming2_CHS 0x08 422 - 423 - #define VgaTiming3_HBS Fld(8,0) 424 - #define VgaTiming3_HBE Fld(8,8) 425 - #define VgaTiming3_VBS Fld(8,16) 426 - #define VgaTiming3_VBE Fld(8,24) 427 - 428 - #define VgaBorder_BCOL Fld(24,0) 429 - 430 - #define VgaStatus_VFUF 0x01 431 - #define VgaStatus_VNext 0x02 432 - #define VgaStatus_VComp 0x04 433 - 434 - #define VgaInterruptMask_VFUFMask 0x00 435 - #define VgaInterruptMask_VNextMask 0x01 436 - #define VgaInterruptMask_VCompMask 0x02 437 - 438 - #define VgaPalette_R Fld(8,0) 439 - #define VgaPalette_G Fld(8,8) 440 - #define VgaPalette_B Fld(8,16) 441 - 442 - #define DacControl_DACON 0x0001 443 - #define DacControl_COMPON 0x0002 444 - #define DacControl_PEDON 0x0004 445 - #define DacControl_RTrim Fld(5,4) 446 - #define DacControl_GTrim Fld(5,9) 447 - #define DacControl_BTrim Fld(5,14) 448 - 449 - #define VgaTest_TDAC 0x00 450 - #define VgaTest_Datatest Fld(4,1) 451 - #define VgaTest_DACTESTDAC 0x10 452 - #define VgaTest_DACTESTOUT Fld(3,5) 453 - 454 - #endif /* LANGUAGE == C */ 455 - 456 - /* 457 - * USB Host Interface Controller 458 - * 459 - * Registers 460 - * Revision 461 - * Control 462 - * CommandStatus 463 - * InterruptStatus 464 - * InterruptEnable 465 - * HCCA 466 - * PeriodCurrentED 467 - * ControlHeadED 468 - * BulkHeadED 469 - * BulkCurrentED 470 - * DoneHead 471 - * FmInterval 472 - * FmRemaining 473 - * FmNumber 474 - * PeriodicStart 475 - * LSThreshold 476 - * RhDescriptorA 477 - * RhDescriptorB 478 - * RhStatus 479 - * RhPortStatus 480 - * USBStatus 481 - * USBReset 482 - * USTAR 483 - * USWER 484 - * USRFR 485 - * USNFR 486 - * USTCSR 487 - * USSR 488 - * 489 - */ 490 - 491 - #define _USB( x ) _SA1101( ( x ) + __USB_CONTROL ) 492 - 493 - 494 - #define _Revision _USB( 0x0000 ) 495 - #define _Control _USB( 0x0888 ) 496 - #define _CommandStatus _USB( 0x0c00 ) 497 - #define _InterruptStatus _USB( 0x1000 ) 498 - #define _InterruptEnable _USB( 0x1400 ) 499 - #define _HCCA _USB( 0x1800 ) 500 - #define _PeriodCurrentED _USB( 0x1c00 ) 501 - #define _ControlHeadED _USB( 0x2000 ) 502 - #define _BulkHeadED _USB( 0x2800 ) 503 - #define _BulkCurrentED _USB( 0x2c00 ) 504 - #define _DoneHead _USB( 0x3000 ) 505 - #define _FmInterval _USB( 0x3400 ) 506 - #define _FmRemaining _USB( 0x3800 ) 507 - #define _FmNumber _USB( 0x3c00 ) 508 - #define _PeriodicStart _USB( 0x4000 ) 509 - #define _LSThreshold _USB( 0x4400 ) 510 - #define _RhDescriptorA _USB( 0x4800 ) 511 - #define _RhDescriptorB _USB( 0x4c00 ) 512 - #define _RhStatus _USB( 0x5000 ) 513 - #define _RhPortStatus _USB( 0x5400 ) 514 - #define _USBStatus _USB( 0x11800 ) 515 - #define _USBReset _USB( 0x11c00 ) 516 - 517 - #define _USTAR _USB( 0x10400 ) 518 - #define _USWER _USB( 0x10800 ) 519 - #define _USRFR _USB( 0x10c00 ) 520 - #define _USNFR _USB( 0x11000 ) 521 - #define _USTCSR _USB( 0x11400 ) 522 - #define _USSR _USB( 0x11800 ) 523 - 524 - 525 - #if (LANGUAGE == C) 526 - 527 - #define Revision (*((volatile Word *) SA1101_p2v (_Revision))) 528 - #define Control (*((volatile Word *) SA1101_p2v (_Control))) 529 - #define CommandStatus (*((volatile Word *) SA1101_p2v (_CommandStatus))) 530 - #define InterruptStatus (*((volatile Word *) SA1101_p2v (_InterruptStatus))) 531 - #define InterruptEnable (*((volatile Word *) SA1101_p2v (_InterruptEnable))) 532 - #define HCCA (*((volatile Word *) SA1101_p2v (_HCCA))) 533 - #define PeriodCurrentED (*((volatile Word *) SA1101_p2v (_PeriodCurrentED))) 534 - #define ControlHeadED (*((volatile Word *) SA1101_p2v (_ControlHeadED))) 535 - #define BulkHeadED (*((volatile Word *) SA1101_p2v (_BulkHeadED))) 536 - #define BulkCurrentED (*((volatile Word *) SA1101_p2v (_BulkCurrentED))) 537 - #define DoneHead (*((volatile Word *) SA1101_p2v (_DoneHead))) 538 - #define FmInterval (*((volatile Word *) SA1101_p2v (_FmInterval))) 539 - #define FmRemaining (*((volatile Word *) SA1101_p2v (_FmRemaining))) 540 - #define FmNumber (*((volatile Word *) SA1101_p2v (_FmNumber))) 541 - #define PeriodicStart (*((volatile Word *) SA1101_p2v (_PeriodicStart))) 542 - #define LSThreshold (*((volatile Word *) SA1101_p2v (_LSThreshold))) 543 - #define RhDescriptorA (*((volatile Word *) SA1101_p2v (_RhDescriptorA))) 544 - #define RhDescriptorB (*((volatile Word *) SA1101_p2v (_RhDescriptorB))) 545 - #define RhStatus (*((volatile Word *) SA1101_p2v (_RhStatus))) 546 - #define RhPortStatus (*((volatile Word *) SA1101_p2v (_RhPortStatus))) 547 - #define USBStatus (*((volatile Word *) SA1101_p2v (_USBStatus))) 548 - #define USBReset (*((volatile Word *) SA1101_p2v (_USBReset))) 549 - #define USTAR (*((volatile Word *) SA1101_p2v (_USTAR))) 550 - #define USWER (*((volatile Word *) SA1101_p2v (_USWER))) 551 - #define USRFR (*((volatile Word *) SA1101_p2v (_USRFR))) 552 - #define USNFR (*((volatile Word *) SA1101_p2v (_USNFR))) 553 - #define USTCSR (*((volatile Word *) SA1101_p2v (_USTCSR))) 554 - #define USSR (*((volatile Word *) SA1101_p2v (_USSR))) 555 - 556 - 557 - #define USBStatus_IrqHciRmtWkp (1<<7) 558 - #define USBStatus_IrqHciBuffAcc (1<<8) 559 - #define USBStatus_nIrqHciM (1<<9) 560 - #define USBStatus_nHciMFClr (1<<10) 561 - 562 - #define USBReset_ForceIfReset 0x01 563 - #define USBReset_ForceHcReset 0x02 564 - #define USBReset_ClkGenReset 0x04 565 - 566 - #define USTCR_RdBstCntrl Fld(3,0) 567 - #define USTCR_ByteEnable Fld(4,3) 568 - #define USTCR_WriteEn (1<<7) 569 - #define USTCR_FifoCir (1<<8) 570 - #define USTCR_TestXferSel (1<<9) 571 - #define USTCR_FifoCirAtEnd (1<<10) 572 - #define USTCR_nSimScaleDownClk (1<<11) 573 - 574 - #define USSR_nAppMDEmpty 0x01 575 - #define USSR_nAppMDFirst 0x02 576 - #define USSR_nAppMDLast 0x04 577 - #define USSR_nAppMDFull 0x08 578 - #define USSR_nAppMAFull 0x10 579 - #define USSR_XferReq 0x20 580 - #define USSR_XferEnd 0x40 581 - 582 - #endif /* LANGUAGE == C */ 583 - 584 - 585 - /* 586 - * Interrupt Controller 587 - * 588 - * Registers 589 - * INTTEST0 Test register 0 590 - * INTTEST1 Test register 1 591 - * INTENABLE0 Interrupt Enable register 0 592 - * INTENABLE1 Interrupt Enable register 1 593 - * INTPOL0 Interrupt Polarity selection 0 594 - * INTPOL1 Interrupt Polarity selection 1 595 - * INTTSTSEL Interrupt source selection 596 - * INTSTATCLR0 Interrupt Status 0 597 - * INTSTATCLR1 Interrupt Status 1 598 - * INTSET0 Interrupt Set 0 599 - * INTSET1 Interrupt Set 1 600 - */ 601 - 602 - #define _INT( x ) _SA1101( ( x ) + __INTERRUPT_CONTROL) 603 - 604 - #define _INTTEST0 _INT( 0x1000 ) 605 - #define _INTTEST1 _INT( 0x1400 ) 606 - #define _INTENABLE0 _INT( 0x2000 ) 607 - #define _INTENABLE1 _INT( 0x2400 ) 608 - #define _INTPOL0 _INT( 0x3000 ) 609 - #define _INTPOL1 _INT( 0x3400 ) 610 - #define _INTTSTSEL _INT( 0x5000 ) 611 - #define _INTSTATCLR0 _INT( 0x6000 ) 612 - #define _INTSTATCLR1 _INT( 0x6400 ) 613 - #define _INTSET0 _INT( 0x7000 ) 614 - #define _INTSET1 _INT( 0x7400 ) 615 - 616 - #if ( LANGUAGE == C ) 617 - #define INTTEST0 (*((volatile Word *) SA1101_p2v (_INTTEST0))) 618 - #define INTTEST1 (*((volatile Word *) SA1101_p2v (_INTTEST1))) 619 - #define INTENABLE0 (*((volatile Word *) SA1101_p2v (_INTENABLE0))) 620 - #define INTENABLE1 (*((volatile Word *) SA1101_p2v (_INTENABLE1))) 621 - #define INTPOL0 (*((volatile Word *) SA1101_p2v (_INTPOL0))) 622 - #define INTPOL1 (*((volatile Word *) SA1101_p2v (_INTPOL1))) 623 - #define INTTSTSEL (*((volatile Word *) SA1101_p2v (_INTTSTSEL))) 624 - #define INTSTATCLR0 (*((volatile Word *) SA1101_p2v (_INTSTATCLR0))) 625 - #define INTSTATCLR1 (*((volatile Word *) SA1101_p2v (_INTSTATCLR1))) 626 - #define INTSET0 (*((volatile Word *) SA1101_p2v (_INTSET0))) 627 - #define INTSET1 (*((volatile Word *) SA1101_p2v (_INTSET1))) 628 - 629 - #endif /* LANGUAGE == C */ 630 - 631 - /* 632 - * PS/2 Trackpad and Mouse Interfaces 633 - * 634 - * Registers (prefix kbd applies to trackpad interface, mse to mouse) 635 - * KBDCR Control Register 636 - * KBDSTAT Status Register 637 - * KBDDATA Transmit/Receive Data register 638 - * KBDCLKDIV Clock Division Register 639 - * KBDPRECNT Clock Precount Register 640 - * KBDTEST1 Test register 1 641 - * KBDTEST2 Test register 2 642 - * KBDTEST3 Test register 3 643 - * KBDTEST4 Test register 4 644 - * MSECR 645 - * MSESTAT 646 - * MSEDATA 647 - * MSECLKDIV 648 - * MSEPRECNT 649 - * MSETEST1 650 - * MSETEST2 651 - * MSETEST3 652 - * MSETEST4 653 - * 654 - */ 655 - 656 - #define _KBD( x ) _SA1101( ( x ) + __TRACK_INTERFACE ) 657 - #define _MSE( x ) _SA1101( ( x ) + __MOUSE_INTERFACE ) 658 - 659 - #define _KBDCR _KBD( 0x0000 ) 660 - #define _KBDSTAT _KBD( 0x0400 ) 661 - #define _KBDDATA _KBD( 0x0800 ) 662 - #define _KBDCLKDIV _KBD( 0x0c00 ) 663 - #define _KBDPRECNT _KBD( 0x1000 ) 664 - #define _KBDTEST1 _KBD( 0x2000 ) 665 - #define _KBDTEST2 _KBD( 0x2400 ) 666 - #define _KBDTEST3 _KBD( 0x2800 ) 667 - #define _KBDTEST4 _KBD( 0x2c00 ) 668 - #define _MSECR _MSE( 0x0000 ) 669 - #define _MSESTAT _MSE( 0x0400 ) 670 - #define _MSEDATA _MSE( 0x0800 ) 671 - #define _MSECLKDIV _MSE( 0x0c00 ) 672 - #define _MSEPRECNT _MSE( 0x1000 ) 673 - #define _MSETEST1 _MSE( 0x2000 ) 674 - #define _MSETEST2 _MSE( 0x2400 ) 675 - #define _MSETEST3 _MSE( 0x2800 ) 676 - #define _MSETEST4 _MSE( 0x2c00 ) 677 - 678 - #if ( LANGUAGE == C ) 679 - 680 - #define KBDCR (*((volatile Word *) SA1101_p2v (_KBDCR))) 681 - #define KBDSTAT (*((volatile Word *) SA1101_p2v (_KBDSTAT))) 682 - #define KBDDATA (*((volatile Word *) SA1101_p2v (_KBDDATA))) 683 - #define KBDCLKDIV (*((volatile Word *) SA1101_p2v (_KBDCLKDIV))) 684 - #define KBDPRECNT (*((volatile Word *) SA1101_p2v (_KBDPRECNT))) 685 - #define KBDTEST1 (*((volatile Word *) SA1101_p2v (_KBDTEST1))) 686 - #define KBDTEST2 (*((volatile Word *) SA1101_p2v (_KBDTEST2))) 687 - #define KBDTEST3 (*((volatile Word *) SA1101_p2v (_KBDTEST3))) 688 - #define KBDTEST4 (*((volatile Word *) SA1101_p2v (_KBDTEST4))) 689 - #define MSECR (*((volatile Word *) SA1101_p2v (_MSECR))) 690 - #define MSESTAT (*((volatile Word *) SA1101_p2v (_MSESTAT))) 691 - #define MSEDATA (*((volatile Word *) SA1101_p2v (_MSEDATA))) 692 - #define MSECLKDIV (*((volatile Word *) SA1101_p2v (_MSECLKDIV))) 693 - #define MSEPRECNT (*((volatile Word *) SA1101_p2v (_MSEPRECNT))) 694 - #define MSETEST1 (*((volatile Word *) SA1101_p2v (_MSETEST1))) 695 - #define MSETEST2 (*((volatile Word *) SA1101_p2v (_MSETEST2))) 696 - #define MSETEST3 (*((volatile Word *) SA1101_p2v (_MSETEST3))) 697 - #define MSETEST4 (*((volatile Word *) SA1101_p2v (_MSETEST4))) 698 - 699 - 700 - #define KBDCR_ENA 0x08 701 - #define KBDCR_FKD 0x02 702 - #define KBDCR_FKC 0x01 703 - 704 - #define KBDSTAT_TXE 0x80 705 - #define KBDSTAT_TXB 0x40 706 - #define KBDSTAT_RXF 0x20 707 - #define KBDSTAT_RXB 0x10 708 - #define KBDSTAT_ENA 0x08 709 - #define KBDSTAT_RXP 0x04 710 - #define KBDSTAT_KBD 0x02 711 - #define KBDSTAT_KBC 0x01 712 - 713 - #define KBDCLKDIV_DivVal Fld(4,0) 714 - 715 - #define MSECR_ENA 0x08 716 - #define MSECR_FKD 0x02 717 - #define MSECR_FKC 0x01 718 - 719 - #define MSESTAT_TXE 0x80 720 - #define MSESTAT_TXB 0x40 721 - #define MSESTAT_RXF 0x20 722 - #define MSESTAT_RXB 0x10 723 - #define MSESTAT_ENA 0x08 724 - #define MSESTAT_RXP 0x04 725 - #define MSESTAT_MSD 0x02 726 - #define MSESTAT_MSC 0x01 727 - 728 - #define MSECLKDIV_DivVal Fld(4,0) 729 - 730 - #define KBDTEST1_CD 0x80 731 - #define KBDTEST1_RC1 0x40 732 - #define KBDTEST1_MC 0x20 733 - #define KBDTEST1_C Fld(2,3) 734 - #define KBDTEST1_T2 0x40 735 - #define KBDTEST1_T1 0x20 736 - #define KBDTEST1_T0 0x10 737 - #define KBDTEST2_TICBnRES 0x08 738 - #define KBDTEST2_RKC 0x04 739 - #define KBDTEST2_RKD 0x02 740 - #define KBDTEST2_SEL 0x01 741 - #define KBDTEST3_ms_16 0x80 742 - #define KBDTEST3_us_64 0x40 743 - #define KBDTEST3_us_16 0x20 744 - #define KBDTEST3_DIV8 0x10 745 - #define KBDTEST3_DIn 0x08 746 - #define KBDTEST3_CIn 0x04 747 - #define KBDTEST3_KD 0x02 748 - #define KBDTEST3_KC 0x01 749 - #define KBDTEST4_BC12 0x80 750 - #define KBDTEST4_BC11 0x40 751 - #define KBDTEST4_TRES 0x20 752 - #define KBDTEST4_CLKOE 0x10 753 - #define KBDTEST4_CRES 0x08 754 - #define KBDTEST4_RXB 0x04 755 - #define KBDTEST4_TXB 0x02 756 - #define KBDTEST4_SRX 0x01 757 - 758 - #define MSETEST1_CD 0x80 759 - #define MSETEST1_RC1 0x40 760 - #define MSETEST1_MC 0x20 761 - #define MSETEST1_C Fld(2,3) 762 - #define MSETEST1_T2 0x40 763 - #define MSETEST1_T1 0x20 764 - #define MSETEST1_T0 0x10 765 - #define MSETEST2_TICBnRES 0x08 766 - #define MSETEST2_RKC 0x04 767 - #define MSETEST2_RKD 0x02 768 - #define MSETEST2_SEL 0x01 769 - #define MSETEST3_ms_16 0x80 770 - #define MSETEST3_us_64 0x40 771 - #define MSETEST3_us_16 0x20 772 - #define MSETEST3_DIV8 0x10 773 - #define MSETEST3_DIn 0x08 774 - #define MSETEST3_CIn 0x04 775 - #define MSETEST3_KD 0x02 776 - #define MSETEST3_KC 0x01 777 - #define MSETEST4_BC12 0x80 778 - #define MSETEST4_BC11 0x40 779 - #define MSETEST4_TRES 0x20 780 - #define MSETEST4_CLKOE 0x10 781 - #define MSETEST4_CRES 0x08 782 - #define MSETEST4_RXB 0x04 783 - #define MSETEST4_TXB 0x02 784 - #define MSETEST4_SRX 0x01 785 - 786 - #endif /* LANGUAGE == C */ 787 - 788 - 789 - /* 790 - * General-Purpose I/O Interface 791 - * 792 - * Registers 793 - * PADWR Port A Data Write Register 794 - * PBDWR Port B Data Write Register 795 - * PADRR Port A Data Read Register 796 - * PBDRR Port B Data Read Register 797 - * PADDR Port A Data Direction Register 798 - * PBDDR Port B Data Direction Register 799 - * PASSR Port A Sleep State Register 800 - * PBSSR Port B Sleep State Register 801 - * 802 - */ 803 - 804 - #define _PIO( x ) _SA1101( ( x ) + __GPIO_INTERFACE ) 805 - 806 - #define _PADWR _PIO( 0x0000 ) 807 - #define _PBDWR _PIO( 0x0400 ) 808 - #define _PADRR _PIO( 0x0000 ) 809 - #define _PBDRR _PIO( 0x0400 ) 810 - #define _PADDR _PIO( 0x0800 ) 811 - #define _PBDDR _PIO( 0x0c00 ) 812 - #define _PASSR _PIO( 0x1000 ) 813 - #define _PBSSR _PIO( 0x1400 ) 814 - 815 - 816 - #if ( LANGUAGE == C ) 817 - 818 - 819 - #define PADWR (*((volatile Word *) SA1101_p2v (_PADWR))) 820 - #define PBDWR (*((volatile Word *) SA1101_p2v (_PBDWR))) 821 - #define PADRR (*((volatile Word *) SA1101_p2v (_PADRR))) 822 - #define PBDRR (*((volatile Word *) SA1101_p2v (_PBDRR))) 823 - #define PADDR (*((volatile Word *) SA1101_p2v (_PADDR))) 824 - #define PBDDR (*((volatile Word *) SA1101_p2v (_PBDDR))) 825 - #define PASSR (*((volatile Word *) SA1101_p2v (_PASSR))) 826 - #define PBSSR (*((volatile Word *) SA1101_p2v (_PBSSR))) 827 - 828 - #endif 829 - 830 - 831 - 832 - /* 833 - * Keypad Interface 834 - * 835 - * Registers 836 - * PXDWR 837 - * PXDRR 838 - * PYDWR 839 - * PYDRR 840 - * 841 - */ 842 - 843 - #define _KEYPAD( x ) _SA1101( ( x ) + __KEYPAD_INTERFACE ) 844 - 845 - #define _PXDWR _KEYPAD( 0x0000 ) 846 - #define _PXDRR _KEYPAD( 0x0000 ) 847 - #define _PYDWR _KEYPAD( 0x0400 ) 848 - #define _PYDRR _KEYPAD( 0x0400 ) 849 - 850 - #if ( LANGUAGE == C ) 851 - 852 - 853 - #define PXDWR (*((volatile Word *) SA1101_p2v (_PXDWR))) 854 - #define PXDRR (*((volatile Word *) SA1101_p2v (_PXDRR))) 855 - #define PYDWR (*((volatile Word *) SA1101_p2v (_PYDWR))) 856 - #define PYDRR (*((volatile Word *) SA1101_p2v (_PYDRR))) 857 - 858 - #endif 859 - 860 - 861 - 862 - /* 863 - * PCMCIA Interface 864 - * 865 - * Registers 866 - * PCSR Status Register 867 - * PCCR Control Register 868 - * PCSSR Sleep State Register 869 - * 870 - */ 871 - 872 - #define _CARD( x ) _SA1101( ( x ) + __PCMCIA_INTERFACE ) 873 - 874 - #define _PCSR _CARD( 0x0000 ) 875 - #define _PCCR _CARD( 0x0400 ) 876 - #define _PCSSR _CARD( 0x0800 ) 877 - 878 - #if ( LANGUAGE == C ) 879 - #define PCSR (*((volatile Word *) SA1101_p2v (_PCSR))) 880 - #define PCCR (*((volatile Word *) SA1101_p2v (_PCCR))) 881 - #define PCSSR (*((volatile Word *) SA1101_p2v (_PCSSR))) 882 - 883 - #define PCSR_S0_ready 0x0001 884 - #define PCSR_S1_ready 0x0002 885 - #define PCSR_S0_detected 0x0004 886 - #define PCSR_S1_detected 0x0008 887 - #define PCSR_S0_VS1 0x0010 888 - #define PCSR_S0_VS2 0x0020 889 - #define PCSR_S1_VS1 0x0040 890 - #define PCSR_S1_VS2 0x0080 891 - #define PCSR_S0_WP 0x0100 892 - #define PCSR_S1_WP 0x0200 893 - #define PCSR_S0_BVD1_nSTSCHG 0x0400 894 - #define PCSR_S0_BVD2_nSPKR 0x0800 895 - #define PCSR_S1_BVD1_nSTSCHG 0x1000 896 - #define PCSR_S1_BVD2_nSPKR 0x2000 897 - 898 - #define PCCR_S0_VPP0 0x0001 899 - #define PCCR_S0_VPP1 0x0002 900 - #define PCCR_S0_VCC0 0x0004 901 - #define PCCR_S0_VCC1 0x0008 902 - #define PCCR_S1_VPP0 0x0010 903 - #define PCCR_S1_VPP1 0x0020 904 - #define PCCR_S1_VCC0 0x0040 905 - #define PCCR_S1_VCC1 0x0080 906 - #define PCCR_S0_reset 0x0100 907 - #define PCCR_S1_reset 0x0200 908 - #define PCCR_S0_float 0x0400 909 - #define PCCR_S1_float 0x0800 910 - 911 - #define PCSSR_S0_VCC0 0x0001 912 - #define PCSSR_S0_VCC1 0x0002 913 - #define PCSSR_S0_VPP0 0x0004 914 - #define PCSSR_S0_VPP1 0x0008 915 - #define PCSSR_S0_control 0x0010 916 - #define PCSSR_S1_VCC0 0x0020 917 - #define PCSSR_S1_VCC1 0x0040 918 - #define PCSSR_S1_VPP0 0x0080 919 - #define PCSSR_S1_VPP1 0x0100 920 - #define PCSSR_S1_control 0x0200 921 - 922 - #endif 923 - 924 - #undef C 925 - #undef Assembly
-4
arch/arm/mach-sa1100/include/mach/hardware.h
··· 56 56 57 57 #include "SA-1100.h" 58 58 59 - #ifdef CONFIG_SA1101 60 - #include "SA-1101.h" 61 - #endif 62 - 63 59 #endif /* _ASM_ARCH_HARDWARE_H */
+7 -1
arch/arm/mm/Kconfig
··· 991 991 config CACHE_UNIPHIER 992 992 bool "Enable the UniPhier outer cache controller" 993 993 depends on ARCH_UNIPHIER 994 - default y 994 + select ARM_L1_CACHE_SHIFT_7 995 995 select OUTER_CACHE 996 996 select OUTER_CACHE_SYNC 997 997 help ··· 1012 1012 help 1013 1013 Setting ARM L1 cache line size to 64 Bytes. 1014 1014 1015 + config ARM_L1_CACHE_SHIFT_7 1016 + bool 1017 + help 1018 + Setting ARM L1 cache line size to 128 Bytes. 1019 + 1015 1020 config ARM_L1_CACHE_SHIFT 1016 1021 int 1022 + default 7 if ARM_L1_CACHE_SHIFT_7 1017 1023 default 6 if ARM_L1_CACHE_SHIFT_6 1018 1024 default 5 1019 1025
+24 -10
arch/arm/mm/abort-lv4t.S
··· 7 7 * : r4 = aborted context pc 8 8 * : r5 = aborted context psr 9 9 * 10 - * Returns : r4-r5, r10-r11, r13 preserved 10 + * Returns : r4-r5, r9-r11, r13 preserved 11 11 * 12 12 * Purpose : obtain information about current aborted instruction. 13 13 * Note: we read user space. This means we might cause a data ··· 48 48 /* c */ b do_DataAbort @ ldc rd, [rn], #m @ Same as ldr rd, [rn], #m 49 49 /* d */ b do_DataAbort @ ldc rd, [rn, #m] 50 50 /* e */ b .data_unknown 51 - /* f */ 51 + /* f */ b .data_unknown 52 + 53 + .data_unknown_r9: 54 + ldr r9, [sp], #4 52 55 .data_unknown: @ Part of jumptable 53 56 mov r0, r4 54 57 mov r1, r8 ··· 60 57 .data_arm_ldmstm: 61 58 tst r8, #1 << 21 @ check writeback bit 62 59 beq do_DataAbort @ no writeback -> no fixup 60 + str r9, [sp, #-4]! 63 61 mov r7, #0x11 64 62 orr r7, r7, #0x1100 65 63 and r6, r8, r7 ··· 79 75 subne r7, r7, r6, lsl #2 @ Undo increment 80 76 addeq r7, r7, r6, lsl #2 @ Undo decrement 81 77 str r7, [r2, r9, lsr #14] @ Put register 'Rn' 78 + ldr r9, [sp], #4 82 79 b do_DataAbort 83 80 84 81 .data_arm_lateldrhpre: 85 82 tst r8, #1 << 21 @ Check writeback bit 86 83 beq do_DataAbort @ No writeback -> no fixup 87 84 .data_arm_lateldrhpost: 85 + str r9, [sp, #-4]! 88 86 and r9, r8, #0x00f @ get Rm / low nibble of immediate value 89 87 tst r8, #1 << 22 @ if (immediate offset) 90 88 andne r6, r8, #0xf00 @ { immediate high nibble ··· 99 93 subne r7, r7, r6 @ Undo incrmenet 100 94 addeq r7, r7, r6 @ Undo decrement 101 95 str r7, [r2, r9, lsr #14] @ Put register 'Rn' 96 + ldr r9, [sp], #4 102 97 b do_DataAbort 103 98 104 99 .data_arm_lateldrpreconst: ··· 108 101 .data_arm_lateldrpostconst: 109 102 movs r6, r8, lsl #20 @ Get offset 110 103 beq do_DataAbort @ zero -> no fixup 104 + str r9, [sp, #-4]! 111 105 and r9, r8, #15 << 16 @ Extract 'n' from instruction 112 106 ldr r7, [r2, r9, lsr #14] @ Get register 'Rn' 113 107 tst r8, #1 << 23 @ Check U bit 114 108 subne r7, r7, r6, lsr #20 @ Undo increment 115 109 addeq r7, r7, r6, lsr #20 @ Undo decrement 116 110 str r7, [r2, r9, lsr #14] @ Put register 'Rn' 111 + ldr r9, [sp], #4 117 112 b do_DataAbort 118 113 119 114 .data_arm_lateldrprereg: ··· 124 115 .data_arm_lateldrpostreg: 125 116 and r7, r8, #15 @ Extract 'm' from instruction 126 117 ldr r6, [r2, r7, lsl #2] @ Get register 'Rm' 118 + str r9, [sp, #-4]! 127 119 mov r9, r8, lsr #7 @ get shift count 128 120 ands r9, r9, #31 129 121 and r7, r8, #0x70 @ get shift type ··· 136 126 b .data_arm_apply_r6_and_rn 137 127 b .data_arm_apply_r6_and_rn @ 1: LSL #0 138 128 nop 139 - b .data_unknown @ 2: MUL? 129 + b .data_unknown_r9 @ 2: MUL? 140 130 nop 141 - b .data_unknown @ 3: MUL? 131 + b .data_unknown_r9 @ 3: MUL? 142 132 nop 143 133 mov r6, r6, lsr r9 @ 4: LSR #!0 144 134 b .data_arm_apply_r6_and_rn 145 135 mov r6, r6, lsr #32 @ 5: LSR #32 146 136 b .data_arm_apply_r6_and_rn 147 - b .data_unknown @ 6: MUL? 137 + b .data_unknown_r9 @ 6: MUL? 148 138 nop 149 - b .data_unknown @ 7: MUL? 139 + b .data_unknown_r9 @ 7: MUL? 150 140 nop 151 141 mov r6, r6, asr r9 @ 8: ASR #!0 152 142 b .data_arm_apply_r6_and_rn 153 143 mov r6, r6, asr #32 @ 9: ASR #32 154 144 b .data_arm_apply_r6_and_rn 155 - b .data_unknown @ A: MUL? 145 + b .data_unknown_r9 @ A: MUL? 156 146 nop 157 - b .data_unknown @ B: MUL? 147 + b .data_unknown_r9 @ B: MUL? 158 148 nop 159 149 mov r6, r6, ror r9 @ C: ROR #!0 160 150 b .data_arm_apply_r6_and_rn 161 151 mov r6, r6, rrx @ D: RRX 162 152 b .data_arm_apply_r6_and_rn 163 - b .data_unknown @ E: MUL? 153 + b .data_unknown_r9 @ E: MUL? 164 154 nop 165 - b .data_unknown @ F: MUL? 155 + b .data_unknown_r9 @ F: MUL? 166 156 167 157 .data_thumb_abort: 168 158 ldrh r8, [r4] @ read instruction ··· 200 190 .data_thumb_pushpop: 201 191 tst r8, #1 << 10 202 192 beq .data_unknown 193 + str r9, [sp, #-4]! 203 194 and r6, r8, #0x55 @ hweight8(r8) + R bit 204 195 and r9, r8, #0xaa 205 196 add r6, r6, r9, lsr #1 ··· 215 204 addeq r7, r7, r6, lsl #2 @ increment SP if PUSH 216 205 subne r7, r7, r6, lsl #2 @ decrement SP if POP 217 206 str r7, [r2, #13 << 2] 207 + ldr r9, [sp], #4 218 208 b do_DataAbort 219 209 220 210 .data_thumb_ldmstm: 211 + str r9, [sp, #-4]! 221 212 and r6, r8, #0x55 @ hweight8(r8) 222 213 and r9, r8, #0xaa 223 214 add r6, r6, r9, lsr #1 ··· 232 219 and r6, r6, #15 @ number of regs to transfer 233 220 sub r7, r7, r6, lsl #2 @ always decrement 234 221 str r7, [r2, r9, lsr #6] 222 + ldr r9, [sp], #4 235 223 b do_DataAbort
+1 -1
arch/arm/mm/dma-mapping.c
··· 1167 1167 dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES); 1168 1168 return 0; 1169 1169 } 1170 - fs_initcall(dma_debug_do_init); 1170 + core_initcall(dma_debug_do_init); 1171 1171 1172 1172 #ifdef CONFIG_ARM_DMA_USE_IOMMU 1173 1173
+14 -13
arch/arm/mm/pageattr.c
··· 34 34 return 0; 35 35 } 36 36 37 + static bool in_range(unsigned long start, unsigned long size, 38 + unsigned long range_start, unsigned long range_end) 39 + { 40 + return start >= range_start && start < range_end && 41 + size <= range_end - start; 42 + } 43 + 37 44 static int change_memory_common(unsigned long addr, int numpages, 38 45 pgprot_t set_mask, pgprot_t clear_mask) 39 46 { 40 - unsigned long start = addr; 41 - unsigned long size = PAGE_SIZE*numpages; 42 - unsigned long end = start + size; 47 + unsigned long start = addr & PAGE_MASK; 48 + unsigned long end = PAGE_ALIGN(addr) + numpages * PAGE_SIZE; 49 + unsigned long size = end - start; 43 50 int ret; 44 51 struct page_change_data data; 45 52 46 - if (!IS_ALIGNED(addr, PAGE_SIZE)) { 47 - start &= PAGE_MASK; 48 - end = start + size; 49 - WARN_ON_ONCE(1); 50 - } 53 + WARN_ON_ONCE(start != addr); 51 54 52 - if (!numpages) 55 + if (!size) 53 56 return 0; 54 57 55 - if (start < MODULES_VADDR || start >= MODULES_END) 56 - return -EINVAL; 57 - 58 - if (end < MODULES_VADDR || start >= MODULES_END) 58 + if (!in_range(start, size, MODULES_VADDR, MODULES_END) && 59 + !in_range(start, size, VMALLOC_START, VMALLOC_END)) 59 60 return -EINVAL; 60 61 61 62 data.set_mask = set_mask;
+1 -1
arch/arm/mm/proc-v7m.S
··· 96 96 ret lr 97 97 ENDPROC(cpu_cm7_proc_fin) 98 98 99 - .section ".text.init", #alloc, #execinstr 99 + .section ".init.text", #alloc, #execinstr 100 100 101 101 __v7m_cm7_setup: 102 102 mov r8, #(V7M_SCB_CCR_DC | V7M_SCB_CCR_IC| V7M_SCB_CCR_BP)
+54 -462
arch/arm/tools/mach-types
··· 16 16 # are merged into mainline or have been edited in the machine database 17 17 # within the last 12 months. References to machine_is_NAME() do not count! 18 18 # 19 - # Last update: Fri Mar 22 17:24:50 2013 19 + # Last update: Sun Oct 30 20:21:01 2016 20 20 # 21 21 # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 22 22 # ··· 152 152 gateway7001 MACH_GATEWAY7001 GATEWAY7001 731 153 153 pcm027 MACH_PCM027 PCM027 732 154 154 anubis MACH_ANUBIS ANUBIS 734 155 - xboardgp8 MACH_XBOARDGP8 XBOARDGP8 742 156 155 akita MACH_AKITA AKITA 744 157 156 e330 MACH_E330 E330 753 158 157 nokia770 MACH_NOKIA770 NOKIA770 755 ··· 392 393 imx27_visstrim_m10 MACH_IMX27_VISSTRIM_M10 IMX27_VISSTRIM_M10 2187 393 394 portuxg20 MACH_PORTUXG20 PORTUXG20 2191 394 395 smdkc110 MACH_SMDKC110 SMDKC110 2193 395 - cabespresso MACH_CABESPRESSO CABESPRESSO 2194 396 396 omap3517evm MACH_OMAP3517EVM OMAP3517EVM 2200 397 397 netspace_v2 MACH_NETSPACE_V2 NETSPACE_V2 2201 398 398 netspace_max_v2 MACH_NETSPACE_MAX_V2 NETSPACE_MAX_V2 2202 ··· 410 412 at91sam9g20ek_2mmc MACH_AT91SAM9G20EK_2MMC AT91SAM9G20EK_2MMC 2288 411 413 bcmring MACH_BCMRING BCMRING 2289 412 414 mahimahi MACH_MAHIMAHI MAHIMAHI 2304 413 - cerebric MACH_CEREBRIC CEREBRIC 2311 414 415 smdk6442 MACH_SMDK6442 SMDK6442 2324 415 416 openrd_base MACH_OPENRD_BASE OPENRD_BASE 2325 416 417 devkit8000 MACH_DEVKIT8000 DEVKIT8000 2330 ··· 432 435 smdkv210 MACH_SMDKV210 SMDKV210 2456 433 436 omap_zoom3 MACH_OMAP_ZOOM3 OMAP_ZOOM3 2464 434 437 omap_3630sdp MACH_OMAP_3630SDP OMAP_3630SDP 2465 435 - cybook2440 MACH_CYBOOK2440 CYBOOK2440 2466 436 438 smartq7 MACH_SMARTQ7 SMARTQ7 2479 437 - watson_efm_plugin MACH_WATSON_EFM_PLUGIN WATSON_EFM_PLUGIN 2491 438 439 g4evm MACH_G4EVM G4EVM 2493 439 440 omapl138_hawkboard MACH_OMAPL138_HAWKBOARD OMAPL138_HAWKBOARD 2495 440 441 ts41x MACH_TS41X TS41X 2502 ··· 467 472 sbc3530 MACH_SBC3530 SBC3530 2722 468 473 saarb MACH_SAARB SAARB 2727 469 474 harmony MACH_HARMONY HARMONY 2731 470 - cybook_orizon MACH_CYBOOK_ORIZON CYBOOK_ORIZON 2733 471 475 msm7x30_fluid MACH_MSM7X30_FLUID MSM7X30_FLUID 2741 472 476 cm_t3517 MACH_CM_T3517 CM_T3517 2750 473 477 wbd222 MACH_WBD222 WBD222 2753 ··· 484 490 smdkc210 MACH_SMDKC210 SMDKC210 2838 485 491 t5325 MACH_T5325 T5325 2846 486 492 income MACH_INCOME INCOME 2849 493 + meson MACH_MESON MESON 2853 487 494 goni MACH_GONI GONI 2862 488 495 bv07 MACH_BV07 BV07 2882 489 496 openrd_ultimate MACH_OPENRD_ULTIMATE OPENRD_ULTIMATE 2884 ··· 518 523 paz00 MACH_PAZ00 PAZ00 3128 519 524 acmenetusfoxg20 MACH_ACMENETUSFOXG20 ACMENETUSFOXG20 3129 520 525 ag5evm MACH_AG5EVM AG5EVM 3189 521 - ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 522 526 wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 523 527 trimslice MACH_TRIMSLICE TRIMSLICE 3209 528 + mackerel MACH_MACKEREL MACKEREL 3211 524 529 kaen MACH_KAEN KAEN 3217 525 530 nokia_rm680 MACH_NOKIA_RM680 NOKIA_RM680 3220 526 531 msm8960_sim MACH_MSM8960_SIM MSM8960_SIM 3230 ··· 535 540 xilinx_ep107 MACH_XILINX_EP107 XILINX_EP107 3378 536 541 nuri MACH_NURI NURI 3379 537 542 origen MACH_ORIGEN ORIGEN 3455 543 + xarina MACH_XARINA XARINA 3476 538 544 nspire MACH_NSPIRE NSPIRE 3503 539 545 nokia_rm696 MACH_NOKIA_RM696 NOKIA_RM696 3522 540 - mikrap_x168 MACH_MIKRAP_X168 MIKRAP_X168 3543 541 - deto_macarm9 MACH_DETO_MACARM9 DETO_MACARM9 3568 542 546 m28evk MACH_M28EVK M28EVK 3613 543 547 kota2 MACH_KOTA2 KOTA2 3616 544 548 bonito MACH_BONITO BONITO 3623 545 - omap3_egf MACH_OMAP3_EGF OMAP3_EGF 3637 546 549 smdk4212 MACH_SMDK4212 SMDK4212 3638 547 550 apx4devkit MACH_APX4DEVKIT APX4DEVKIT 3712 548 551 smdk4412 MACH_SMDK4412 SMDK4412 3765 549 552 marzen MACH_MARZEN MARZEN 3790 550 - krome MACH_KROME KROME 3797 551 - armadillo800eva MACH_ARMADILLO800EVA ARMADILLO800EVA 3863 552 - mx53_umobo MACH_MX53_UMOBO MX53_UMOBO 3927 553 - mt4 MACH_MT4 MT4 3981 553 + empc_a500 MACH_EMPC_A500 EMPC_A500 3848 554 554 u8520 MACH_U8520 U8520 3990 555 - chupacabra MACH_CHUPACABRA CHUPACABRA 4098 556 - scorpion MACH_SCORPION SCORPION 4099 557 - davinci_he_hmi10 MACH_DAVINCI_HE_HMI10 DAVINCI_HE_HMI10 4100 558 - topkick MACH_TOPKICK TOPKICK 4101 559 - m3_auguestrush MACH_M3_AUGUESTRUSH M3_AUGUESTRUSH 4102 560 - ipc335x MACH_IPC335X IPC335X 4103 561 - sun4i MACH_SUN4I SUN4I 4104 562 - imx233_olinuxino MACH_IMX233_OLINUXINO IMX233_OLINUXINO 4105 563 - k2_wl MACH_K2_WL K2_WL 4106 564 - k2_ul MACH_K2_UL K2_UL 4107 565 - k2_cl MACH_K2_CL K2_CL 4108 566 - minbari_w MACH_MINBARI_W MINBARI_W 4109 567 - minbari_m MACH_MINBARI_M MINBARI_M 4110 568 - k035 MACH_K035 K035 4111 569 - ariel MACH_ARIEL ARIEL 4112 570 - arielsaarc MACH_ARIELSAARC ARIELSAARC 4113 571 - arieldkb MACH_ARIELDKB ARIELDKB 4114 572 - armadillo810 MACH_ARMADILLO810 ARMADILLO810 4115 573 - tam335x MACH_TAM335X TAM335X 4116 574 - grouper MACH_GROUPER GROUPER 4117 575 - mpcsa21_9g20 MACH_MPCSA21_9G20 MPCSA21_9G20 4118 576 - m6u_cpu MACH_M6U_CPU M6U_CPU 4119 577 - ginkgo MACH_GINKGO GINKGO 4121 578 - cgt_qmx6 MACH_CGT_QMX6 CGT_QMX6 4122 579 - profpga MACH_PROFPGA PROFPGA 4123 580 - acfx100oc MACH_ACFX100OC ACFX100OC 4124 581 - acfx100nb MACH_ACFX100NB ACFX100NB 4125 582 - capricorn MACH_CAPRICORN CAPRICORN 4126 583 - pisces MACH_PISCES PISCES 4127 584 - aries MACH_ARIES ARIES 4128 585 - cancer MACH_CANCER CANCER 4129 586 - leo MACH_LEO LEO 4130 587 - virgo MACH_VIRGO VIRGO 4131 588 - sagittarius MACH_SAGITTARIUS SAGITTARIUS 4132 589 - devil MACH_DEVIL DEVIL 4133 590 - ballantines MACH_BALLANTINES BALLANTINES 4134 591 - omap3_procerusvpu MACH_OMAP3_PROCERUSVPU OMAP3_PROCERUSVPU 4135 592 - my27 MACH_MY27 MY27 4136 593 - sun6i MACH_SUN6I SUN6I 4137 594 - sun5i MACH_SUN5I SUN5I 4138 595 - mx512_mx MACH_MX512_MX MX512_MX 4139 596 - kzm9g MACH_KZM9G KZM9G 4140 597 - vdstbn MACH_VDSTBN VDSTBN 4141 598 - cfa10036 MACH_CFA10036 CFA10036 4142 599 - cfa10049 MACH_CFA10049 CFA10049 4143 600 - pcm051 MACH_PCM051 PCM051 4144 601 - vybrid_vf7xx MACH_VYBRID_VF7XX VYBRID_VF7XX 4145 602 - vybrid_vf6xx MACH_VYBRID_VF6XX VYBRID_VF6XX 4146 603 - vybrid_vf5xx MACH_VYBRID_VF5XX VYBRID_VF5XX 4147 604 - vybrid_vf4xx MACH_VYBRID_VF4XX VYBRID_VF4XX 4148 605 - aria_g25 MACH_ARIA_G25 ARIA_G25 4149 606 - bcm21553 MACH_BCM21553 BCM21553 4150 607 - smdk5410 MACH_SMDK5410 SMDK5410 4151 608 - lpc18xx MACH_LPC18XX LPC18XX 4152 609 - oratisparty MACH_ORATISPARTY ORATISPARTY 4153 610 - qseven MACH_QSEVEN QSEVEN 4154 611 - gmv_generic MACH_GMV_GENERIC GMV_GENERIC 4155 612 - th_link_eth MACH_TH_LINK_ETH TH_LINK_ETH 4156 613 - tn_muninn MACH_TN_MUNINN TN_MUNINN 4157 614 - rampage MACH_RAMPAGE RAMPAGE 4158 615 - visstrim_mv10 MACH_VISSTRIM_MV10 VISSTRIM_MV10 4159 616 - mx28_wilma MACH_MX28_WILMA MX28_WILMA 4164 617 - msm8625_ffa MACH_MSM8625_FFA MSM8625_FFA 4166 618 - vpu101 MACH_VPU101 VPU101 4167 619 - baileys MACH_BAILEYS BAILEYS 4169 620 - familybox MACH_FAMILYBOX FAMILYBOX 4170 621 - ensemble_mx35 MACH_ENSEMBLE_MX35 ENSEMBLE_MX35 4171 622 - sc_sps_1 MACH_SC_SPS_1 SC_SPS_1 4172 623 - ucsimply_sam9260 MACH_UCSIMPLY_SAM9260 UCSIMPLY_SAM9260 4173 624 - unicorn MACH_UNICORN UNICORN 4174 625 - m9g45a MACH_M9G45A M9G45A 4175 626 - mtwebif MACH_MTWEBIF MTWEBIF 4176 627 - playstone MACH_PLAYSTONE PLAYSTONE 4177 628 - chelsea MACH_CHELSEA CHELSEA 4178 629 - bayern MACH_BAYERN BAYERN 4179 630 - mitwo MACH_MITWO MITWO 4180 631 - mx25_noah MACH_MX25_NOAH MX25_NOAH 4181 632 - stm_b2020 MACH_STM_B2020 STM_B2020 4182 633 - annax_src MACH_ANNAX_SRC ANNAX_SRC 4183 634 - ionics_stratus MACH_IONICS_STRATUS IONICS_STRATUS 4184 635 - hugo MACH_HUGO HUGO 4185 636 - em300 MACH_EM300 EM300 4186 637 - mmp3_qseven MACH_MMP3_QSEVEN MMP3_QSEVEN 4187 638 - bosphorus2 MACH_BOSPHORUS2 BOSPHORUS2 4188 639 - tt2200 MACH_TT2200 TT2200 4189 640 - ocelot3 MACH_OCELOT3 OCELOT3 4190 641 - tek_cobra MACH_TEK_COBRA TEK_COBRA 4191 642 - protou MACH_PROTOU PROTOU 4192 643 - msm8625_evt MACH_MSM8625_EVT MSM8625_EVT 4193 644 - mx53_sellwood MACH_MX53_SELLWOOD MX53_SELLWOOD 4194 645 - somiq_am35 MACH_SOMIQ_AM35 SOMIQ_AM35 4195 646 - somiq_am37 MACH_SOMIQ_AM37 SOMIQ_AM37 4196 647 - k2_plc_cl MACH_K2_PLC_CL K2_PLC_CL 4197 648 - tc2 MACH_TC2 TC2 4198 649 - dulex_j MACH_DULEX_J DULEX_J 4199 650 - stm_b2044 MACH_STM_B2044 STM_B2044 4200 651 - deluxe_j MACH_DELUXE_J DELUXE_J 4201 652 - mango2443 MACH_MANGO2443 MANGO2443 4202 653 - cp2dcg MACH_CP2DCG CP2DCG 4203 654 - cp2dtg MACH_CP2DTG CP2DTG 4204 655 - cp2dug MACH_CP2DUG CP2DUG 4205 656 - var_som_am33 MACH_VAR_SOM_AM33 VAR_SOM_AM33 4206 657 - pepper MACH_PEPPER PEPPER 4207 658 - mango2450 MACH_MANGO2450 MANGO2450 4208 659 - valente_wx_c9 MACH_VALENTE_WX_C9 VALENTE_WX_C9 4209 660 - minitv MACH_MINITV MINITV 4210 661 - u8540 MACH_U8540 U8540 4211 662 - iv_atlas_i_z7e MACH_IV_ATLAS_I_Z7E IV_ATLAS_I_Z7E 4212 663 - mach_type_sky MACH_MACH_TYPE_SKY MACH_TYPE_SKY 4214 664 - bluesky MACH_BLUESKY BLUESKY 4215 665 - ngrouter MACH_NGROUTER NGROUTER 4216 666 - mx53_denetim MACH_MX53_DENETIM MX53_DENETIM 4217 667 - opal MACH_OPAL OPAL 4218 668 - gnet_us3gref MACH_GNET_US3GREF GNET_US3GREF 4219 669 - gnet_nc3g MACH_GNET_NC3G GNET_NC3G 4220 670 - gnet_ge3g MACH_GNET_GE3G GNET_GE3G 4221 671 - adp2 MACH_ADP2 ADP2 4222 672 - tqma28 MACH_TQMA28 TQMA28 4223 673 - kacom3 MACH_KACOM3 KACOM3 4224 674 - rrhdemo MACH_RRHDEMO RRHDEMO 4225 675 - protodug MACH_PROTODUG PROTODUG 4226 676 - lago MACH_LAGO LAGO 4227 677 - ktt30 MACH_KTT30 KTT30 4228 678 - ts43xx MACH_TS43XX TS43XX 4229 679 - mx6q_denso MACH_MX6Q_DENSO MX6Q_DENSO 4230 680 - comsat_gsmumts8 MACH_COMSAT_GSMUMTS8 COMSAT_GSMUMTS8 4231 681 - dreamx MACH_DREAMX DREAMX 4232 682 - thunderstonem MACH_THUNDERSTONEM THUNDERSTONEM 4233 683 - yoyopad MACH_YOYOPAD YOYOPAD 4234 684 - yoyopatient MACH_YOYOPATIENT YOYOPATIENT 4235 685 - a10l MACH_A10L A10L 4236 686 - mq60 MACH_MQ60 MQ60 4237 687 - linkstation_lsql MACH_LINKSTATION_LSQL LINKSTATION_LSQL 4238 688 - am3703gateway MACH_AM3703GATEWAY AM3703GATEWAY 4239 689 - accipiter MACH_ACCIPITER ACCIPITER 4240 690 - magnidug MACH_MAGNIDUG MAGNIDUG 4242 691 - hydra MACH_HYDRA HYDRA 4243 692 - sun3i MACH_SUN3I SUN3I 4244 693 - stm_b2078 MACH_STM_B2078 STM_B2078 4245 694 - at91sam9263deskv2 MACH_AT91SAM9263DESKV2 AT91SAM9263DESKV2 4246 695 - deluxe_r MACH_DELUXE_R DELUXE_R 4247 696 - p_98_v MACH_P_98_V P_98_V 4248 697 - p_98_c MACH_P_98_C P_98_C 4249 698 - davinci_am18xx_omn MACH_DAVINCI_AM18XX_OMN DAVINCI_AM18XX_OMN 4250 699 - socfpga_cyclone5 MACH_SOCFPGA_CYCLONE5 SOCFPGA_CYCLONE5 4251 700 - cabatuin MACH_CABATUIN CABATUIN 4252 701 - yoyopad_ft MACH_YOYOPAD_FT YOYOPAD_FT 4253 702 - dan2400evb MACH_DAN2400EVB DAN2400EVB 4254 703 - dan3400evb MACH_DAN3400EVB DAN3400EVB 4255 704 - edm_sf_imx6 MACH_EDM_SF_IMX6 EDM_SF_IMX6 4256 705 - edm_cf_imx6 MACH_EDM_CF_IMX6 EDM_CF_IMX6 4257 706 - vpos3xx MACH_VPOS3XX VPOS3XX 4258 707 - vulcano_9x5 MACH_VULCANO_9X5 VULCANO_9X5 4259 708 - spmp8000 MACH_SPMP8000 SPMP8000 4260 709 - catalina MACH_CATALINA CATALINA 4261 710 - rd88f5181l_fe MACH_RD88F5181L_FE RD88F5181L_FE 4262 711 - mx535_mx MACH_MX535_MX MX535_MX 4263 712 - armadillo840 MACH_ARMADILLO840 ARMADILLO840 4264 713 - spc9000baseboard MACH_SPC9000BASEBOARD SPC9000BASEBOARD 4265 714 - iris MACH_IRIS IRIS 4266 715 - protodcg MACH_PROTODCG PROTODCG 4267 716 - palmtree MACH_PALMTREE PALMTREE 4268 717 - novena MACH_NOVENA NOVENA 4269 718 - ma_um MACH_MA_UM MA_UM 4270 719 - ma_am MACH_MA_AM MA_AM 4271 720 - ems348 MACH_EMS348 EMS348 4272 721 - cm_fx6 MACH_CM_FX6 CM_FX6 4273 722 - arndale MACH_ARNDALE ARNDALE 4274 723 - q5xr5 MACH_Q5XR5 Q5XR5 4275 724 - willow MACH_WILLOW WILLOW 4276 725 - omap3621_odyv3 MACH_OMAP3621_ODYV3 OMAP3621_ODYV3 4277 726 - omapl138_presonus MACH_OMAPL138_PRESONUS OMAPL138_PRESONUS 4278 727 - dvf99 MACH_DVF99 DVF99 4279 728 - impression_j MACH_IMPRESSION_J IMPRESSION_J 4280 729 - qblissa9 MACH_QBLISSA9 QBLISSA9 4281 730 - robin_heliview10 MACH_ROBIN_HELIVIEW10 ROBIN_HELIVIEW10 4282 731 - sun7i MACH_SUN7I SUN7I 4283 732 - mx6q_hdmidongle MACH_MX6Q_HDMIDONGLE MX6Q_HDMIDONGLE 4284 733 - mx6_sid2 MACH_MX6_SID2 MX6_SID2 4285 734 - helios_v3 MACH_HELIOS_V3 HELIOS_V3 4286 735 - helios_v4 MACH_HELIOS_V4 HELIOS_V4 4287 736 - q7_imx6 MACH_Q7_IMX6 Q7_IMX6 4288 737 - odroidx MACH_ODROIDX ODROIDX 4289 738 - robpro MACH_ROBPRO ROBPRO 4290 739 - research59if_mk1 MACH_RESEARCH59IF_MK1 RESEARCH59IF_MK1 4291 740 - bobsleigh MACH_BOBSLEIGH BOBSLEIGH 4292 741 - dcshgwt3 MACH_DCSHGWT3 DCSHGWT3 4293 742 - gld1018 MACH_GLD1018 GLD1018 4294 743 - ev10 MACH_EV10 EV10 4295 744 - nitrogen6x MACH_NITROGEN6X NITROGEN6X 4296 745 - p_107_bb MACH_P_107_BB P_107_BB 4297 746 - evita_utl MACH_EVITA_UTL EVITA_UTL 4298 747 - falconwing MACH_FALCONWING FALCONWING 4299 748 - dct3 MACH_DCT3 DCT3 4300 749 - cpx2e_cell MACH_CPX2E_CELL CPX2E_CELL 4301 750 - amiro MACH_AMIRO AMIRO 4302 751 - mx6q_brassboard MACH_MX6Q_BRASSBOARD MX6Q_BRASSBOARD 4303 752 - dalmore MACH_DALMORE DALMORE 4304 753 - omap3_portal7cp MACH_OMAP3_PORTAL7CP OMAP3_PORTAL7CP 4305 754 - tegra_pluto MACH_TEGRA_PLUTO TEGRA_PLUTO 4306 755 - mx6sl_evk MACH_MX6SL_EVK MX6SL_EVK 4307 756 - m7 MACH_M7 M7 4308 757 - pxm2 MACH_PXM2 PXM2 4309 758 - haba_knx_lite MACH_HABA_KNX_LITE HABA_KNX_LITE 4310 759 - tai MACH_TAI TAI 4311 760 - prototd MACH_PROTOTD PROTOTD 4312 761 - dst_tonto MACH_DST_TONTO DST_TONTO 4313 762 - draco MACH_DRACO DRACO 4314 763 - dxr2 MACH_DXR2 DXR2 4315 764 - rut MACH_RUT RUT 4316 765 - am180x_wsc MACH_AM180X_WSC AM180X_WSC 4317 766 - deluxe_u MACH_DELUXE_U DELUXE_U 4318 767 - deluxe_ul MACH_DELUXE_UL DELUXE_UL 4319 768 - at91sam9260medths MACH_AT91SAM9260MEDTHS AT91SAM9260MEDTHS 4320 769 - matrix516 MACH_MATRIX516 MATRIX516 4321 770 - vid401x MACH_VID401X VID401X 4322 771 - helios_v5 MACH_HELIOS_V5 HELIOS_V5 4323 772 - playpaq2 MACH_PLAYPAQ2 PLAYPAQ2 4324 773 - igam MACH_IGAM IGAM 4325 774 - amico_i MACH_AMICO_I AMICO_I 4326 775 - amico_e MACH_AMICO_E AMICO_E 4327 776 - sentient_mm3_ck MACH_SENTIENT_MM3_CK SENTIENT_MM3_CK 4328 777 - smx6 MACH_SMX6 SMX6 4329 778 - pango MACH_PANGO PANGO 4330 779 - ns115_stick MACH_NS115_STICK NS115_STICK 4331 780 - bctrm3 MACH_BCTRM3 BCTRM3 4332 781 - doctorws MACH_DOCTORWS DOCTORWS 4333 782 - m2601 MACH_M2601 M2601 4334 783 - vgg1111 MACH_VGG1111 VGG1111 4337 784 - countach MACH_COUNTACH COUNTACH 4338 785 - visstrim_sm20 MACH_VISSTRIM_SM20 VISSTRIM_SM20 4339 786 - a639 MACH_A639 A639 4340 787 - spacemonkey MACH_SPACEMONKEY SPACEMONKEY 4341 788 - zpdu_stamp MACH_ZPDU_STAMP ZPDU_STAMP 4342 789 - htc_g7_clone MACH_HTC_G7_CLONE HTC_G7_CLONE 4343 790 - ft2080_corvus MACH_FT2080_CORVUS FT2080_CORVUS 4344 791 - fisland MACH_FISLAND FISLAND 4345 792 - zpdu MACH_ZPDU ZPDU 4346 793 555 urt MACH_URT URT 4347 794 - conti_ovip MACH_CONTI_OVIP CONTI_OVIP 4348 795 - omapl138_nagra MACH_OMAPL138_NAGRA OMAPL138_NAGRA 4349 796 - da850_at3kp1 MACH_DA850_AT3KP1 DA850_AT3KP1 4350 797 - da850_at3kp2 MACH_DA850_AT3KP2 DA850_AT3KP2 4351 798 - surma MACH_SURMA SURMA 4352 799 - stm_b2092 MACH_STM_B2092 STM_B2092 4353 800 - mx535_ycr MACH_MX535_YCR MX535_YCR 4354 801 - m7_wl MACH_M7_WL M7_WL 4355 802 - m7_u MACH_M7_U M7_U 4356 803 - omap3_stndt_evm MACH_OMAP3_STNDT_EVM OMAP3_STNDT_EVM 4357 804 - m7_wlv MACH_M7_WLV M7_WLV 4358 805 - xam3517 MACH_XAM3517 XAM3517 4359 806 - a220 MACH_A220 A220 4360 807 - aclima_odie MACH_ACLIMA_ODIE ACLIMA_ODIE 4361 808 - vibble MACH_VIBBLE VIBBLE 4362 809 - k2_u MACH_K2_U K2_U 4363 810 - mx53_egf MACH_MX53_EGF MX53_EGF 4364 811 - novpek_imx53 MACH_NOVPEK_IMX53 NOVPEK_IMX53 4365 812 - novpek_imx6x MACH_NOVPEK_IMX6X NOVPEK_IMX6X 4366 813 - mx25_smartbox MACH_MX25_SMARTBOX MX25_SMARTBOX 4367 814 - eicg6410 MACH_EICG6410 EICG6410 4368 815 - picasso_e3 MACH_PICASSO_E3 PICASSO_E3 4369 816 - motonavigator MACH_MOTONAVIGATOR MOTONAVIGATOR 4370 817 - varioconnect2 MACH_VARIOCONNECT2 VARIOCONNECT2 4371 818 - deluxe_tw MACH_DELUXE_TW DELUXE_TW 4372 819 - kore3 MACH_KORE3 KORE3 4374 820 - mx6s_drs MACH_MX6S_DRS MX6S_DRS 4375 821 - cmimx6 MACH_CMIMX6 CMIMX6 4376 822 - roth MACH_ROTH ROTH 4377 823 - eq4ux MACH_EQ4UX EQ4UX 4378 824 - x1plus MACH_X1PLUS X1PLUS 4379 825 - modimx27 MACH_MODIMX27 MODIMX27 4380 826 - videon_hduac MACH_VIDEON_HDUAC VIDEON_HDUAC 4381 827 - blackbird MACH_BLACKBIRD BLACKBIRD 4382 828 - runmaster MACH_RUNMASTER RUNMASTER 4383 829 - ceres MACH_CERES CERES 4384 830 - nad435 MACH_NAD435 NAD435 4385 831 - ns115_proto_type MACH_NS115_PROTO_TYPE NS115_PROTO_TYPE 4386 832 - fs20_vcc MACH_FS20_VCC FS20_VCC 4387 833 - meson6tv_skt MACH_MESON6TV_SKT MESON6TV_SKT 4389 834 556 keystone MACH_KEYSTONE KEYSTONE 4390 835 - pcm052 MACH_PCM052 PCM052 4391 836 - qrd_skud_prime MACH_QRD_SKUD_PRIME QRD_SKUD_PRIME 4393 837 - guf_santaro MACH_GUF_SANTARO GUF_SANTARO 4395 838 - sheepshead MACH_SHEEPSHEAD SHEEPSHEAD 4396 839 - mx6_iwg15m_mxm MACH_MX6_IWG15M_MXM MX6_IWG15M_MXM 4397 840 - mx6_iwg15m_q7 MACH_MX6_IWG15M_Q7 MX6_IWG15M_Q7 4398 841 - at91sam9263if8mic MACH_AT91SAM9263IF8MIC AT91SAM9263IF8MIC 4399 842 - marcopolo MACH_MARCOPOLO MARCOPOLO 4401 843 - mx535_sdcr MACH_MX535_SDCR MX535_SDCR 4402 844 - mx53_csb2733 MACH_MX53_CSB2733 MX53_CSB2733 4403 845 - diva MACH_DIVA DIVA 4404 846 - ncr_7744 MACH_NCR_7744 NCR_7744 4405 847 - macallan MACH_MACALLAN MACALLAN 4406 848 - wnr3500 MACH_WNR3500 WNR3500 4407 849 - pgavrf MACH_PGAVRF PGAVRF 4408 850 - helios_v6 MACH_HELIOS_V6 HELIOS_V6 4409 851 - lcct MACH_LCCT LCCT 4410 852 - csndug MACH_CSNDUG CSNDUG 4411 853 - wandboard_imx6 MACH_WANDBOARD_IMX6 WANDBOARD_IMX6 4412 854 - omap4_jet MACH_OMAP4_JET OMAP4_JET 4413 855 - tegra_roth MACH_TEGRA_ROTH TEGRA_ROTH 4414 856 - m7dcg MACH_M7DCG M7DCG 4415 857 - m7dug MACH_M7DUG M7DUG 4416 858 - m7dtg MACH_M7DTG M7DTG 4417 859 - ap42x MACH_AP42X AP42X 4418 860 - var_som_mx6 MACH_VAR_SOM_MX6 VAR_SOM_MX6 4419 861 - pdlu MACH_PDLU PDLU 4420 862 - hydrogen MACH_HYDROGEN HYDROGEN 4421 863 - npa211e MACH_NPA211E NPA211E 4422 864 - arcadia MACH_ARCADIA ARCADIA 4423 865 - arcadia_l MACH_ARCADIA_L ARCADIA_L 4424 866 - msm8930dt MACH_MSM8930DT MSM8930DT 4425 867 - ktam3874 MACH_KTAM3874 KTAM3874 4426 868 - cec4 MACH_CEC4 CEC4 4427 869 - ape6evm MACH_APE6EVM APE6EVM 4428 870 - tx6 MACH_TX6 TX6 4429 871 - cfa10037 MACH_CFA10037 CFA10037 4431 872 - ezp1000 MACH_EZP1000 EZP1000 4433 873 - wgr826v MACH_WGR826V WGR826V 4434 874 - exuma MACH_EXUMA EXUMA 4435 875 - fregate MACH_FREGATE FREGATE 4436 876 - osirisimx508 MACH_OSIRISIMX508 OSIRISIMX508 4437 877 - st_exigo MACH_ST_EXIGO ST_EXIGO 4438 878 - pismo MACH_PISMO PISMO 4439 879 - atc7 MACH_ATC7 ATC7 4440 880 - nspireclp MACH_NSPIRECLP NSPIRECLP 4441 881 - nspiretp MACH_NSPIRETP NSPIRETP 4442 882 - nspirecx MACH_NSPIRECX NSPIRECX 4443 883 - maya MACH_MAYA MAYA 4444 884 - wecct MACH_WECCT WECCT 4445 885 - m2s MACH_M2S M2S 4446 886 - msm8625q_evbd MACH_MSM8625Q_EVBD MSM8625Q_EVBD 4447 887 - tiny210 MACH_TINY210 TINY210 4448 888 - g3 MACH_G3 G3 4449 889 - hurricane MACH_HURRICANE HURRICANE 4450 890 - mx6_pod MACH_MX6_POD MX6_POD 4451 891 - elondcn MACH_ELONDCN ELONDCN 4452 892 - cwmx535 MACH_CWMX535 CWMX535 4453 893 - m7_wlj MACH_M7_WLJ M7_WLJ 4454 894 - qsp_arm MACH_QSP_ARM QSP_ARM 4455 895 - msm8625q_skud MACH_MSM8625Q_SKUD MSM8625Q_SKUD 4456 896 - htcmondrian MACH_HTCMONDRIAN HTCMONDRIAN 4457 897 - watson_ead MACH_WATSON_EAD WATSON_EAD 4458 898 - mitwoa MACH_MITWOA MITWOA 4459 899 - omap3_wolverine MACH_OMAP3_WOLVERINE OMAP3_WOLVERINE 4460 900 - mapletree MACH_MAPLETREE MAPLETREE 4461 901 - msm8625_fih_sae MACH_MSM8625_FIH_SAE MSM8625_FIH_SAE 4462 902 - epc35 MACH_EPC35 EPC35 4463 903 - smartrtu MACH_SMARTRTU SMARTRTU 4464 904 - rcm101 MACH_RCM101 RCM101 4465 905 - amx_imx53_mxx MACH_AMX_IMX53_MXX AMX_IMX53_MXX 4466 906 - acer_a12 MACH_ACER_A12 ACER_A12 4470 907 - sbc6x MACH_SBC6X SBC6X 4471 908 - u2 MACH_U2 U2 4472 909 - smdk4270 MACH_SMDK4270 SMDK4270 4473 910 - priscillag MACH_PRISCILLAG PRISCILLAG 4474 911 - priscillac MACH_PRISCILLAC PRISCILLAC 4475 912 - priscilla MACH_PRISCILLA PRISCILLA 4476 913 - innova_shpu_v2 MACH_INNOVA_SHPU_V2 INNOVA_SHPU_V2 4477 914 - mach_type_dep2410 MACH_MACH_TYPE_DEP2410 MACH_TYPE_DEP2410 4479 915 - bctre3 MACH_BCTRE3 BCTRE3 4480 916 - omap_m100 MACH_OMAP_M100 OMAP_M100 4481 917 - flo MACH_FLO FLO 4482 918 - nanobone MACH_NANOBONE NANOBONE 4483 919 - stm_b2105 MACH_STM_B2105 STM_B2105 4484 920 - omap4_bsc_bap_v3 MACH_OMAP4_BSC_BAP_V3 OMAP4_BSC_BAP_V3 4485 921 - ss1pam MACH_SS1PAM SS1PAM 4486 922 - primominiu MACH_PRIMOMINIU PRIMOMINIU 4488 923 - mrt_35hd_dualnas_e MACH_MRT_35HD_DUALNAS_E MRT_35HD_DUALNAS_E 4489 924 - kiwi MACH_KIWI KIWI 4490 925 - hw90496 MACH_HW90496 HW90496 4491 926 - mep2440 MACH_MEP2440 MEP2440 4492 927 - colibri_t30 MACH_COLIBRI_T30 COLIBRI_T30 4493 928 - cwv1 MACH_CWV1 CWV1 4494 929 - nsa325 MACH_NSA325 NSA325 4495 930 - dpxmtc MACH_DPXMTC DPXMTC 4497 931 - tt_stuttgart MACH_TT_STUTTGART TT_STUTTGART 4498 932 - miranda_apcii MACH_MIRANDA_APCII MIRANDA_APCII 4499 933 - mx6q_moderox MACH_MX6Q_MODEROX MX6Q_MODEROX 4500 934 - mudskipper MACH_MUDSKIPPER MUDSKIPPER 4501 935 - urania MACH_URANIA URANIA 4502 936 - stm_b2112 MACH_STM_B2112 STM_B2112 4503 937 - mx6q_ats_phoenix MACH_MX6Q_ATS_PHOENIX MX6Q_ATS_PHOENIX 4505 938 - stm_b2116 MACH_STM_B2116 STM_B2116 4506 939 - mythology MACH_MYTHOLOGY MYTHOLOGY 4507 940 - fc360v1 MACH_FC360V1 FC360V1 4508 941 - gps_sensor MACH_GPS_SENSOR GPS_SENSOR 4509 942 - gazelle MACH_GAZELLE GAZELLE 4510 943 - mpq8064_dma MACH_MPQ8064_DMA MPQ8064_DMA 4511 944 - wems_asd01 MACH_WEMS_ASD01 WEMS_ASD01 4512 945 - apalis_t30 MACH_APALIS_T30 APALIS_T30 4513 946 - armstonea9 MACH_ARMSTONEA9 ARMSTONEA9 4515 947 - omap_blazetablet MACH_OMAP_BLAZETABLET OMAP_BLAZETABLET 4516 948 - ar6mxq MACH_AR6MXQ AR6MXQ 4517 949 - ar6mxs MACH_AR6MXS AR6MXS 4518 950 - gwventana MACH_GWVENTANA GWVENTANA 4520 951 - igep0033 MACH_IGEP0033 IGEP0033 4521 952 - h52c1_concerto MACH_H52C1_CONCERTO H52C1_CONCERTO 4524 953 - fcmbrd MACH_FCMBRD FCMBRD 4525 954 - pcaaxs1 MACH_PCAAXS1 PCAAXS1 4526 955 - ls_orca MACH_LS_ORCA LS_ORCA 4527 956 - pcm051lb MACH_PCM051LB PCM051LB 4528 957 - mx6s_lp507_gvci MACH_MX6S_LP507_GVCI MX6S_LP507_GVCI 4529 958 - dido MACH_DIDO DIDO 4530 959 - swarco_itc3_9g20 MACH_SWARCO_ITC3_9G20 SWARCO_ITC3_9G20 4531 960 - robo_roady MACH_ROBO_ROADY ROBO_ROADY 4532 961 - rskrza1 MACH_RSKRZA1 RSKRZA1 4533 962 - swarco_sid MACH_SWARCO_SID SWARCO_SID 4534 963 - mx6_iwg15s_sbc MACH_MX6_IWG15S_SBC MX6_IWG15S_SBC 4535 964 - mx6q_camaro MACH_MX6Q_CAMARO MX6Q_CAMARO 4536 965 - hb6mxs MACH_HB6MXS HB6MXS 4537 966 - lager MACH_LAGER LAGER 4538 967 - lp8x4x MACH_LP8X4X LP8X4X 4539 968 - tegratab7 MACH_TEGRATAB7 TEGRATAB7 4540 969 - andromeda MACH_ANDROMEDA ANDROMEDA 4541 970 - bootes MACH_BOOTES BOOTES 4542 971 - nethmi MACH_NETHMI NETHMI 4543 972 - tegratab MACH_TEGRATAB TEGRATAB 4544 973 - som5_evb MACH_SOM5_EVB SOM5_EVB 4545 974 - venaticorum MACH_VENATICORUM VENATICORUM 4546 975 - stm_b2110 MACH_STM_B2110 STM_B2110 4547 976 - elux_hathor MACH_ELUX_HATHOR ELUX_HATHOR 4548 977 - helios_v7 MACH_HELIOS_V7 HELIOS_V7 4549 978 - xc10v1 MACH_XC10V1 XC10V1 4550 979 - cp2u MACH_CP2U CP2U 4551 980 - iap_f MACH_IAP_F IAP_F 4552 981 - iap_g MACH_IAP_G IAP_G 4553 982 - aae MACH_AAE AAE 4554 983 - pegasus MACH_PEGASUS PEGASUS 4555 984 - cygnus MACH_CYGNUS CYGNUS 4556 985 - centaurus MACH_CENTAURUS CENTAURUS 4557 986 - msm8930_qrd8930 MACH_MSM8930_QRD8930 MSM8930_QRD8930 4558 987 - quby_tim MACH_QUBY_TIM QUBY_TIM 4559 988 - zedi3250a MACH_ZEDI3250A ZEDI3250A 4560 989 - grus MACH_GRUS GRUS 4561 990 - apollo3 MACH_APOLLO3 APOLLO3 4562 991 - cowon_r7 MACH_COWON_R7 COWON_R7 4563 992 - tonga3 MACH_TONGA3 TONGA3 4564 993 - p535 MACH_P535 P535 4565 994 - sa3874i MACH_SA3874I SA3874I 4566 995 - mx6_navico_com MACH_MX6_NAVICO_COM MX6_NAVICO_COM 4567 996 - proxmobil2 MACH_PROXMOBIL2 PROXMOBIL2 4568 997 - ubinux1 MACH_UBINUX1 UBINUX1 4569 998 - istos MACH_ISTOS ISTOS 4570 999 - benvolio4 MACH_BENVOLIO4 BENVOLIO4 4571 1000 - eco5_bx2 MACH_ECO5_BX2 ECO5_BX2 4572 1001 - eukrea_cpuimx28sd MACH_EUKREA_CPUIMX28SD EUKREA_CPUIMX28SD 4573 1002 - domotab MACH_DOMOTAB DOMOTAB 4574 1003 - pfla03 MACH_PFLA03 PFLA03 4575 557 + ckb_rza1h MACH_CKB_RZA1H CKB_RZA1H 4780 558 + bcm2835 MACH_BCM2835 BCM2835 4828 559 + cm_3g MACH_CM_3G CM_3G 4943 560 + empc_aimx6 MACH_EMPC_AIMX6 EMPC_AIMX6 4958 561 + diyefis6410 MACH_DIYEFIS6410 DIYEFIS6410 5063 562 + mx53_turing MACH_MX53_TURING MX53_TURING 5064 563 + mx6dl_turing MACH_MX6DL_TURING MX6DL_TURING 5066 564 + mx53_indash MACH_MX53_INDASH MX53_INDASH 5067 565 + mx6q_indash MACH_MX6Q_INDASH MX6Q_INDASH 5068 566 + mx6dl_indash MACH_MX6DL_INDASH MX6DL_INDASH 5069 567 + rts_g6 MACH_RTS_G6 RTS_G6 5070 568 + ka_titan MACH_KA_TITAN KA_TITAN 5071 569 + cl_som_imx7 MACH_CL_SOM_IMX7 CL_SOM_IMX7 5072 570 + vvdn_mgsi_vsis MACH_VVDN_MGSI_VSIS VVDN_MGSI_VSIS 5073 571 + mx6q_nano MACH_MX6Q_NANO MX6Q_NANO 5074 572 + pdu001 MACH_PDU001 PDU001 5075 573 + cab_proyk MACH_CAB_PROYK CAB_PROYK 5076 574 + klin MACH_KLIN KLIN 5077 575 + enman_steuerbox MACH_ENMAN_STEUERBOX ENMAN_STEUERBOX 5078 576 + ls_stingray MACH_LS_STINGRAY LS_STINGRAY 5079 577 + ipdu MACH_IPDU IPDU 5080 578 + linda MACH_LINDA LINDA 5081 579 + mx6q_openrex MACH_MX6Q_OPENREX MX6Q_OPENREX 5082 580 + on100 MACH_ON100 ON100 5083 581 + eminds_rtu12 MACH_EMINDS_RTU12 EMINDS_RTU12 5084 582 + eminds_avl10 MACH_EMINDS_AVL10 EMINDS_AVL10 5085 583 + main_plc_lme MACH_MAIN_PLC_LME MAIN_PLC_LME 5086 584 + mspx MACH_MSPX MSPX 5087 585 + cgw_300 MACH_CGW_300 CGW_300 5088 586 + mx7d_cicada MACH_MX7D_CICADA MX7D_CICADA 5089 587 + virt2real_dm365 MACH_VIRT2REAL_DM365 VIRT2REAL_DM365 5090 588 + dm365_virt2real MACH_DM365_VIRT2REAL DM365_VIRT2REAL 5091 589 + h6073 MACH_H6073 H6073 5092 590 + gtgateway MACH_GTGATEWAY GTGATEWAY 5093 591 + xarina_standard MACH_XARINA_STANDARD XARINA_STANDARD 5094 592 + novasoms MACH_NOVASOMS NOVASOMS 5095 593 + novasomp MACH_NOVASOMP NOVASOMP 5096 594 + novasomu MACH_NOVASOMU NOVASOMU 5097 595 + mx6q_mpbd MACH_MX6Q_MPBD MX6Q_MPBD 5098 596 + ncr_1930 MACH_NCR_1930 NCR_1930 5099 597 + uap301 MACH_UAP301 UAP301 5100 598 + urt02 MACH_URT02 URT02 5101 599 + atc8 MACH_ATC8 ATC8 5102 600 + iot_gateway MACH_IOT_GATEWAY IOT_GATEWAY 5103 601 + hsm_phoenix MACH_HSM_PHOENIX HSM_PHOENIX 5104 602 + missouri MACH_MISSOURI MISSOURI 5105 603 + remarkable MACH_REMARKABLE REMARKABLE 5106 604 + fa0113 MACH_FA0113 FA0113 5107 605 + innova_statnettawm MACH_INNOVA_STATNETTAWM INNOVA_STATNETTAWM 5108
+5 -5
arch/arm/vfp/vfp.h
··· 155 155 u32 significand; 156 156 }; 157 157 158 - extern s32 vfp_get_float(unsigned int reg); 159 - extern void vfp_put_float(s32 val, unsigned int reg); 158 + asmlinkage s32 vfp_get_float(unsigned int reg); 159 + asmlinkage void vfp_put_float(s32 val, unsigned int reg); 160 160 161 161 /* 162 162 * VFP_SINGLE_MANTISSA_BITS - number of bits in the mantissa ··· 270 270 #else 271 271 #define VFP_REG_ZERO 16 272 272 #endif 273 - extern u64 vfp_get_double(unsigned int reg); 274 - extern void vfp_put_double(u64 val, unsigned int reg); 273 + asmlinkage u64 vfp_get_double(unsigned int reg); 274 + asmlinkage void vfp_put_double(u64 val, unsigned int reg); 275 275 276 276 #define VFP_DOUBLE_MANTISSA_BITS (52) 277 277 #define VFP_DOUBLE_EXPONENT_BITS (11) ··· 377 377 u32 flags; 378 378 }; 379 379 380 - extern void vfp_save_state(void *location, u32 fpexc); 380 + asmlinkage void vfp_save_state(void *location, u32 fpexc);
+4 -4
arch/arm/vfp/vfpmodule.c
··· 34 34 /* 35 35 * Our undef handlers (in entry.S) 36 36 */ 37 - void vfp_testing_entry(void); 38 - void vfp_support_entry(void); 39 - void vfp_null_entry(void); 37 + asmlinkage void vfp_testing_entry(void); 38 + asmlinkage void vfp_support_entry(void); 39 + asmlinkage void vfp_null_entry(void); 40 40 41 - void (*vfp_vector)(void) = vfp_null_entry; 41 + asmlinkage void (*vfp_vector)(void) = vfp_null_entry; 42 42 43 43 /* 44 44 * Dual-use variable.