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 branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
"Various fixes and post-merge window updates. Included here are:
- ensure Kconfig things which should be sorted remain sorted
- fix three big-endian bugs which crept in during the last merge
window
- add the renameat2 syscall
- fix big.LITTLE switcher initialisation checks
- fix kdump vmcore for LPAE kernels"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: add renameat2 syscall
ARM: keep arch/arm/Kconfig and arch/arm/mm/Kconfig select entries sorted
ARM: 8033/1: fix big endian __pv_phys_pfn_offset size related issue
ARM: 8032/1: bL_switcher: fix validation check before its activation
ARM: 8030/1: ARM : kdump : add arch_crash_save_vmcoreinfo
ARM: 8027/1: fix do_div() bug in big-endian systems
ARM: 8026/1: Fix emulation of multiply accumulate instructions
ARM: 8024/1: Keep DEBUG_UART_{PHYS,VIRT} entries sorted

+44 -21
+5 -5
arch/arm/Kconfig
··· 30 30 select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT) 31 31 select HAVE_ARCH_TRACEHOOK 32 32 select HAVE_BPF_JIT 33 + select HAVE_CC_STACKPROTECTOR 33 34 select HAVE_CONTEXT_TRACKING 34 35 select HAVE_C_RECORDMCOUNT 35 - select HAVE_CC_STACKPROTECTOR 36 36 select HAVE_DEBUG_KMEMLEAK 37 37 select HAVE_DMA_API_DEBUG 38 38 select HAVE_DMA_ATTRS ··· 422 422 bool "Energy Micro efm32" 423 423 depends on !MMU 424 424 select ARCH_REQUIRE_GPIOLIB 425 - select AUTO_ZRELADDR 426 425 select ARM_NVIC 426 + select AUTO_ZRELADDR 427 427 select CLKSRC_OF 428 428 select COMMON_CLK 429 429 select CPU_V7M ··· 511 511 bool "IXP4xx-based" 512 512 depends on MMU 513 513 select ARCH_HAS_DMA_SET_COHERENT_MASK 514 - select ARCH_SUPPORTS_BIG_ENDIAN 515 514 select ARCH_REQUIRE_GPIOLIB 515 + select ARCH_SUPPORTS_BIG_ENDIAN 516 516 select CLKSRC_MMIO 517 517 select CPU_XSCALE 518 518 select DMABOUNCE if PCI ··· 1575 1575 config BL_SWITCHER 1576 1576 bool "big.LITTLE switcher support" 1577 1577 depends on BIG_LITTLE && MCPM && HOTPLUG_CPU 1578 - select CPU_PM 1579 1578 select ARM_CPU_SUSPEND 1579 + select CPU_PM 1580 1580 help 1581 1581 The big.LITTLE "switcher" provides the core functionality to 1582 1582 transparently handle transition between a cluster of A15's ··· 1920 1920 depends on CPU_V7 && !CPU_V6 1921 1921 depends on !GENERIC_ATOMIC64 1922 1922 depends on MMU 1923 + select ARCH_DMA_ADDR_T_64BIT 1923 1924 select ARM_PSCI 1924 1925 select SWIOTLB_XEN 1925 - select ARCH_DMA_ADDR_T_64BIT 1926 1926 help 1927 1927 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. 1928 1928
+6 -6
arch/arm/Kconfig.debug
··· 1030 1030 default 0x40100000 if DEBUG_PXA_UART1 1031 1031 default 0x42000000 if ARCH_GEMINI 1032 1032 default 0x7c0003f8 if FOOTBRIDGE 1033 - default 0x80230000 if DEBUG_PICOXCELL_UART 1034 1033 default 0x80070000 if DEBUG_IMX23_UART 1035 1034 default 0x80074000 if DEBUG_IMX28_UART 1035 + default 0x80230000 if DEBUG_PICOXCELL_UART 1036 1036 default 0x808c0000 if ARCH_EP93XX 1037 1037 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 1038 1038 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX ··· 1096 1096 default 0xfeb26000 if DEBUG_RK3X_UART1 1097 1097 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0 1098 1098 default 0xfeb31000 if DEBUG_KEYSTONE_UART1 1099 - default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE 1100 - default 0xfed60000 if DEBUG_RK29_UART0 1101 - default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 1102 - default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 1103 1099 default 0xfec02000 if DEBUG_SOCFPGA_UART 1100 + default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE 1104 1101 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0 1105 1102 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1 1106 1103 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 1107 1104 default 0xfed12000 if ARCH_KIRKWOOD 1105 + default 0xfed60000 if DEBUG_RK29_UART0 1106 + default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 1107 + default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 1108 1108 default 0xfedc0000 if ARCH_EP93XX 1109 1109 default 0xfee003f8 if FOOTBRIDGE 1110 1110 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 1111 - default 0xfef36000 if DEBUG_HIGHBANK_UART 1112 1111 default 0xfee82340 if ARCH_IOP13XX 1113 1112 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN 1114 1113 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN 1114 + default 0xfef36000 if DEBUG_HIGHBANK_UART 1115 1115 default 0xfefff700 if ARCH_IOP33X 1116 1116 default 0xff003000 if DEBUG_U300_UART 1117 1117 default DEBUG_UART_PHYS if !MMU
+2 -4
arch/arm/common/bL_switcher.c
··· 797 797 { 798 798 int ret; 799 799 800 - if (MAX_NR_CLUSTERS != 2) { 801 - pr_err("%s: only dual cluster systems are supported\n", __func__); 802 - return -EINVAL; 803 - } 800 + if (!mcpm_is_available()) 801 + return -ENODEV; 804 802 805 803 cpu_notifier(bL_switcher_hotplug_callback, 0); 806 804
+5
arch/arm/common/mcpm_entry.c
··· 48 48 return 0; 49 49 } 50 50 51 + bool mcpm_is_available(void) 52 + { 53 + return (platform_ops) ? true : false; 54 + } 55 + 51 56 int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster) 52 57 { 53 58 if (!platform_ops)
+1 -1
arch/arm/include/asm/div64.h
··· 156 156 /* Select the best insn combination to perform the */ \ 157 157 /* actual __m * __n / (__p << 64) operation. */ \ 158 158 if (!__c) { \ 159 - asm ( "umull %Q0, %R0, %1, %Q2\n\t" \ 159 + asm ( "umull %Q0, %R0, %Q1, %Q2\n\t" \ 160 160 "mov %Q0, #0" \ 161 161 : "=&r" (__res) \ 162 162 : "r" (__m), "r" (__n) \
+7
arch/arm/include/asm/mcpm.h
··· 54 54 */ 55 55 56 56 /** 57 + * mcpm_is_available - returns whether MCPM is initialized and available 58 + * 59 + * This returns true or false accordingly. 60 + */ 61 + bool mcpm_is_available(void); 62 + 63 + /** 57 64 * mcpm_cpu_power_up - make given CPU in given cluster runable 58 65 * 59 66 * @cpu: CPU number within given cluster
+1
arch/arm/include/uapi/asm/unistd.h
··· 408 408 #define __NR_finit_module (__NR_SYSCALL_BASE+379) 409 409 #define __NR_sched_setattr (__NR_SYSCALL_BASE+380) 410 410 #define __NR_sched_getattr (__NR_SYSCALL_BASE+381) 411 + #define __NR_renameat2 (__NR_SYSCALL_BASE+382) 411 412 412 413 /* 413 414 * This may need to be greater than __NR_last_syscall+1 in order to
+1
arch/arm/kernel/calls.S
··· 391 391 CALL(sys_finit_module) 392 392 /* 380 */ CALL(sys_sched_setattr) 393 393 CALL(sys_sched_getattr) 394 + CALL(sys_renameat2) 394 395 #ifndef syscalls_counted 395 396 .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls 396 397 #define syscalls_counted
+1 -1
arch/arm/kernel/head.S
··· 587 587 add r6, r6, r3 @ adjust __pv_phys_pfn_offset address 588 588 add r7, r7, r3 @ adjust __pv_offset address 589 589 mov r0, r8, lsr #12 @ convert to PFN 590 - str r0, [r6, #LOW_OFFSET] @ save computed PHYS_OFFSET to __pv_phys_pfn_offset 590 + str r0, [r6] @ save computed PHYS_OFFSET to __pv_phys_pfn_offset 591 591 strcc ip, [r7, #HIGH_OFFSET] @ save to __pv_offset high bits 592 592 mov r6, r3, lsr #24 @ constant for add/sub instructions 593 593 teq r3, r6, lsl #24 @ must be 16MiB aligned
+7
arch/arm/kernel/machine_kexec.c
··· 184 184 185 185 soft_restart(reboot_entry_phys); 186 186 } 187 + 188 + void arch_crash_save_vmcoreinfo(void) 189 + { 190 + #ifdef CONFIG_ARM_LPAE 191 + VMCOREINFO_CONFIG(ARM_LPAE); 192 + #endif 193 + }
+4 -4
arch/arm/mm/Kconfig
··· 420 420 bool 421 421 select CPU_USE_DOMAINS if MMU 422 422 select NEEDS_SYSCALL_FOR_CMPXCHG if SMP 423 - select TLS_REG_EMUL if SMP || !MMU 424 423 select NEED_KUSER_HELPERS 424 + select TLS_REG_EMUL if SMP || !MMU 425 425 426 426 config CPU_32v4 427 427 bool 428 428 select CPU_USE_DOMAINS if MMU 429 429 select NEEDS_SYSCALL_FOR_CMPXCHG if SMP 430 - select TLS_REG_EMUL if SMP || !MMU 431 430 select NEED_KUSER_HELPERS 431 + select TLS_REG_EMUL if SMP || !MMU 432 432 433 433 config CPU_32v4T 434 434 bool 435 435 select CPU_USE_DOMAINS if MMU 436 436 select NEEDS_SYSCALL_FOR_CMPXCHG if SMP 437 - select TLS_REG_EMUL if SMP || !MMU 438 437 select NEED_KUSER_HELPERS 438 + select TLS_REG_EMUL if SMP || !MMU 439 439 440 440 config CPU_32v5 441 441 bool 442 442 select CPU_USE_DOMAINS if MMU 443 443 select NEEDS_SYSCALL_FOR_CMPXCHG if SMP 444 - select TLS_REG_EMUL if SMP || !MMU 445 444 select NEED_KUSER_HELPERS 445 + select TLS_REG_EMUL if SMP || !MMU 446 446 447 447 config CPU_32v6 448 448 bool
+2
arch/arm/vfp/vfpdouble.c
··· 866 866 vdp.sign = vfp_sign_negate(vdp.sign); 867 867 868 868 vfp_double_unpack(&vdn, vfp_get_double(dd)); 869 + if (vdn.exponent == 0 && vdn.significand) 870 + vfp_double_normalise_denormal(&vdn); 869 871 if (negate & NEG_SUBTRACT) 870 872 vdn.sign = vfp_sign_negate(vdn.sign); 871 873
+2
arch/arm/vfp/vfpsingle.c
··· 915 915 v = vfp_get_float(sd); 916 916 pr_debug("VFP: s%u = %08x\n", sd, v); 917 917 vfp_single_unpack(&vsn, v); 918 + if (vsn.exponent == 0 && vsn.significand) 919 + vfp_single_normalise_denormal(&vsn); 918 920 if (negate & NEG_SUBTRACT) 919 921 vsn.sign = vfp_sign_negate(vsn.sign); 920 922