summaryrefslogtreecommitdiffstats
path: root/arch (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [IA64] Kernel parameter for max number of concurrent global TLB purgesFenghua Yu2008-04-043-7/+43
| | | | | | | | | The patch defines kernel parameter "nptcg=". The parameter overrides max number of concurrent global TLB purges which is reported from either PAL_VM_SUMMARY or SAL PALO. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [IA64] Multiple outstanding ptc.g instruction supportFenghua Yu2008-04-043-17/+160
| | | | | | | | | | | | | | | | | | | | According to SDM2.2, Itanium supports multiple outstanding ptc.g instructions. But current kernel function ia64_global_tlb_purge() uses a spinlock to serialize ptc.g instructions issued by multiple processors. This serialization might have scalability issue on a big SMP machine where many processors could purge TLB in parallel. The patch fixes this problem by issuing multiple ptc.g instructions in ia64_global_tlb_purge(). It also adds support for the "PALO" table to get a platform view of the max number of outstanding ptc.g instructions (which may be different from the processor view found from PAL_VM_SUMMARY). PALO specification can be found at: http://www.dig64.org/home/DIG64_PALO_R1_0.pdf spinaphore implementation by Matthew Wilcox. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* x86 ptrace: avoid unnecessary wrmsrRoland McGrath2008-04-041-4/+7
| | | | | | | | | | | | | | | | | This avoids using wrmsr on MSR_IA32_DEBUGCTLMSR when it's not needed. No wrmsr ever needs to be done if noone has ever used block stepping. Without this change, using ptrace on 2.6.25 on an x86 KVM guest will tickle KVM's missing support for the MSR and crash the guest kernel. Though host KVM is the buggy one, this makes for a regression in the guest behavior from 2.6.24->2.6.25 that we can easily avoid. I also corrected some bad whitespace. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'merge' of ↵Linus Torvalds2008-04-0426-134/+227
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix MPC5200 (not B!) device tree so FEC ethernet works [POWERPC] mpc5200: Amalgamated DTS fixes and updates [POWERPC] Fix rtas_flash procfs interface [POWERPC] Fix deadlock with mmu_hash_lock in hash_page_sync [POWERPC] Fix iSeries hard irq enabling regression [POWERPC] Fix CPM2 SCC1 clock initialization. [POWERPC] Fix defconfigs so we dont set both GENRTC and RTCLIB [POWERPC] fsldma: Use compatiable binding as spec [POWERPC] sata_fsl: reduce compatibility to fsl,pq-sata [POWERPC] 83xx: enable usb in 837x rdb and 83xx defconfigs [POWERPC] 83xx: Fix wrong USB phy type in mpc837xrdb dts
| * [POWERPC] Fix MPC5200 (not B!) device tree so FEC ethernet worksRené Bürgel2008-04-031-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gets the FEC ethernet driver working again on the lite5200 platform. The FEC driver is also compatible with the MPC5200, not only with the MPC5200B, so this adds a suitable entry to the driver's match list. Furthermore this adds the settings for the PHY in the dts file for the Lite5200. Note, that this is not exactly the same as in the Lite5200B, because the PHY is located at f0003000:01 for the 5200, and at :00 for the 5200B. This was tested on a Lite5200 and a Lite5200B, both booted a kernel via tftp and mounted the root via nfs successfully. Signed-off-by: René Bürgel <r.buergel@unicontrol.de> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] mpc5200: Amalgamated DTS fixes and updatesBartlomiej Sieka2008-04-033-30/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DTS updates that fix booting problems on mpc5200-based boards: - change to ethernet reg property - addition of mdio and phy nodes - removal of pci node (Motion-Pro board) Other DTS updates: - update i2c device tree nodes - add lpb bus node and flash device (without partitions defined) - add rtc i2c nodes Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] Fix rtas_flash procfs interfaceMaxim Shchetynin2008-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Handling of the proc_dir_entry->count was changed in 2.6.24-rc5. After this change, the default value for pde->count is 1 and not 0 as before. Therefore, if we want to check whether our procfs file is already opened (already in use), we have to check if pde->count is greater than 2 rather than 1. Signed-off-by: Maxim Shchetynin <maxim@de.ibm.com> Signed-off-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] Fix deadlock with mmu_hash_lock in hash_page_syncBenjamin Herrenschmidt2008-04-031-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hash_page_sync() takes and releases the low level mmu hash lock in order to sync with other processors disposing of page tables. Because that lock can be needed to service hash misses triggered by interrupt handlers, taking it must be done with interrupts off. However, hash_page_sync() appears to be called with interrupts enabled, thus causing occasional deadlocks. We fix it by making sure hash_page_sync() masks interrupts while holding the lock. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] Fix iSeries hard irq enabling regressionBenjamin Herrenschmidt2008-04-032-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A subtle bug sneaked into iSeries recently. On this platform, we must not normally clear MSR:EE (the hardware external interrupt enable) except for short periods of time. Taking an interrupt while soft-disabled doesn't cause us to clear it for example. The iSeries kernel expects to mostly run with MSR:EE enabled at all times except in a few exception entry/exit code paths. Thus local_irq_enable() doesn't check if it needs to hard-enable as it expects this to be unnecessary on iSeries. However, hard_irq_disable() _does_ cause MSR:EE to be cleared, including on iSeries. A call to it was recently added to the context switch code, thus causing interrupts to become disabled for a long periods of time, causing the iSeries watchdog to kick in under some circumstances and other nasty things. This patch fixes it by making local_irq_enable() properly re-enable MSR:EE on iSeries. It basically removes a return statement here to make iSeries use the same code path as everybody else. That does mean that we might occasionally get spurious decrementer interrupts but I don't think that matters. Another option would have been to make hard_irq_disable() a nop on iSeries but I didn't like it much, in case we have good reasons to hard-disable. Part of the patch is fixes to make sure the hard_enabled PACA field is properly set on iSeries as it used not to be before, since it was mostly unused. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] Fix CPM2 SCC1 clock initialization.Laurent Pinchart2008-04-031-0/+1
| | | | | | | | | | | | | | | | A missing break statement in a switch caused cpm2_clk_setup() to initialize SCC2 instead of SCC1. Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] Fix defconfigs so we dont set both GENRTC and RTCLIBKumar Gala2008-03-3110-80/+30
| | | | | | | | | | | | | | The new rtc subsystem conflicts with genrtc so don't enable GENRTC if RTCLIB is enabled. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] sata_fsl: reduce compatibility to fsl,pq-sataKim Phillips2008-03-312-6/+6
| | | | | | | | | | | | | | | | as prescribed in Documentation/powerpc/booting-without-of.txt. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 83xx: enable usb in 837x rdb and 83xx defconfigsKim Phillips2008-03-312-2/+46
| | | | | | | | | | Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 83xx: Fix wrong USB phy type in mpc837xrdb dtsAnton Vorontsov2008-03-313-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to chip constraint MPC837x USB DR module can only use ULPI and serial PHY interfaces. The patch fixes the wrong type in dts. This patch fixes USB malfunctioning on the MPC837xE-RDB boards. Similar patch has been already applied for the MDS boards: commit 28b958859206b7010d03129611c2e444898e3ee4 Author: Li Yang <leoli@freescale.com> Date: Thu Mar 6 18:42:26 2008 +0800 [POWERPC] 83xx: Fix wrong USB phy type in mpc837xmds dts Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | vmcoreinfo: add the symbol "phys_base"Ken'ichi Ohmichi2008-04-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the problem that makedumpfile sometimes fails on x86_64 machine. This patch adds the symbol "phys_base" to a vmcoreinfo data. The vmcoreinfo data has the minimum debugging information only for dump filtering. makedumpfile (dump filtering command) gets it to distinguish unnecessary pages, and makedumpfile creates a small dumpfile. On x86_64 kernel which compiled with CONFIG_PHYSICAL_START=0x0 and CONFIG_RELOCATABLE=y, makedumpfile fails like the following: # makedumpfile -d31 /proc/vmcore dumpfile The kernel version is not supported. The created dumpfile may be incomplete. _exclude_free_page: Can't get next online node. makedumpfile Failed. # The cause is the lack of the symbol "phys_base" in a vmcoreinfo data. If the symbol "phys_base" does not exist, makedumpfile considers an x86_64 kernel as non relocatable. As the result, makedumpfile misunderstands the physical address where the kernel is loaded, and it cannot translate a kernel virtual address to physical address correctly. To fix this problem, this patch adds the symbol "phys_base" to a vmcoreinfo data. Signed-off-by: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: <stable@kernel.org> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | alpha: fix ALSA DMA mmap crashIvan Kokshaysky2008-04-031-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Make dma_alloc_coherent respect gfp flags (__GFP_COMP is one that matters). Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Tested-by: Michael Cree <mcree@orcon.net.nz> Cc: Richard Henderson <rth@twiddle.net> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2008-04-024-18/+31
|\ \ | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: remove unused calc_npages() in iommu_common.h sparc64: add the segment boundary checking to IOMMUs while merging SG entries [SPARC64]: Don't open-code {get,put}_cpu_var() in flush_tlb_pending().
| * | sparc64: remove unused calc_npages() in iommu_common.hFUJITA Tomonori2008-03-281-13/+0
| | | | | | | | | | | | | | | | | | Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | sparc64: add the segment boundary checking to IOMMUs while merging SG entriesFUJITA Tomonori2008-03-283-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some IOMMUs allocate memory areas spanning LLD's segment boundary limit. It forces low level drivers to have a workaround to adjust scatter lists that the IOMMU builds. We are in the process of making all the IOMMUs respect the segment boundary limits to remove such work around in LLDs. SPARC64 IOMMUs were rewritten to use the IOMMU helper functions and the commit 89c94f2f70d093f59b55d3ea8042d13889169346 made the IOMMUs not allocate memory areas spanning the segment boundary limit. However, SPARC64 IOMMUs allocate memory areas first then try to merge them (while some IOMMUs walk through all the sg entries to see how they can be merged first and allocate memory areas). So SPARC64 IOMMUs also need the boundary limit checking when they try to merge sg entries. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [SPARC64]: Don't open-code {get,put}_cpu_var() in flush_tlb_pending().David S. Miller2008-03-281-5/+2
| | | | | | | | | | | | | | | | | | Noticed by Andrew Morton. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25Linus Torvalds2008-04-018-4/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25: sh: Fix up uImage compression type remove include/asm-sh/floppy.h sh: Fix TIF_USEDFPU clearing under FPU emulation. sh: Fix occasional FPU register corruption under preempt.
| * | | sh: Fix up uImage compression typeYoshihiro Shimoda2008-03-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix up uImage compression type. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | remove include/asm-sh/floppy.hAdrian Bunk2008-03-311-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the unused include/asm-sh/floppy.h (ARCH_MAY_HAVE_PC_FDC was not enabled). Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Fix occasional FPU register corruption under preempt.Paul Mundt2008-03-266-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presently with preempt enabled there's the possibility to be preempted after the TIF_USEDFPU test and the register save, leading to bogus state post-__switch_to(). Use an explicit preempt_disable()/enable() pair around unlazy_fpu()/clear_fpu() to avoid this. Follows the x86 change. Reported-by: Takuo Koguchi <takuo.koguchi.sw@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | Merge branch 'upstream' of ↵Linus Torvalds2008-04-0113-423/+653
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus: [MIPS] XSS1500: Fix compilation [MIPS] Bigsur: make defconfig more useful. [MIPS] Alchemy: work around clock misdetection on early Au1000 [MIPS] Add missing 4KEC TLB refill handler [MIPS] BCM1480: Fix PCI/HT IO access [MIPS] Fix the installation condition of MIPS clocksource [MIPS] Check for GCC r10k-cache-barrier support [MIPS] I8253: Export i2853_lock to modules. [MIPS] VPE loader: Check result of memory allocation.
| * | | | [MIPS] XSS1500: Fix compilationFlorian Fainelli2008-04-012-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the compilation of the Au1000 XSS1500 board setup and irqmap code. Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] Bigsur: make defconfig more useful.Ralf Baechle2008-04-011-364/+575
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] Alchemy: work around clock misdetection on early Au1000Sergei Shtylyov2008-04-013-31/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Work around the CPU clock miscalculation on Au1000DA/HA/HB due the sys_cpupll register being write-only, i.e. actually do what the comment before cal_r4off() function advertised for years but the code failed at. This is achieved by just giving user a chance to define the clock explicitly in the board config. via CONFIG_SOC_AU1000_FREQUENCY option, defaulting to 396 MHz if the option is not given... The patch is based on the AMD's big unpublished patch, the issue seems to be an undocumented errata (or feature :-)... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] Add missing 4KEC TLB refill handlerThomas Bogendoerfer2008-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Early 4KEc were MIPS32r1 and therefore need some love to get a TLB refill handler. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] BCM1480: Fix PCI/HT IO accessThomas Bogendoerfer2008-04-012-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - removed check for enable HT-PCI bridges, because some CFE version init only the needed one and scanning works even with disabled HT links - implemented I/O access behind HT PCI busses - fixed pci_map for IO resource behind PCI bridge Tested with E100 and Tulip driver. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] Fix the installation condition of MIPS clocksourceYoichi Yuasa2008-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] Check for GCC r10k-cache-barrier supportThomas Bogendoerfer2008-04-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check whether gcc supports -mr10-cache-barrier=1 and issue a cleaner error message if not. This option is needed to build working SGI IP28 kernels. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] I8253: Export i2853_lock to modules.Ralf Baechle2008-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes: ERROR: "i8253_lock" [drivers/input/misc/pcspkr.ko] undefined! Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | | [MIPS] VPE loader: Check result of memory allocation.Ralf Baechle2008-04-011-6/+15
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | And while at it, make it a little cleaner. Issue originally reported by Tiejun Chen (tiejun.chen@windriver.com). Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | | | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-04-013-3/+28
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4875/1: Add MODULE_ALIAS to ixp4xx-beeper module [ARM] 4873/1: Fix ITE 8152 interrupt demux [ARM] 4878/1: Add oabi shim for fstatat64
| * | | [ARM] 4873/1: Fix ITE 8152 interrupt demuxMike Rapoport2008-03-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes misprints in ITE 8152 interrupt demuxing Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | | [ARM] 4878/1: Add oabi shim for fstatat64Riku Voipio2008-03-282-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ccoreutils and other have started using fstatat64. Thus, we need a shim for it if we want to support modern oldabi userlands (such as Debian/arm/lenny) with EABI kernels. See http://bugs.debian.org/462677 Acked-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Riku Voipio <riku.voipio@movial.fi> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | | powerpc/pseries/xcis: ansifyAl Viro2008-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | vma_map: use proper pointer typesAl Viro2008-03-301-21/+16
| |_|/ |/| | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Avoid false positive warnings in kmap_atomic_prot() with DEBUG_HIGHMEMAndrew Morton2008-03-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I believe http://bugzilla.kernel.org/show_bug.cgi?id=10318 is a false positive. There's no way in which networking will be using highmem pages here, so it won't be taking the KM_USER0 kmap slot, so there's no point in performing these checks. Cc: Pawel Staszewski <pstaszewski@artcom.pl> Cc: Ingo Molnar <mingo@elte.hu> Acked-by: Christoph Lameter <clameter@sgi.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> [ Really sad. We lose almost all real-life coverage of the debug tests with this patch. Now it will only report problems for the cases where people actually end up using a HIGHMEM page, not when they just _might_ use one. - Linus ] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branch 'merge' of ↵Linus Torvalds2008-03-281-5/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix missed hardware breakpoints across multiple threads
| * | | [POWERPC] Fix missed hardware breakpoints across multiple threadsMichael Ellerman2008-03-281-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a bug in the powerpc DABR (data access breakpoint) handling, which can result in us missing breakpoints if several threads are trying to break on the same address. The circumstances are that do_page_fault() calls do_dabr(), this clears the DABR (sets it to 0) and sets up the signal which will report to userspace that the DABR was hit. The do_signal() code will restore the DABR value on the way out to userspace. If we reschedule before calling do_signal(), __switch_to() will check the cached DABR value and compare it to the new thread's value, if they match we don't set the DABR in hardware. So if two threads have the same DABR value, and we schedule from one to the other after taking the interrupt for the first thread hitting the DABR, the second thread will run without the DABR set in hardware. The cleanest fix is to move the cache update into set_dabr(), that way we can't forget to do it. Reported-by: Jan Kratochvil <jan.kratochvil@redhat.com> Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linusLinus Torvalds2008-03-282-50/+73
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: comment documentation update. lguest: Don't need comment terminator before disk section. lguest: lguest.txt documentation fix lguest: Add puppies which where previously missing. virtio_pci: unregister virtio device at device remove
| * | | | lguest: comment documentation update.Rusty Russell2008-03-282-50/+73
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Took some cycles to re-read the Lguest Journey end-to-end, fix some rot and tighten some phrases. Only comments change. No new jokes, but a couple of recycled old jokes. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* | | | Merge branch 'merge' of ↵Linus Torvalds2008-03-281-54/+88
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] update pasemi_defconfig
| * | [POWERPC] update pasemi_defconfigOlof Johansson2008-03-251-54/+88
| | | | | | | | | | | | | | | | | | | | | Disable GEN_RTC since it conflicts with the i2c rtc drivers registering, besides that keep most of the new defaults. Signed-off-by: Olof Johansson <olof@lixom.net>
* | | x86: prefetch fix #2Ingo Molnar2008-03-271-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linus noticed a second bug and an uncleanliness: - we'd return on any instruction fetch fault - we'd use both the value of 16 and the PF_INSTR symbol which are the same and make no sense the cleanup nicely unifies this piece of logic. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | | Merge branch 'for-linus' of ↵Linus Torvalds2008-03-277-157/+274
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: xen: fix UP setup of shared_info xen: fix RMW when unmasking events x86, documentation: nmi_watchdog=2 works on x86_64 x86: stricter check in follow_huge_addr() rdc321x: GPIO routines bugfixes x86: ptrace.c: fix defined-but-unused warnings x86: fix prefetch workaround
| * | | xen: fix UP setup of shared_infoJeremy Fitzhardinge2008-03-271-20/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to set up the shared_info pointer once we've mapped the real shared_info into its fixmap slot. That needs to happen once the general pagetable setup has been done. Previously, the UP shared_info was set up one in xen_start_kernel, but that was left pointing to the dummy shared info. Unfortunately there's no really good place to do a later setup of the shared_info in UP, so just do it once the pagetable setup has been done. [ Stable: needed in 2.6.24.x ] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Stable Kernel <stable@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | | xen: fix RMW when unmasking eventsJeremy Fitzhardinge2008-03-272-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xen_irq_enable_direct and xen_sysexit were using "andw $0x00ff, XEN_vcpu_info_pending(vcpu)" to unmask events and test for pending ones in one instuction. Unfortunately, the pending flag must be modified with a locked operation since it can be set by another CPU, and the unlocked form of this operation was causing the pending flag to get lost, allowing the processor to return to usermode with pending events and ultimately deadlock. The simple fix would be to make it a locked operation, but that's rather costly and unnecessary. The fix here is to split the mask-clearing and pending-testing into two instructions; the interrupt window between them is of no concern because either way pending or new events will be processed. This should fix lingering bugs in using direct vcpu structure access too. [ Stable: needed in 2.6.24.x ] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Stable <stable@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>