summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2009-01-27x86: move 64-bit NUMA codeBrian Gerst
Impact: Code movement, no functional change. Move the 64-bit NUMA code from setup_percpu.c to numa_64.c Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
2009-01-27x86: merge setup_per_cpu_maps() into setup_per_cpu_areas()Brian Gerst
Impact: minor optimization Eliminates the need for two loops over possible cpus. Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
2009-01-26powerpc/embedded6xx: Update defconfigsKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-01-26powerpc/8xx: Update defconfigsKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-01-26powerpc/86xx: Update defconfigsKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-01-26powerpc/83xx: Update defconfigsKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-01-26powerpc/85xx: Update defconfigsKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-01-26Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits) [ARM] fix section-based ioremap [NET] am79c961a: fix spin_lock usage [ARM] omap: usb: thou shalt not provide empty release functions [ARM] omap: watchdog: allow OMAP watchdog driver on OMAP34xx platforms [ARM] 5369/1: omap mmc: Add new omap hsmmc controller for 2430 and 34xx, v3 [ARM] clkdev: fix clock matching [ARM] 5370/1: at91: fix rm9200 watchdog [ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfix [ARM] 5365/1: s3cmci: Use new include path of dma.h [ARM] fix StrongARM-11x0 page copy implementation [ARM] omap: ensure OMAP drivers pass a struct device to clk_get() ARM: OMAP: Fix compile for h3 MMC ARM: OMAP: Remove unused platform devices, v3 ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3 ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23 ARM: OMAP: remove duplicated #include's ARM: OMAP: Fix DMA CCR programming for request line > 63, v3 ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS ARM: OMAP: Fix compile for beagle ARM: OMAP: Fix gpio by switching to generic gpio calls, v2 ...
2009-01-26Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6Linus Torvalds
* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Warn on deprecated binding model use eeprom: More consistent symbol names eeprom: Move 93cx6 eeprom driver to /drivers/misc/eeprom spi: Move at25 (for SPI eeproms) to /drivers/misc/eeprom i2c: Move old eeprom driver to /drivers/misc/eeprom i2c: Move at24 to drivers/misc/eeprom i2c: Quilt tree has moved i2c: Delete many unused adapter IDs i2c: Delete 10 unused driver IDs
2009-01-26Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixesLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: fix kbuild.txt typos kbuild: print usage with no arguments in scripts/config Revert "kbuild: strip generated symbols from *.ko"
2009-01-26Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix DAX handling via userspace access from kernel. sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() [CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit sparc64: Initialize FHC/CLOCK LED platform_device 'id' field correctly. sparc64: fix modpost failure sparc64: fix readout of cpu/fpu type
2009-01-26powerpc/mpc8313erdb: fix kernel panic because mdio device is not probedLi Yang
Probe the new mdio node added by b31a1d8b. Fix kernel panic problem when gianfar driver wants to get the of_platform_device of that mdio. Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-01-26eeprom: More consistent symbol namesJean Delvare
Now that all EEPROM drivers live in the same place, let's harmonize their symbol names. Also fix eeprom's dependencies, it definitely needs sysfs, and is no longer experimental after many years in the kernel tree. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Cc: David Brownell <dbrownell@users.sourceforge.net>
2009-01-26m68k{nommu}: fixups after the header moveHarvey Harrison
swab.h seems to have been missed during the header merge. Add conditionals similar to byteorder.h and remove the now unnecessary byteorder_no/mm.h Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-26Merge branch 'for-next' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k,m68knommu: merge header files Resolve trivial conflict in arch/m68knommu/include/asm/Kbuild
2009-01-26Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6Linus Torvalds
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Add missing compat system call wrappers. [S390] etr/stp: fix possible deadlock [S390] cputime: fix lowcore initialization on cpu hotplug [S390] fix compat sigaltstack syscall table entry [S390] personality: fix personality loss on execve
2009-01-26Merge branch 'fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: i.MX31: framebuffer driver i.MX31: Image Processing Unit DMA and IRQ drivers dmaengine: add async_tx_clear_ack() macro dmaengine: dma_issue_pending_all == nop when CONFIG_DMA_ENGINE=n dmaengine: kill some dubious WARN_ONCEs fsldma: print correct IRQ on mpc83xx fsldma: check for NO_IRQ in fsl_dma_chan_remove() dmatest: Use custom map/unmap for destination buffer fsldma: use a valid 'device' for dma_pool_create dmaengine: fix dependency chaining
2009-01-26Merge branch 'sh/for-2.6.29' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (22 commits) dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy. dma-coherent: per-device coherent area is in pages, not bytes. sh: fix unaligned and nonexistent address handling nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases(). sh: fix sh-sci / early printk build on sh7723 sh: export the sh7343 JPU to user space sh: update defconfigs. serial: sh-sci: Fix up SH7720/SH7721 SCI build. sh: Kill off obsolete busses from arch/sh/Kconfig. sh: sh7785lcr/highlander/hp6xx need linux/irq.h. sh: Migo-R MMC support using spi_gpio and mmc_spi. sh: ap325rxa MMC support using spi_gpio and mmc_spi sh: mach-x3proto: needs linux/irq.h. sh: Drop the BKL from sys_execve() on SH-5. sh: convert rsk7203 to use smsc911x. sh: convert magicpanelr2 platform to use smsc911x. sh: convert ap325rxa platform to use smsc911x. sh: mach-migor: Add tw9910 support. sh: mach-migor: Delete soc_camera_platform setup. sh: mach-migor: Add ov772x support. ...
2009-01-26Merge branch 'core-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debugobjects: add and use INIT_WORK_ON_STACK rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR relay: fix lock imbalance in relay_late_setup_files oprofile: fix uninitialized use of struct op_entry rcu: move Kconfig menu softlock: fix false panic which can occur if softlockup_thresh is reduced rcu: add __cpuinit to rcu_init_percpu_data()
2009-01-26Merge branch 'timers-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimers: fix inconsistent lock state on resume in hres_timers_resume time-sched.c: tick_nohz_update_jiffies should be static locking, hpet: annotate false positive warning kernel/fork.c: unused variable 'ret' itimers: remove the per-cpu-ish-ness
2009-01-26Merge branch 'x86-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits) xen: unitialised return value in xenbus_write_transaction x86: fix section mismatch warning x86: unmask CPUID levels on Intel CPUs, fix x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn. x86: use standard PIT frequency xen: handle highmem pages correctly when shrinking a domain x86, mm: fix pte_free() xen: actually release memory when shrinking domain x86: unmask CPUID levels on Intel CPUs x86: add MSR_IA32_MISC_ENABLE bits to <asm/msr-index.h> x86: fix PTE corruption issue while mapping RAM using /dev/mem x86: mtrr fix debug boot parameter x86: fix page attribute corruption with cpa() Revert "x86: signal: change type of paramter for sys_rt_sigreturn()" x86: use early clobbers in usercopy*.c x86: remove kernel_physical_mapping_init() from init section fix: crash: IP: __bitmap_intersects+0x48/0x73 cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write work_on_cpu: Use our own workqueue. work_on_cpu: don't try to get_online_cpus() in work_on_cpu. ...
2009-01-26x86: correct the CPUID pattern for MSR_IA32_MISC_ENABLE availabilityH. Peter Anvin
Impact: re-enable CPUID unmasking on affected processors As far as I am capable of discerning from the documentation, MSR_IA32_MISC_ENABLE should be available for all family 0xf CPUs, as well as family 6 for model >= 0xd (newer Pentium M). The documentation on this isn't ideal, so we need to be on the lookout for errors, still. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-01-26x86: fix section mismatch warningRakib Mullick
Here function vmi_activate calls a init function activate_vmi , which causes the following section mismatch warnings: LD arch/x86/kernel/built-in.o WARNING: arch/x86/kernel/built-in.o(.text+0x13ba9): Section mismatch in reference from the function vmi_activate() to the function .init.text:vmi_time_init() The function vmi_activate() references the function __init vmi_time_init(). This is often because vmi_activate lacks a __init annotation or the annotation of vmi_time_init is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x13bd1): Section mismatch in reference from the function vmi_activate() to the function .devinit.text:vmi_time_bsp_init() The function vmi_activate() references the function __devinit vmi_time_bsp_init(). This is often because vmi_activate lacks a __devinit annotation or the annotation of vmi_time_bsp_init is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x13bdb): Section mismatch in reference from the function vmi_activate() to the function .devinit.text:vmi_time_ap_init() The function vmi_activate() references the function __devinit vmi_time_ap_init(). This is often because vmi_activate lacks a __devinit annotation or the annotation of vmi_time_ap_init is wrong. Fix it by marking vmi_activate() as __init too. Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-26x86: improve early fault/irq printoutIngo Molnar
Impact: add a stack dump to early IRQs/faults Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-26x86, debug: remove early_printk() #ifdefs from head_32.SIngo Molnar
Impact: cleanup Remove such constructs: #ifdef CONFIG_EARLY_PRINTK call early_printk #else call printk #endif Not only are they ugly, they are also pointless: a call to printk() maps to early_printk during early bootup anyway, if CONFIG_EARLY_PRINTK is enabled. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-26x86: micro-optimize __raw_read_trylock()Frederic Weisbecker
The current version of __raw_read_trylock starts with decrementing the lock and read its new value as a separate operation after that. That makes 3 dereferences (read, write (after sub), read) whereas a single atomic_dec_return does only two pointers dereferences (read, write). Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-26x86: unmask CPUID levels on Intel CPUs, fixIngo Molnar
Impact: fix boot hang on pre-model-15 Intel CPUs rdmsrl_safe() does not work in very early bootup code yet, because we dont have the pagefault handler installed yet so exception section does not get parsed. rdmsr_safe() will just crash and hang the bootup. So limit the MSR_IA32_MISC_ENABLE MSR read to those CPU types that support it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-26libata-sff: fix incorrect EH messageTejun Heo
The EH message for NODEV_HINT path was describing the opposite condition. Fix it. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-01-26x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.Eric Anholt
In the absence of PAT, PAGE_KERNEL_WC ends up mapping to a memory type that gets UC behavior even in the presence of a WC MTRR covering the area in question. By swapping to PAGE_KERNEL_UC_MINUS, we can get the actual behavior the caller wanted (WC if you can manage it, UC otherwise). This recovers the 40% performance improvement of using WC in the DRM to upload vertex data. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-01-25[ARM] fix section-based ioremapRussell King
Tomi Valkeinen reports: Running with latest linux-omap kernel on OMAP3 SDP board, I have problem with iounmap(). It looks like iounmap() does not properly free large areas. Below is a test which fails for me in 6-7 loops. for (i = 0; i < 200; ++i) { vaddr = ioremap(paddr, size); if (!vaddr) { printk("couldn't ioremap\n"); break; } iounmap(vaddr); } The changes to vmalloc.c weren't reflected in the ARM ioremap implementation. Turns out the fix is rather simple. Tested-by: Tomi Valkeinen <tomi.valkeinen@nokia.com> Tested-by: Matt Gerassimoff <mgeras@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-01-25x86: use standard PIT frequencyIngo Molnar
the RDC and ELAN platforms use slighly different PIT clocks, resulting in a timex.h hack that changes PIT_TICK_RATE during build time. But if a tester enables any of these platform support .config options, the PIT will be miscalibrated on standard PC platforms. So use one frequency - in a subsequent patch we'll add a quirk to allow x86 platforms to define different PIT frequencies. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-24[ARM] omap: usb: thou shalt not provide empty release functionsRussell King
... for devices. Doing so is a bug, plain and simple, and drives GregKH round the bend. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-01-24[ARM] clkdev: fix clock matchingRussell King
The old matching algorithm was too fuzzy, causing false positives. For example, when asked for device D connection C1 and we only find device D connection C2, we return that as a valid match despite the connection names being different. Change the algorithm such that: An entry with a NULL ID is assumed to be a wildcard. If an entry has a device ID, it must match If an entry has a connection ID, it must match However, we maintain the order of precidence while still only doing a single pass over all entries: dev+con > dev only > con only. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-01-24[ARM] 5368/1: arch/arm/mach-davinci/usb.c buildfixDavid Brownell
From: David Brownell <dbrownell@users.sourceforge.net> Subject: ARM/mach-davinci/usb.c buildfix CC arch/arm/mach-davinci/usb.o arch/arm/mach-davinci/usb.c:60: error: 'IRQ_USBINT' undeclared here (not in a function) make[1]: *** [arch/arm/mach-davinci/usb.o] Error 1 Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-01-24[ARM] fix StrongARM-11x0 page copy implementationRussell King
Which had the 'from' and 'to' pages reversed. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-01-23x86: filter CPU features dependent on unavailable CPUID levelsH. Peter Anvin
Impact: Fixes potential crashes on misconfigured systems. Some CPU features require specific CPUID levels to be available in order to function, as they contain information about the operation of a specific feature. However, some BIOSes and virtualization software provide the ability to mask CPUID levels in order to support legacy operating systems. We try to enable such CPUID levels when we know how to do it, but for the remaining cases, filter out such CPU features when there is no way for us to support them. Do this in one place, in the CPUID code, with a table-driven approach. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-01-23x86: handle PAT more like other CPU featuresH. Peter Anvin
Impact: Cleanup When PAT was originally introduced, it was handled specially for a few reasons: - PAT bugs are hard to track down, so we wanted to maintain a whitelist of CPUs. - The i386 and x86-64 CPUID code was not yet unified. Both of these are now obsolete, so handle PAT like any other features, including ordinary feature blacklisting due to known bugs. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-01-23x86: clean up stray space in <asm/processor.h>H. Peter Anvin
Impact: Whitespace cleanup only Clean up a stray space character in arch/x86/include/asm/processor.h. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-01-23x86: ia32_signal: use {get|put}_user_try and catchHiroshi Shimamoto
Impact: use new framework Use {get|put}_user_try, catch, and _ex in arch/x86/ia32/ia32_signal.c. Note: this patch contains "WARNING: line over 80 characters", because when introducing new block I insert an indent to avoid mistakes by edit. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-01-23x86: signal: use {get|put}_user_try and catchHiroshi Shimamoto
Impact: use new framework Use {get|put}_user_try, catch, and _ex in arch/x86/kernel/signal.c. Note: this patch contains "WARNING: line over 80 characters", because when introducing new block I insert an indent to avoid mistakes by edit. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-01-23x86: uaccess: introduce try and catch frameworkHiroshi Shimamoto
Impact: introduce new uaccess exception handling framework Introduce {get|put}_user_try and {get|put}_user_catch as new uaccess exception handling framework. {get|put}_user_try begins exception block and {get|put}_user_catch(err) ends the block and gets err if an exception occured in {get|put}_user_ex() in the block. The exception is stored thread_info->uaccess_err. The example usage of this framework is below; int func() { int err = 0; get_user_try { get_user_ex(...); get_user_ex(...); : } get_user_catch(err); return err; } Note: get_user_ex() is not clear the value when an exception occurs, it's different from the behavior of __get_user(), but I think it doesn't matter. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2009-01-23x86, mm: fix pte_free()Peter Zijlstra
On -rt we were seeing spurious bad page states like: Bad page state in process 'firefox' page:c1bc2380 flags:0x40000000 mapping:c1bc2390 mapcount:0 count:0 Trying to fix it up, but a reboot is needed Backtrace: Pid: 503, comm: firefox Not tainted 2.6.26.8-rt13 #3 [<c043d0f3>] ? printk+0x14/0x19 [<c0272d4e>] bad_page+0x4e/0x79 [<c0273831>] free_hot_cold_page+0x5b/0x1d3 [<c02739f6>] free_hot_page+0xf/0x11 [<c0273a18>] __free_pages+0x20/0x2b [<c027d170>] __pte_alloc+0x87/0x91 [<c027d25e>] handle_mm_fault+0xe4/0x733 [<c043f680>] ? rt_mutex_down_read_trylock+0x57/0x63 [<c043f680>] ? rt_mutex_down_read_trylock+0x57/0x63 [<c0218875>] do_page_fault+0x36f/0x88a This is the case where a concurrent fault already installed the PTE and we get to free the newly allocated one. This is due to pgtable_page_ctor() doing the spin_lock_init(&page->ptl) which is overlaid with the {private, mapping} struct. union { struct { unsigned long private; struct address_space *mapping; }; spinlock_t ptl; struct kmem_cache *slab; struct page *first_page; }; Normally the spinlock is small enough to not stomp on page->mapping, but PREEMPT_RT=y has huge 'spin'locks. But lockdep kernels should also be able to trigger this splat, as the lock tracking code grows the spinlock to cover page->mapping. The obvious fix is calling pgtable_page_dtor() like the regular pte free path __pte_free_tlb() does. It seems all architectures except x86 and nm10300 already do this, and nm10300 doesn't seem to use pgtable_page_ctor(), which suggests it doesn't do SMP or simply doesnt do MMU at all or something. Signed-off-by: Peter Zijlstra <a.p.zijlsta@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: <stable@kernel.org>
2009-01-23[S390] Add missing compat system call wrappers.Michael Holzheu
Add wrapper functions for the following compat system calls: * readahead * sendfile64 * tkill * tgkill * keyctl This ensures that the high order bits of the parameter registers are correctly sign extended. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2009-01-23[S390] etr/stp: fix possible deadlockHeiko Carstens
Precreate stop_machine threads in case the machine supports ETR/STP. Otherwise we might deadlock if a time sync operation gets scheduled and the creation of stop_machine threads would cause disk I/O. This is just the minimal fix. The real fix would be to only precreate stop_machine threads if ETR/STP is actually used. But that would be a rather large and complicated patch. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2009-01-23[S390] cputime: fix lowcore initialization on cpu hotplugHeiko Carstens
On (initial) cpu hotplug the lowcore values for user_timer and system_timer don't get initialized like they would get on each process schedule. On initial start of secondary cpus this leads to the situation where per thread user/system_timer values are larger than the corresponding contents of the lowcore. When later calculating time spent in user/system context the result can be negative. So for cpu hotplug we should manually initialize lowcore values. Fixes this bug: Kernel BUG at 000ec080 [verbose debug info unavailable] fixpoint divide exception: 0009 [#1] PREEMPT SMP Modules linked in: CPU: 10 Not tainted 2.6.28 #4 Process sysctl (pid: 975, task: 3fa752e0, ksp: 3fbebca0) Krnl PSW : 070c1000 800ec080 (show_stat+0x390/0x5fc) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 Krnl GPRS: 7fffffff fefc7ce5 3faec080 003879ae 00000001 01388000 7fffffff 01388000 00000000 00000000 0049ad50 3fbebcf8 01388000 002f51a8 800ec1fe 3fbebcf8 Krnl Code: 800ec076: 9001b188 stm %r0,%r1,392(%r11) 800ec07a: 9801b0c0 lm %r0,%r1,192(%r11) 800ec07e: 1d05 dr %r0,%r5 >800ec080: 9001b0c0 stm %r0,%r1,192(%r11) 800ec084: 5860b0c4 l %r6,196(%r11) 800ec088: 1806 lr %r0,%r6 800ec08a: 8c800001 srdl %r8,1 800ec08e: 1d87 dr %r8,%r7 Call Trace: ([<00000000000ec1ee>] show_stat+0x4fe/0x5fc) [<00000000000c13e8>] seq_read+0xc4/0x3ac [<00000000000e4796>] proc_reg_read+0x6e/0x9c [<00000000000a6a44>] vfs_read+0x78/0x100 [<00000000000a6ba8>] sys_read+0x40/0x80 [<00000000000234a8>] sysc_do_restart+0x1a/0x1e Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2009-01-23[S390] fix compat sigaltstack syscall table entryMichael Holzheu
When 31 bit user space programs call sigaltstack on a 64 bit Linux OS, the system call returns -1 with errno=EFAULT. The 31 bit pointer passed to the system call is extended to 64 bit, but the high order bits are not set to zero. The kernel detects the invalid user space pointer and returns -EFAULT. To solve the problem, sys32_sigaltstack_wrapper() instead of sys32_sigaltstack() has to be called. The wrapper function sets the high order bits to zero. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2009-01-23[S390] personality: fix personality loss on execveHeiko Carstens
Use the personality() macro to mask out all bits that are not relevant for the personality type. The personality field contains bits for other things as well, so without masking out the not relevalent bits the comparison won't do what is expected. Reported-by: Andreas Krebbel <krebbel@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2009-01-23powerpc/4xx: Update multi-board PowerPC 4xx defconfigsJosh Boyer
Update the multi-board configs for 2.6.29-rc2 Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
2009-01-23powerpc/44x: Update PowerPC 44x defconfigsJosh Boyer
Update the 44x defconfigs for 2.6.29-rc2 Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
2009-01-23x86, xen: fix hardirq.h merge falloutIngo Molnar
Impact: build fix This build error: arch/x86/xen/suspend.c:22: error: implicit declaration of function 'fix_to_virt' arch/x86/xen/suspend.c:22: error: 'FIX_PARAVIRT_BOOTMAP' undeclared (first use in this function) arch/x86/xen/suspend.c:22: error: (Each undeclared identifier is reported only once arch/x86/xen/suspend.c:22: error: for each function it appears in.) triggers because the hardirq.h unification removed an implicit fixmap.h include - on which arch/x86/xen/suspend.c depended. Add the fixmap.h include explicitly. Signed-off-by: Ingo Molnar <mingo@elte.hu>