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

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
ARM: 5888/1: arm: Update comments in cacheflush.h and remove unnecessary V6 and V7 comments
ARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work
ARM: 5885/1: arm: Flush TLB entries in setup_mm_for_reboot()
ARM: 5884/1: arm: Fix DCC console for v7
ARM: 5883/1: Revert "disable NX support for OABI-supporting kernels"
ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void)
ARM: fix badly placed mach/plat entries in Kconfig & Makefile

+110 -57
+35 -35
arch/arm/Kconfig
··· 729 729 730 730 endchoice 731 731 732 + source "arch/arm/mach-aaec2000/Kconfig" 733 + 734 + source "arch/arm/mach-at91/Kconfig" 735 + 736 + source "arch/arm/mach-bcmring/Kconfig" 737 + 732 738 source "arch/arm/mach-clps711x/Kconfig" 739 + 740 + source "arch/arm/mach-davinci/Kconfig" 741 + 742 + source "arch/arm/mach-dove/Kconfig" 733 743 734 744 source "arch/arm/mach-ep93xx/Kconfig" 735 745 736 746 source "arch/arm/mach-footbridge/Kconfig" 737 747 738 748 source "arch/arm/mach-gemini/Kconfig" 749 + 750 + source "arch/arm/mach-h720x/Kconfig" 739 751 740 752 source "arch/arm/mach-integrator/Kconfig" 741 753 ··· 763 751 764 752 source "arch/arm/mach-ixp23xx/Kconfig" 765 753 754 + source "arch/arm/mach-kirkwood/Kconfig" 755 + 756 + source "arch/arm/mach-ks8695/Kconfig" 757 + 758 + source "arch/arm/mach-lh7a40x/Kconfig" 759 + 766 760 source "arch/arm/mach-loki/Kconfig" 761 + 762 + source "arch/arm/mach-msm/Kconfig" 767 763 768 764 source "arch/arm/mach-mv78xx0/Kconfig" 769 765 770 - source "arch/arm/mach-pxa/Kconfig" 771 - source "arch/arm/plat-pxa/Kconfig" 766 + source "arch/arm/plat-mxc/Kconfig" 772 767 773 - source "arch/arm/mach-mmp/Kconfig" 768 + source "arch/arm/mach-netx/Kconfig" 774 769 775 - source "arch/arm/mach-sa1100/Kconfig" 770 + source "arch/arm/mach-nomadik/Kconfig" 771 + source "arch/arm/plat-nomadik/Kconfig" 772 + 773 + source "arch/arm/mach-ns9xxx/Kconfig" 776 774 777 775 source "arch/arm/plat-omap/Kconfig" 778 776 ··· 792 770 793 771 source "arch/arm/mach-orion5x/Kconfig" 794 772 795 - source "arch/arm/mach-kirkwood/Kconfig" 773 + source "arch/arm/mach-pxa/Kconfig" 774 + source "arch/arm/plat-pxa/Kconfig" 796 775 797 - source "arch/arm/mach-dove/Kconfig" 776 + source "arch/arm/mach-mmp/Kconfig" 777 + 778 + source "arch/arm/mach-realview/Kconfig" 779 + 780 + source "arch/arm/mach-sa1100/Kconfig" 798 781 799 782 source "arch/arm/plat-samsung/Kconfig" 800 783 source "arch/arm/plat-s3c24xx/Kconfig" ··· 827 800 source "arch/arm/mach-s5pc100/Kconfig" 828 801 endif 829 802 830 - source "arch/arm/mach-lh7a40x/Kconfig" 803 + source "arch/arm/mach-u300/Kconfig" 831 804 832 - source "arch/arm/mach-h720x/Kconfig" 805 + source "arch/arm/mach-ux500/Kconfig" 833 806 834 807 source "arch/arm/mach-versatile/Kconfig" 835 808 836 - source "arch/arm/mach-aaec2000/Kconfig" 837 - 838 - source "arch/arm/mach-realview/Kconfig" 839 - 840 - source "arch/arm/mach-at91/Kconfig" 841 - 842 - source "arch/arm/plat-mxc/Kconfig" 843 - 844 - source "arch/arm/mach-nomadik/Kconfig" 845 - source "arch/arm/plat-nomadik/Kconfig" 846 - 847 - source "arch/arm/mach-netx/Kconfig" 848 - 849 - source "arch/arm/mach-ns9xxx/Kconfig" 850 - 851 - source "arch/arm/mach-davinci/Kconfig" 852 - 853 - source "arch/arm/mach-ks8695/Kconfig" 854 - 855 - source "arch/arm/mach-msm/Kconfig" 856 - 857 - source "arch/arm/mach-u300/Kconfig" 858 - 859 809 source "arch/arm/mach-w90x900/Kconfig" 860 - 861 - source "arch/arm/mach-bcmring/Kconfig" 862 - 863 - source "arch/arm/mach-ux500/Kconfig" 864 810 865 811 # Definitions to make life easier 866 812 config ARCH_ACORN
+2 -2
arch/arm/Makefile
··· 146 146 machine-$(CONFIG_ARCH_MX2) := mx2 147 147 machine-$(CONFIG_ARCH_MX25) := mx25 148 148 machine-$(CONFIG_ARCH_MX3) := mx3 149 + machine-$(CONFIG_ARCH_MXC91231) := mxc91231 149 150 machine-$(CONFIG_ARCH_NETX) := netx 150 151 machine-$(CONFIG_ARCH_NOMADIK) := nomadik 151 152 machine-$(CONFIG_ARCH_NS9XXX) := ns9xxx ··· 172 171 machine-$(CONFIG_ARCH_VERSATILE) := versatile 173 172 machine-$(CONFIG_ARCH_W90X900) := w90x900 174 173 machine-$(CONFIG_FOOTBRIDGE) := footbridge 175 - machine-$(CONFIG_ARCH_MXC91231) := mxc91231 176 174 177 175 # Platform directory name. This list is sorted alphanumerically 178 176 # by CONFIG_* macro name. 179 177 plat-$(CONFIG_ARCH_MXC) := mxc 180 178 plat-$(CONFIG_ARCH_OMAP) := omap 179 + plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx 181 180 plat-$(CONFIG_PLAT_IOP) := iop 182 181 plat-$(CONFIG_PLAT_NOMADIK) := nomadik 183 182 plat-$(CONFIG_PLAT_ORION) := orion ··· 185 184 plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx s3c samsung 186 185 plat-$(CONFIG_PLAT_S3C64XX) := s3c64xx s3c samsung 187 186 plat-$(CONFIG_PLAT_S5PC1XX) := s5pc1xx s3c samsung 188 - plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx 189 187 190 188 ifeq ($(CONFIG_ARCH_EBSA110),y) 191 189 # This is what happens if you forget the IOCS16 line.
+8
arch/arm/boot/compressed/head.S
··· 27 27 .macro writeb, ch, rb 28 28 mcr p14, 0, \ch, c0, c5, 0 29 29 .endm 30 + #elif defined(CONFIG_CPU_V7) 31 + .macro loadsp, rb 32 + .endm 33 + .macro writeb, ch, rb 34 + wait: mrc p14, 0, pc, c0, c1, 0 35 + bcs wait 36 + mcr p14, 0, \ch, c0, c5, 0 37 + .endm 30 38 #elif defined(CONFIG_CPU_XSCALE) 31 39 .macro loadsp, rb 32 40 .endm
+12 -1
arch/arm/boot/compressed/misc.c
··· 53 53 54 54 asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch)); 55 55 } 56 + 57 + #elif defined(CONFIG_CPU_V7) 58 + 59 + static void icedcc_putc(int ch) 60 + { 61 + asm( 62 + "wait: mrc p14, 0, pc, c0, c1, 0 \n\ 63 + bcs wait \n\ 64 + mcr p14, 0, %0, c0, c5, 0 " 65 + : : "r" (ch)); 66 + } 67 + 56 68 #elif defined(CONFIG_CPU_XSCALE) 57 69 58 70 static void icedcc_putc(int ch) ··· 100 88 #endif 101 89 102 90 #define putc(ch) icedcc_putc(ch) 103 - #define flush() do { } while (0) 104 91 #endif 105 92 106 93 static void putstr(const char *ptr)
+17 -3
arch/arm/include/asm/cacheflush.h
··· 154 154 * Please note that the implementation of these, and the required 155 155 * effects are cache-type (VIVT/VIPT/PIPT) specific. 156 156 * 157 - * flush_cache_kern_all() 157 + * flush_kern_all() 158 158 * 159 159 * Unconditionally clean and invalidate the entire cache. 160 160 * 161 - * flush_cache_user_mm(mm) 161 + * flush_user_all() 162 162 * 163 163 * Clean and invalidate all user space cache entries 164 164 * before a change of page tables. 165 165 * 166 - * flush_cache_user_range(start, end, flags) 166 + * flush_user_range(start, end, flags) 167 167 * 168 168 * Clean and invalidate a range of cache entries in the 169 169 * specified address space before a change of page tables. ··· 178 178 * Harvard caches, you need to implement this function. 179 179 * - start - virtual start address 180 180 * - end - virtual end address 181 + * 182 + * coherent_user_range(start, end) 183 + * 184 + * Ensure coherency between the Icache and the Dcache in the 185 + * region described by start, end. If you have non-snooping 186 + * Harvard caches, you need to implement this function. 187 + * - start - virtual start address 188 + * - end - virtual end address 189 + * 190 + * flush_kern_dcache_area(kaddr, size) 191 + * 192 + * Ensure that the data held in page is written back. 193 + * - kaddr - page address 194 + * - size - region size 181 195 * 182 196 * DMA Cache Coherency 183 197 * ===================
+20
arch/arm/kernel/debug.S
··· 49 49 1002: 50 50 .endm 51 51 52 + #elif defined(CONFIG_CPU_V7) 53 + 54 + .macro addruart, rx 55 + .endm 56 + 57 + .macro senduart, rd, rx 58 + mcr p14, 0, \rd, c0, c5, 0 59 + .endm 60 + 61 + .macro busyuart, rd, rx 62 + busy: mrc p14, 0, pc, c0, c1, 0 63 + bcs busy 64 + .endm 65 + 66 + .macro waituart, rd, rx 67 + wait: mrc p14, 0, pc, c0, c1, 0 68 + bcs wait 69 + 70 + .endm 71 + 52 72 #elif defined(CONFIG_CPU_XSCALE) 53 73 54 74 .macro addruart, rx
-9
arch/arm/kernel/elf.c
··· 78 78 return 1; 79 79 if (cpu_architecture() < CPU_ARCH_ARMv6) 80 80 return 1; 81 - #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT) 82 - /* 83 - * If we have support for OABI programs, we can never allow NX 84 - * support - our signal syscall restart mechanism relies upon 85 - * being able to execute code placed on the user stack. 86 - */ 87 - return 1; 88 - #else 89 81 return 0; 90 - #endif 91 82 } 92 83 EXPORT_SYMBOL(arm_elf_read_implies_exec);
+3 -1
arch/arm/mach-gemini/include/mach/uncompress.h
··· 30 30 UART[UART_TX] = c; 31 31 } 32 32 33 - #define flush() do { } while (0) 33 + static inline void flush(void) 34 + { 35 + } 34 36 35 37 /* 36 38 * nothing to do
+2
arch/arm/mm/mmu.c
··· 1067 1067 pmd[1] = __pmd(pmdval + (1 << (PGDIR_SHIFT - 1))); 1068 1068 flush_pmd_entry(pmd); 1069 1069 } 1070 + 1071 + local_flush_tlb_all(); 1070 1072 }
-2
arch/arm/mm/proc-v6.S
··· 59 59 * to what would be the reset vector. 60 60 * 61 61 * - loc - location to jump to for soft reset 62 - * 63 - * It is assumed that: 64 62 */ 65 63 .align 5 66 64 ENTRY(cpu_v6_reset)
+8 -3
arch/arm/mm/proc-v7.S
··· 45 45 ENDPROC(cpu_v7_proc_init) 46 46 47 47 ENTRY(cpu_v7_proc_fin) 48 - mov pc, lr 48 + stmfd sp!, {lr} 49 + cpsid if @ disable interrupts 50 + bl v7_flush_kern_cache_all 51 + mrc p15, 0, r0, c1, c0, 0 @ ctrl register 52 + bic r0, r0, #0x1000 @ ...i............ 53 + bic r0, r0, #0x0006 @ .............ca. 54 + mcr p15, 0, r0, c1, c0, 0 @ disable caches 55 + ldmfd sp!, {pc} 49 56 ENDPROC(cpu_v7_proc_fin) 50 57 51 58 /* ··· 63 56 * to what would be the reset vector. 64 57 * 65 58 * - loc - location to jump to for soft reset 66 - * 67 - * It is assumed that: 68 59 */ 69 60 .align 5 70 61 ENTRY(cpu_v7_reset)
+3 -1
arch/arm/plat-mxc/include/mach/uncompress.h
··· 60 60 UART(TXR) = ch; 61 61 } 62 62 63 - #define flush() do { } while (0) 63 + static inline void flush(void) 64 + { 65 + } 64 66 65 67 #define MX1_UART1_BASE_ADDR 0x00206000 66 68 #define MX25_UART1_BASE_ADDR 0x43f90000