- 18 Oct, 2004 40 commits
-
-
Hirokazu Takata authored
This patch fixes a sys_tas system call for m32r. - This patch fixes an Oops at sys_tas() in case CONFIG_SMP && CONFIG_PREEMPT. > Unable to handle kernel paging request at virtual address XXXXXXXX It is because a page fault happens at the spin_locked region in sys_tas() and in_atomic() checks preempt_count, but spin_lock() already counts up the preemt_count. arch/m32r/kernel/sys_m32r.c: 32 /* 33 * sys_tas() - test-and-set 34 * linuxthreads testing version 35 */ 36 #ifndef CONFIG_SMP 37 asmlinkage int sys_tas(int *addr) 38 { 39 int oldval; 40 unsigned long flags; 41 42 if (!access_ok(VERIFY_WRITE, addr, sizeof (int))) 43 return -EFAULT; 44 local_irq_save(flags); 45 oldval = *addr; 46 *addr = 1; 47 local_irq_restore(flags); 48 return oldval; 49 } 50 #else /* CONFIG_SMP */ 51 #include <linux/spinlock.h> 52 53 static spinlock_t tas_lock = SPIN_LOCK_UNLOCKED; 54 55 asmlinkage int sys_tas(int *addr) 56 { 57 int oldval; 58 59 if (!access_ok(VERIFY_WRITE, addr, sizeof (int))) 60 return -EFAULT; 61 62 spin_lock(&tas_lock); 63 oldval = *addr; /* <<< ATTENTION >>> * A page fault may happen here, because "addr" points an * user-space area. */ 64 *addr = 1; 65 spin_unlock(&tas_lock); 66 67 return oldval; 68 } 69 #endif /* CONFIG_SMP */ arch/mm/fault.c: 137 /* 138 * If we're in an interrupt or have no user context or are runni ng in an 139 * atomic region then we must not take the fault.. 140 */ 141 if (in_atomic() || !mm) 142 goto bad_area_nosemaphore; - sys_tas() is used for user-level mutual exclusion for the m32r, which is prepared to implement a linuxthreads library. The above problem may be happened in a program, which uses pthread_mutex_lock(), calls sys_tas(). The current m32r instruction set has no user-level locking functions for mutual exclusion. # I hope it will be fixed in the future... - This patch fixes the problem by using _raw_spin_lock() instead of spin_lock(). spin_lock() increments up preemt_count, on the contrary, _raw_sping_lock() does not. # I think this fix is just a temporary work around, and # it is preferable to be rewrite to make it simpler by using # asm() function or something... * arch/m32r/kernel/sys_m32r.c: - Fix sys_tas() for CONFIG_SMP && CONFIG_PREEMPT. Signed-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
Here is a patch to support the M32R SIO (serial IO) driver. This driver supports the M32R serial ports. - Supports two types M32R serial interfaces; M32R_SIO and M32R_PLDSIO. - With SMP safeness. Currently the M32R_PLDSIO serial interface, which is implemented on a PLD on the M3T-M32700UT evaluation board, has slightly different specification from the integrated peripheral SIO (M32R_SIO). Now we can select them by CONFIG_ option. It is a serial-core based driver, based on drivers/serial/8250.c. Any comments or suggestions will be appreciated. Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
Here is a patch for the Renesas AR camera driver for m32r. - AR (artificial retina) camera is newly supported. AR camera module: Renesas M64278E-800, VGA(640x480 pixcels) http://www.renesas.com/avs/resource/japan/jpn/pdf/assp/rjj01f0005_psmobile.pdfSigned-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
Here is a patch to update include/asm-m32r/m32102.h. * include/asm-m32r/m32102.h: - Add macro definitions for DMA controller. - Cosmetics; rearrange indentations. Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
This patch is for the new M32R CF/PCMCIA drivers. It is moved from arch/m32r/drivers/ and some part are updated for 2.6 kernel. Signed-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hirokazu Takata authored
This is a DS1302 real-time clock driver. It is moved from arch/m32r/drivers/, has been originally taken from arch/cris/arch-v10/drivers/ds1302.c. Currently, this driver supports only m32r target boards. Maybe some work will be required to support other target. Signed-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Guido Guenther authored
Allow swsusp work with macintosh's own thermal sensor drivers enabled. Contributions from Nathan Hand <nathanh@manu.com.au> Signed-Of-By: Guido Guenther <agx@sigcpu.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Venkatesh Pallipadi authored
This patch is required for S3 suspend-resume on noexec capable systems. On these systems, we need to save and restore MSR_EFER during S3 suspend-resume. Signed-off-by: "Venkatesh Pallipadi" <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Oliver Neukum authored
This is additional documentation for power management. Pavel Machek has given his acknowledgement. Signed-Off-By: Oliver Neukum <oliver@neukum.name> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Pavel Machek authored
Documentation update. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Pavel Machek authored
apm.c needs save_processor_state and friends. Add a comment to keep people from removing it. Describe a way to make swsusp work on non-PSE machines. Document purpose of acpi_restore_state. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Pavel Machek authored
Currently, process start times change after swsusp (because they are derived from jiffies and current time, oops). This should fix it. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Randy Dunlap authored
Code section errors in i386/io_apic.c found by scripts/reference_init.pl. Looks like they could cause problems for a few drivers or in a real hotplug environment. Error: ./arch/i386/kernel/io_apic.o .text refers to 000018ff R_386_PC32 .init.text call chain: snd_mpu401_acpi_resource acpi_register_gsi mp_register_gsi io_apic_set_pci_routing {A} ioapic_register_intr IO_APIC_irq_trigger find_irq_entry Error: ./arch/i386/kernel/io_apic.o .text refers to 00001967 R_386_PC32 .init.text (as above thru {A}, then:) IO_APIC_irq_trigger irq_trigger MPBIOS_trigger >> removing __init from this led to needing to remove __init from EISA_ELCR also. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Ingo Molnar authored
Fix interaction between nosmp and pcibios_fixup_irqs(). When we boot with nosmp we dont have all the mptable info, so IO_APIC_get_PCI_irq_vector() doesnt work and devices just end up getting a wrong interrupt. From: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Suresh B. Siddha authored
As part of the workaround for the "Interrupt message re-ordering across hub interface" errata (page #16 in http://developer.intel.com/design/chipsets/specupdt/30288402.pdf), BIOS may enable hardware IRQ balancing for E7520/E7320/E7525(revision ID 0x9 and below) based platforms. Add pci quirks to disable SW irqbalance/affinity on those platforms. Move balanced_irq_init() to late_initcall so that kirqd will be started after pci quirks. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Oleg Nesterov authored
- valid_stack_ptr() erroneously assumes that stack always lives in task_struct->thread_info. - the main loop in show_trace() does not recalc ebp after stack switching. With CONFIG_FRAME_POINTER every call to print_context_stack() will produce the same output. With this patch, show_trace() does not use task argument in the main loop. Instead, it converts stack to thread_info* context, and passes it to print_context_stack() and (implicitly) to valid_stack_ptr(). valid_stack_ptr() now does bounds checking against proper context. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Suresh B. Siddha authored
Some cache descriptors are missing from x86_64 table. So instead of copying from i386 code, here is a patch to share the table between i386 and x86_64. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
The following fixes EMBEDDED_RAMDISK to work with O=. The problem was that we couldn't find the linker script, since we needed to specify the patch to the source tree for it. I've tested this with the ramdisk set to both 'ramdisk.gz' and '../ramdisk.gz'. Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This includes some ST40 updates from the ST tree. The most notable change is the ST40GX1 fixes for INTC2-based interrupts. Signed-off-by: Alex Bennee <kernel-hacker@bennee.com> Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
sh-sci updates all around the board. Support for the newly added subtypes, some compilation cleanups, etc. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This adds support for the CTP/PCI-SH03 board from Interface. Signed-off-by: Saito.K <ksaito@interface.co.jp> Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This adds support for the SH73180 Solution Engine. Signed-off-by: Hiroshi DOYU <Hiroshi_DOYU@montavista.co.jp> Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
Previously we could do subtype parsing and cache configuration in the same location.. but with the introduction of things like the SH7705 where we use SH-3 style probing with SH-4 style caches, this is no longer the case. As such, we move the probe code to a saner place. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
The SH7750 and SH7750S have hardware performance counters, this adds an oprofile driver for those. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This updates some of the PCI drivers. SH7751, the sh03 board-specific PCI code, and some ST40 PCI updates are grouped in this. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This adds other random bits of sh cleanup. This includes Kconfig updates, some exported symbols to satisfy module builds, cleanup of some whitespace damage, some compile fixes, and some general header and mach-type cleanup. Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This adds support for the SH4-202 MicroDev from SuperH, Inc. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This adds support for an SH-4 optimized memcpy(). Written by Stuart Menefy <stuart.menefy@st.com>. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This adds support for the edosk7705 board from Renesas. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
The early printk() code was using a fixed PCLK value that was only sane in the SH7750 case. This updates the SCBRR value calculation to use CONFIG_SH_PCLK_FREQ instead and thus works on other subtypes as well (tested on SH4-202). Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This updates some of the sh DMA drivers and core API. Previously modules had to register for the channels they were interested in, but now it's dealt with transparently by the API with only the number of physical channels needing to be specified by each module. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
Nothing exciting here.. random defconfig updates, as well as a few new ones for microdev and ctp/pci-sh03. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This gets rid of the hardcoded workarounds for the Dreamcast in the dma-mapping code, and now wraps into the common consistent_alloc() and consistent_free() routines if the ones in the machvec aren't interested in handling it. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This basically follows the same change as for sh64 and adds asm-offsets to sh. Some hardcoded thread_info struct offsets get cleaned up by this. Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This fixes up the existing SH7705 support and enables the 32k cache mode for the processor. Signed-off-by: Alex Song <songqf9@yahoo.ca> Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mundt authored
This adds support for the SH73180 subtype (sh4a). Signed-off-by: Hiroshi DOYU <Hiroshi_DOYU@montavista.co.jp> Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mackerras authored
This patch fixes a problem where my new powerbook would sometimes hang or crash when changing CPU speed. We had schedule_timeout(HZ/1000) in there, intended to provide a delay of one millisecond. However, even with HZ=1000, it was (I believe) only waiting for the next jiffy before proceeding, which could be less than a millisecond. Changing the code to use msleep, and specifying a time of 1 jiffy + 1ms has fixed the problem. (When I looked at the msleep code, it appeared to me that msleep(1) with HZ=1000 would sleep for between 0 and 1ms.) Ben also asked me to remove the code that changes the AACK delay enable, after looking in the Darwin sources and seeing that Darwin does not change this in its corresponding code. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matt Porter authored
This patch enables/disables the PPC440GX L2 cache based on errata which prevents reliable operation on certain CPU revisions and speed grades. Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matt Porter authored
Add a missing include file for gen550. Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matt Porter authored
Use gen550 for early PPC progress messages and for the in-kernel ppc-stub.c on PPC44x. Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-