17 Oct, 2011

4 commits

  • Boards used to specify zreladdr in their Makefile.boot with
    zreladdr-y := x, so conflicting zreladdrs were silently overwritten.
    This patch changes this to zreladdr-y += x, so that we end
    up with multiple words in zreladdr in such a case. We can
    detect this later and complain if necessary.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Russell King

    Sascha Hauer
     
  • uImages need a load address specified. This makes them
    incompatible with multiple zreladdrs. Catch this error
    before building an uImage so that we do not end up with
    broken uImages. The load address can still be specified
    with LOADADDR= on the command line.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Russell King

    Sascha Hauer
     
  • Without CONFIG_AUTO_ZRELADDR being set the kernel needs a single
    zreladdr for building zImages. Bail out if we detect multiple
    zreladdrs without CONFIG_AUTO_ZRELADDR.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Russell King

    Sascha Hauer
     
  • With d8ecc5c (kbuild: asm-generic support, 2011-04-27) we can
    remove a handful of asm-generic wrappers in ARM code. Since the
    generic version of sizes.h doesn't contain SZ_48M, we replace
    the 4 users of SZ_48M with the equivalent SZ_32M + SZ_16M.

    Signed-off-by: Stephen Boyd
    Cc: Imre Kaloz
    Acked-by: Krzysztof Halasa
    Cc: Eric Miao
    Signed-off-by: Russell King

    Stephen Boyd
     

11 Sep, 2011

2 commits

  • * 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    ARM: 7088/1: entry: fix wrong parameter name used in do_thumb_abort
    ARM: 7080/1: l2x0: make sure I&D are not locked down on init
    ARM: 7081/1: mach-integrator: fix the clocksource
    NET: am79c961: fix race in link status code
    ARM: 7067/1: mm: keep significant bits in pfn_valid

    Linus Torvalds
     
  • Commit be020f8618ca, "ARM: entry: abort-macro: specify registers to be
    used for macros", while replacing register numbers with macro parameter
    names, mismatched the name used for r1. For me, this resulted in user
    space built for EABI with -march=armv4t -mtune=arm920t -mthumb-interwork
    -mthumb broken on my OMAP1510 based Amstrad Delta (old ABI and no thumb
    still worked for me though).

    Fix this by using correct parameter name fsr instead of mismatched psr,
    used by callers for another purpose.

    Signed-off-by: Janusz Krzysztofik
    Signed-off-by: Russell King

    Janusz Krzysztofik
     

10 Sep, 2011

1 commit

  • Commit b03e7495a862 ("PCI: Set PCI-E Max Payload Size on fabric")
    introduced a potential NULL pointer dereference in calls to
    pcie_bus_configure_settings due to attempts to access pci_bus self
    variables when the self pointer is NULL.

    To correct this, verify that the self pointer in pci_bus is non-NULL
    before dereferencing it.

    Reported-by: Stanislaw Gruszka
    Signed-off-by: Shyam Iyer
    Signed-off-by: Jon Mason
    Acked-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Shyam Iyer
     

08 Sep, 2011

1 commit


07 Sep, 2011

4 commits


04 Sep, 2011

1 commit

  • When ARCH_HAS_HOLES_MEMORYMODEL is selected, pfn_valid calls
    memblock_is_memory to test validity of a pfn:

    > memblock_is_memory(pfn << PAGE_SHIFT);

    On LPAE systems this cuts off the top bits, as the shift occurs before
    the value is promoted to a phys_addr_t.

    This patch replaces the shift with a call to __pfn_to_phys (which casts
    pfn to phys_addr_t before shifting), preventing the loss of significant
    bits.

    Signed-off-by: Mark Rutland
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Mark Rutland
     

02 Sep, 2011

2 commits

  • We have hit a couple of customer bugs where they would like to
    use those parameters to run an UP kernel - but both of those
    options turn of important sources of interrupt information so
    we end up not being able to boot. The correct way is to
    pass in 'dom0_max_vcpus=1' on the Xen hypervisor line and
    the kernel will patch itself to be a UP kernel.

    Fixes bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637308

    CC: stable@kernel.org
    Acked-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • If vmalloc page_fault happens inside of interrupt handler with interrupts
    disabled then on exit path from exception handler when there is no pending
    interrupts, the following code (arch/x86/xen/xen-asm_32.S:112):

    cmpw $0x0001, XEN_vcpu_info_pending(%eax)
    sete XEN_vcpu_info_mask(%eax)

    will enable interrupts even if they has been previously disabled according to
    eflags from the bounce frame (arch/x86/xen/xen-asm_32.S:99)

    testb $X86_EFLAGS_IF>>8, 8+1+ESP_OFFSET(%esp)
    setz XEN_vcpu_info_mask(%eax)

    Solution is in setting XEN_vcpu_info_mask only when it should be set
    according to
    cmpw $0x0001, XEN_vcpu_info_pending(%eax)
    but not clearing it if there isn't any pending events.

    Reproducer for bug is attached to RHBZ 707552

    CC: stable@kernel.org
    Signed-off-by: Igor Mammedov
    Acked-by: Jeremy Fitzhardinge
    Signed-off-by: Konrad Rzeszutek Wilk

    Igor Mammedov
     

01 Sep, 2011

1 commit

  • Use the domain's maximum reservation to limit the amount of extra RAM
    for the memory balloon. This reduces the size of the pages tables and
    the amount of reserved low memory (which defaults to about 1/32 of the
    total RAM).

    On a system with 8 GiB of RAM with the domain limited to 1 GiB the
    kernel reports:

    Before:

    Memory: 627792k/4472000k available

    After:

    Memory: 549740k/11132224k available

    A increase of about 76 MiB (~1.5% of the unused 7 GiB). The reserved
    low memory is also reduced from 253 MiB to 32 MiB. The total
    additional usable RAM is 329 MiB.

    For dom0, this requires at patch to Xen ('x86: use 'dom0_mem' to limit
    the number of pages for dom0') (c/s 23790)

    CC: stable@kernel.org
    Signed-off-by: David Vrabel
    Signed-off-by: Konrad Rzeszutek Wilk

    David Vrabel
     

31 Aug, 2011

6 commits

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/p1023rds: Fix the error of bank-width of nor flash
    powerpc/85xx: enable caam crypto driver by default
    powerpc/85xx: enable the audio drivers in the defconfigs

    Linus Torvalds
     
  • An event may occur when an mm is already released.

    I added an event in dequeue_entity() and caught a panic with
    the following backtrace:

    [ 434.421110] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
    [ 434.421258] IP: [] __get_user_pages_fast+0x9c/0x120
    ...
    [ 434.421258] Call Trace:
    [ 434.421258] [] copy_from_user_nmi+0x51/0xf0
    [ 434.421258] [] ? sched_clock_local+0x25/0x90
    [ 434.421258] [] perf_callchain_user+0x128/0x170
    [ 434.421258] [] ? __perf_event_header__init_id+0xed/0x100
    [ 434.421258] [] perf_prepare_sample+0x200/0x280
    [ 434.421258] [] __perf_event_overflow+0x1b8/0x290
    [ 434.421258] [] ? tg_shares_up+0x0/0x670
    [ 434.421258] [] ? walk_tg_tree+0x6a/0xb0
    [ 434.421258] [] perf_swevent_overflow+0xc4/0xf0
    [ 434.421258] [] do_perf_sw_event+0x1e0/0x250
    [ 434.421258] [] perf_tp_event+0x44/0x70
    [ 434.421258] [] ftrace_profile_sched_block+0xdf/0x110
    [ 434.421258] [] dequeue_entity+0x2ad/0x2d0
    [ 434.421258] [] dequeue_task_fair+0x1c/0x60
    [ 434.421258] [] dequeue_task+0x9a/0xb0
    [ 434.421258] [] deactivate_task+0x42/0xe0
    [ 434.421258] [] thread_return+0x191/0x808
    [ 434.421258] [] ? switch_task_namespaces+0x24/0x60
    [ 434.421258] [] do_exit+0x464/0x910
    [ 434.421258] [] do_group_exit+0x58/0xd0
    [ 434.421258] [] sys_exit_group+0x17/0x20
    [ 434.421258] [] system_call_fastpath+0x16/0x1b

    Signed-off-by: Andrey Vagin
    Signed-off-by: Peter Zijlstra
    Cc: stable@kernel.org
    Link: http://lkml.kernel.org/r/1314693156-24131-1-git-send-email-avagin@openvz.org
    Signed-off-by: Ingo Molnar

    Andrey Vagin
     
  • In the p1023rds, a physical bus of nor flash is 16 bits width.
    The bank-width is width (in bytes) of the bus width. So, the
    value of bank-width of nor flash is not one, and it should be
    two.

    Signed-off-by: Chunhe Lan
    Signed-off-by: Kumar Gala

    Chunhe Lan
     
  • corenet based SoCs have SEC4 h/w, so enable the SEC4 driver,
    caam, and the algorithms it supports, and disable the
    SEC2/3 driver, talitos.

    Signed-off-by: Kim Phillips
    Signed-off-by: Kumar Gala

    Kim Phillips
     
  • Enable the audio drivers in the non-corenet 85xx defconfigs so that audio
    is enabled on the Freescale P1022DS reference board.

    Signed-off-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Timur Tabi
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Only Panther cheetah+ chips have POPC.

    Linus Torvalds
     

30 Aug, 2011

10 commits

  • Commit de2d1a524e94 ("KVM: Fix register corruption in pvclock_scale_delta")
    introduced a mul instruction that may have only a memory operand; the
    assembler therefore cannot select the correct size:

    pvclock.s:229: Error: no instruction mnemonic suffix given and no register
    operands; can't size instruction

    In this example the assembler is:

    #APP
    mul -48(%rbp) ; shrd $32, %rdx, %rax
    #NO_APP

    A simple solution is to use mulq.

    Signed-off-by: Duncan Sands
    Signed-off-by: Avi Kivity

    Duncan Sands
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: pm: avoid writing the auxillary control register for ARMv7
    ARM: pm: some ARMv7 requires a dsb in resume to ensure correctness
    ARM: pm: arm920/926: fix number of registers saved
    ARM: pm: CPU specific code should not overwrite r1 (v:p offset)
    ARM: 7066/1: proc-v7: disable SCTLR.TE when disabling MMU
    ARM: 7065/1: kexec: ensure new kernel is entered in ARM state
    ARM: 7003/1: vexpress: Add clock definition for the SP805.
    ARM: 7051/1: cpuimx* boards: fix mach-types errors
    ARM: 7019/1: Footbridge: select CLKEVT_I8253 for ARCH_NETWINDER
    ARM: 7015/1: ARM errata: Possible cache data corruption with hit-under-miss enabled
    ARM: 7014/1: cache-l2x0: Fix L2 Cache size calculation.
    ARM: 6967/1: ep93xx: ts72xx: fix board model detection
    ARM: 6965/1: ep93xx: add model detection for ts-7300 and ts-7400 boards
    ARM: cache: detect VIPT aliasing I-cache on ARMv6
    ARM: twd: register clockevents device before enabling PPI
    ARM: realview: ensure visibility of writes during reset
    ARM: perf: make name of arm_pmu_type consistent
    ARM: perf: fix prototype of release_pmu
    ARM: fix perf build with uclibc toolchains

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:
    ARM: mach-footbridge: add missing header file
    ARM: mach-orion5x: add missing header file
    arm: fix compile failure in orion5x/dns323-setup.c
    at91: at91sam9261.c: fix typo in t2_clk alias for atmel_tcb.0
    ARM: S5P: fix bug in spdif_clk_get_rate
    ARM: EXYNOS4: Add restart hook for proper reboot
    ARM: EXYNOS4: Increase reset delay for USB HOST PHY
    ARM: S5P: add required chained_irq_enter/exit to gpio-int code
    ARM: EXYNOS4: add required chained_irq_enter/exit to eint code
    ARM: SAMSUNG: Add chained enrty/exit call to timer interrupt handler
    ARM: S3C64XX: Fix build break in PM debug
    ARM: S5PV210: Fix build warning
    ARM: EXYNOS4: Fix the IRQ definitions for MIPI CSIS device
    ARM: EXYNOS4: remove duplicated inclusion
    ARM: EXYNOS4: Fix wrong devname to support clkdev
    ARM: EXYNOS4: Use the correct regulator names on universal_c210
    ARM: SAMSUNG: Fix Section mismatch in samsung_bl_set()
    ARM: S5P64X0: Replace irq_gc_ack() with irq_gc_ack_set_bit()

    Linus Torvalds
     
  • These were missed in commit f5b940997397 "All Arch: remove linkage
    for sys_nfsservctl system call" due to them having no sys_ prefix
    (presumably).

    Cc: NeilBrown
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-parisc@vger.kernel.org
    Signed-off-by: Stephen Rothwell
    Acked-by: James Bottomley
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc32,sun4d: Change IPI IRQ level to prevent collision between IPI and timer interrupt
    sparc: Remove another reference to nfsservctl

    Linus Torvalds
     
  • …nel/git/lethal/sh-3.x

    * 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x:
    ARM: mach-shmobile: sh7372 CMT3 and CMT4 clock support
    ARM: mach-shmobile: sh7372 MSIOF clock support
    ARM: mach-shmobile: clock-sh7372: fixup USB-DMAC1 settings
    ARM: mach-shmobile: clock-sh73a0: tidyup CKSCR main clock selecter
    ARM: mach-shmobile: Remove 3DG/SGX from sh7372 INTCS
    ARM: mach-shmobile: mackerel: Add USB-DMA ID
    mmc: sdhi, mmcif: zboot: Correct clock disable logic
    ARM: mach-shmobile: ag5evm: SDHI requires waiting for idle
    ARM: static should be at beginning of declaration
    ARM: mach-shmobile: Use CMT2 for timer on sh7372
    ARM: mach-shmobile: sh7372: Add USB-DMAC support

    Linus Torvalds
     
  • * 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x:
    sh: fix the compile error in setup-sh7757.c
    serial: sh-sci: report CTS as active for get_mctrl
    sh: Add unaligned memory access for PC relative intructions
    sh: Fix unaligned memory access for branches without delay slots
    sh: Fix up fallout from cpuidle changes.
    serial: sh-sci: console Runtime PM support
    sh: Fix conflicting definitions of ptrace_triggered
    serial: sh-sci: fix DMA build by including dma-mapping.h
    serial: sh-sci: Fix up default regtype probing.
    sh: intc: enable both edges GPIO interrupts on sh7372
    shwdt: fix usage of mod_timer
    clocksource: sh_cmt: wait for CMCNT on init V2

    Linus Torvalds
     
  • On Sun4d systems running in SMP mode, IRQ 14 is used for timer interrupts
    and has a specialized interrupt handler. IPI is currently set to use IRQ 14
    as well, which causes it to trigger the timer interrupt handler, and not the
    IPI interrupt handler.

    The IPI interrupt is therefore changed to IRQ 13, which is the highest
    normally handled interrupt. This IRQ is also used for SBUS interrupts,
    however there is nothing in the IPI/SBUS interrupt handlers that indicate
    that they will not handle sharing the interrupt.
    (IRQ 13 is indicated as audio interrupt, which is unlikely to be found in a
    sun4d system)

    Signed-off-by: Kjetil Oftedal
    Signed-off-by: David S. Miller

    Kjetil Oftedal
     
  • Signed-off-by: Stephen Rothwell
    Signed-off-by: David S. Miller

    Stephen Rothwell
     

29 Aug, 2011

8 commits

  • Add clock control support for sh7372 CMT hardware blocks.

    No upstream sh7372 boards are making use of CMT3 + CMT4,
    but the sh7372 hardware happens to come out of reset with
    all CMT MSTP clocks _enabled_, so to save power we need
    to implement a fix in software to shut down unused clocks.

    This patch relies on the recently merged

    794d78f drivers: sh: late disabling of clocks V2

    to make sure the unused clocks get disabled as expected.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add clock control support for sh7372 MSIOF hardware blocks.

    No upstream sh7372 boards are making use of MSIOF0->2,
    but the sh7372 hardware happens to come out of reset with
    all MSIOF MSTP clocks _enabled_, so to save power we need
    to implement a fix in software to shut down unused clocks.

    This patch relies on the recently merged

    794d78f drivers: sh: late disabling of clocks V2

    to make sure the unused clocks get disabled as expected.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • USB-DMAC1 needs SMSTPCR4/MSTP407 controls, not MSTP214
    this patch tested on mackerel board

    Reported-by: Magnus Damm
    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Paul Mundt

    Kuninori Morimoto
     
  • MAINCKSEL is [29:28], not [27:24]

    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Paul Mundt

    Kuninori Morimoto
     
  • This patch removes support for the SGX interrupt source in
    the sh7372 INTCS controller.

    The SGX hardware block included in sh7372 is already hooked
    up to the ARM Cortex-A8 core using the INTCA controller,
    so SGX users are encouraged to make use of that interrupt
    source instead.

    Removing support for the SGX interrupt source in INTCS
    simplifies the sh7372 power management code by allowing
    us to assume that only INTCA needs to be powered on to
    operate the SGX hardware.

    If the INTCS interrupt source would be kept then the kernel
    would be forced to deal with additional dependencies that does
    not follow the regular power domain hiearachy. With this
    patch in place we can safely power down INTCS while the
    SGX is operating.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Paul Mundt
     
  • Fix the following build errors:

    CC arch/sh/kernel/cpu/sh4a/setup-sh7757.o
    arch/sh/kernel/cpu/sh4a/setup-sh7757.c:681: error: implicit declaration of function ‘DMA_BIT_MASK’
    arch/sh/kernel/cpu/sh4a/setup-sh7757.c:681: error: initializer element is not constant
    arch/sh/kernel/cpu/sh4a/setup-sh7757.c:681: error: (near initialization for ‘usb_ehci_device.dev.coherent_dma_mask’)
    arch/sh/kernel/cpu/sh4a/setup-sh7757.c:705: error: initializer element is not constant
    arch/sh/kernel/cpu/sh4a/setup-sh7757.c:705: error: (near initialization for ‘usb_ohci_device.dev.coherent_dma_mask’)
    make[3]: *** [arch/sh/kernel/cpu/sh4a/setup-sh7757.o] Error 1

    Signed-off-by: Yoshihiro Shimoda
    Signed-off-by: Paul Mundt

    Yoshihiro Shimoda
     
  • This adds unaligned memory access support for the following instructions:
    mov.w @(disp,PC),Rn
    mov.l @(disp,PC),Rn

    These instructions are often used on SH2A toolchains.

    Signed-off-by: Phil Edworthy
    Signed-off-by: Paul Mundt

    Phil Edworthy