From: Linus Torvalds Date: Sun, 7 Oct 2012 12:20:57 +0000 (+0900) Subject: Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0e51793e162ca432fc5f04178cf82b80a92c2659;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm Pull ARM updates from Russell King: "This is the first chunk of ARM updates for this merge window. Conflicts are expected in two files - asm/timex.h and mach-integrator/integrator_cp.c. Nothing particularly stands out more than anything else. Most of the growth is down to the opcodes stuff from Dave Martin, which is countered by Rob's patches to use more of the asm-generic headers on ARM." (A few more conflicts grew since then, but it all looked fairly trivial) * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (44 commits) ARM: 7548/1: include linux/sched.h in syscall.h ARM: 7541/1: Add ARM ERRATA 775420 workaround ARM: ensure vm_struct has its phys_addr member filled in ARM: 7540/1: kexec: Check segment memory addresses ARM: 7539/1: kexec: scan for dtb magic in segments ARM: 7538/1: delay: add registration mechanism for delay timer sources ARM: 7536/1: smp: Formalize an IPI for wakeup ARM: 7525/1: ptrace: use updated syscall number for syscall auditing ARM: 7524/1: support syscall tracing ARM: 7519/1: integrator: convert platform devices to Device Tree ARM: 7518/1: integrator: convert AMBA devices to device tree ARM: 7517/1: integrator: initial device tree support ARM: 7516/1: plat-versatile: add DT support to FPGA IRQ ARM: 7515/1: integrator: check PL010 base address from resource ARM: 7514/1: integrator: call common init function from machine ARM: 7522/1: arch_timers: register a time/cycle counter ARM: 7523/1: arch_timers: enable the use of the virtual timer ARM: 7531/1: mark kernelmode mem{cpy,set} non-experimental ARM: 7520/1: Build dtb files in all target ARM: Fix build warning in arch/arm/mm/alignment.c ... --- 0e51793e162ca432fc5f04178cf82b80a92c2659 diff --cc arch/arm/Kconfig index 8ac460a8f4ca,117e81b12009..6d2f7f5c0036 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@@ -1828,22 -1902,6 +1839,16 @@@ config CC_STACKPROTECTO neutralized via a kernel panic. This feature requires gcc version 4.2 or above. - config DEPRECATED_PARAM_STRUCT - bool "Provide old way to pass kernel parameters" - help - This was deprecated in 2001 and announced to live on for 5 years. - Some old boot loaders still use this way. - +config XEN_DOM0 + def_bool y + depends on XEN + +config XEN + bool "Xen guest support on ARM (EXPERIMENTAL)" + depends on EXPERIMENTAL && ARM && OF + help + Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. + endmenu menu "Boot options" diff --cc arch/arm/include/asm/timex.h index 963342acebb7,9acc135dad94..83f2aa83899c --- a/arch/arm/include/asm/timex.h +++ b/arch/arm/include/asm/timex.h @@@ -12,19 -12,9 +12,13 @@@ #ifndef _ASMARM_TIMEX_H #define _ASMARM_TIMEX_H - #include +#ifdef CONFIG_ARCH_MULTIPLATFORM +#define CLOCK_TICK_RATE 1000000 +#else #include +#endif typedef unsigned long cycles_t; - - #ifdef ARCH_HAS_READ_CURRENT_TIMER #define get_cycles() ({ cycles_t c; read_current_timer(&c) ? 0 : c; }) - #else - #define get_cycles() (0) - #endif #endif diff --cc arch/arm/kernel/Makefile index d81f3a6d9ad8,79e346a5d78b..5dfef9d97ed9 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@@ -19,8 -19,11 +19,10 @@@ obj-y := elf.o entry-armv.o entry-comm process.o ptrace.o return_address.o sched_clock.o \ setup.o signal.o stacktrace.o sys_arm.o time.o traps.o - obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o + obj-$(CONFIG_ATAGS) += atags_parse.o + obj-$(CONFIG_ATAGS_PROC) += atags_proc.o + obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += atags_compat.o -obj-$(CONFIG_LEDS) += leds.o obj-$(CONFIG_OC_ETM) += etm.o obj-$(CONFIG_CPU_IDLE) += cpuidle.o obj-$(CONFIG_ISA_DMA_API) += dma.o diff --cc arch/arm/kernel/smp.c index dea7a925c7e2,d98c37e97d9d..d100eacdb798 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@@ -52,14 -50,9 +52,15 @@@ */ struct secondary_data secondary_data; +/* + * control for which core is the next to come out of the secondary + * boot "holding pen" + */ +volatile int __cpuinitdata pen_release = -1; + enum ipi_msg_type { - IPI_TIMER = 2, + IPI_WAKEUP, + IPI_TIMER, IPI_RESCHEDULE, IPI_CALL_FUNC, IPI_CALL_FUNC_SINGLE, diff --cc arch/arm/mach-integrator/integrator_ap.c index 2215d96cd735,ff1255ae7121..d5b5435a09ae --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c @@@ -155,26 -162,8 +158,9 @@@ static void __init ap_map_io(void { iotable_init(ap_io_desc, ARRAY_SIZE(ap_io_desc)); vga_base = PCI_MEMORY_VADDR; + pci_map_io_early(__phys_to_pfn(PHYS_PCI_IO_BASE)); } - #define INTEGRATOR_SC_VALID_INT 0x003fffff - - static void __init ap_init_irq(void) - { - /* Disable all interrupts initially. */ - /* Do the core module ones */ - writel(-1, VA_CMIC_BASE + IRQ_ENABLE_CLEAR); - - /* do the header card stuff next */ - writel(-1, VA_IC_BASE + IRQ_ENABLE_CLEAR); - writel(-1, VA_IC_BASE + FIQ_ENABLE_CLEAR); - - fpga_irq_init(VA_IC_BASE, "SC", IRQ_PIC_START, - -1, INTEGRATOR_SC_VALID_INT, NULL); - integrator_clk_init(false); - } - #ifdef CONFIG_PM static unsigned long ic_irq_enable; diff --cc arch/arm/mach-integrator/integrator_cp.c index 3df5fc369361,f51363e2d6fe..6870a1fbcd78 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c @@@ -52,14 -55,7 +55,7 @@@ #define INTCP_PA_CLCD_BASE 0xc0000000 - #define INTCP_VA_CIC_BASE __io_address(INTEGRATOR_HDR_BASE + 0x40) - #define INTCP_VA_PIC_BASE __io_address(INTEGRATOR_IC_BASE) - #define INTCP_VA_SIC_BASE __io_address(INTEGRATOR_CP_SIC_BASE) - - #define INTCP_ETH_SIZE 0x10 - -#define INTCP_VA_CTRL_BASE IO_ADDRESS(INTEGRATOR_CP_CTL_BASE) +#define INTCP_VA_CTRL_BASE __io_address(INTEGRATOR_CP_CTL_BASE) #define INTCP_FLASHPROG 0x04 #define CINTEGRATOR_FLASHPROG_FLVPPEN (1 << 0) #define CINTEGRATOR_FLASHPROG_FLWREN (1 << 1)