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 -
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 -
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 -
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
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 -
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
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
08 Sep, 2011
1 commit
-
* 'perf-fixes-for-linus' of git://tesla.tglx.de/git/linux-2.6-tip:
x86, perf: Check that current->mm is alive before getting user callchain
perf_event: Fix broken calc_timer_values()
perf events: Fix slow and broken cgroup context switch code
07 Sep, 2011
4 commits
-
* 'stable/bug.fixes' of git://oss.oracle.com/git/kwilk/xen:
xen/smp: Warn user why they keel over - nosmp or noapic and what to use instead.
xen: x86_32: do not enable iterrupts when returning from exception in interrupt context
xen: use maximum reservation to limit amount of usable RAM -
* 'kvm-updates/3.1' of git://github.com/avikivity/kvm:
KVM: Fix instruction size issue in pvclock scaling -
Fighting unfixed U-Boots and other beasts that may the cache in
a locked-down state when starting the kernel, we make sure to
disable all cache lock-down when initializing the l2x0 so we
are in a known state.Cc: Srinidhi Kasagar
Cc: Rabin Vincent
Cc: Adrian Bunk
Cc: Rob Herring
Cc: Catalin Marinas
Cc: Will Deacon
Reviewed-by: Santosh Shilimkar
Reported-by: Jan Rinze
Tested-by: Robert Marklund
Signed-off-by: Linus Walleij
Signed-off-by: Russell King -
I was intrigued by the fact that the clock stood still on
the Integrator, but it wasn't strange at all, because the
timer was set up all wrong and probably has been for a
while. With this patch the clock starts ticking again:
make the timer periodic (reload), |= on the divisor bit
and load the timer before starting it.Cc: stable@kernel.org
Signed-off-by: Linus Walleij
Signed-off-by: Russell King
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
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 -
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
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
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 -
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/0x1bSigned-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 -
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 -
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 -
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 -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
sparc64: Only Panther cheetah+ chips have POPC.
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 instructionIn this example the assembler is:
#APP
mul -48(%rbp) ; shrd $32, %rdx, %rax
#NO_APPA simple solution is to use mulq.
Signed-off-by: Duncan Sands
Signed-off-by: Avi Kivity -
Signed-off-by: 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 -
* '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() -
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 -
* 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 -
…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 -
* '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 -
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 -
Signed-off-by: Stephen Rothwell
Signed-off-by: David S. Miller
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 -
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 -
USB-DMAC1 needs SMSTPCR4/MSTP407 controls, not MSTP214
this patch tested on mackerel boardReported-by: Magnus Damm
Signed-off-by: Kuninori Morimoto
Signed-off-by: Paul Mundt -
MAINCKSEL is [29:28], not [27:24]
Signed-off-by: Kuninori Morimoto
Signed-off-by: Paul Mundt -
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 -
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 1Signed-off-by: Yoshihiro Shimoda
Signed-off-by: Paul Mundt -
This adds unaligned memory access support for the following instructions:
mov.w @(disp,PC),Rn
mov.l @(disp,PC),RnThese instructions are often used on SH2A toolchains.
Signed-off-by: Phil Edworthy
Signed-off-by: Paul Mundt