aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAge
* [MIPS] PCI: Coding style fixes for pcibios_enable_resources.Ralf Baechle2008-02-19
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] PCI: Port i386 PCI fixes.Ralf Baechle2008-02-19
| | | | | | | | The MIPS version of pcibios_enalbe_resources did not have the fixes from ed6d14f9760857c745206c978b80352fc09cfd19 yet which under circumstances similar to x86 might result in failures. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Qemu: finish platform removalAdrian Bunk2008-02-19
| | | | | | | Two files were omitted from the recent removal of the qemu platform. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Wire up the timerfd_*() o32 system callsDmitri Vorobiev2008-02-19
| | | | | | | | | | | | | | | | | | This patch enables the system calls timerfd_create(), timerfd_settime() and timerfd_gettime() for MIPS architecture. Please see the following Bugzilla entry for more details: http://bugzilla.kernel.org/show_bug.cgi?id=10038 This was tested using a Malta 4Kc board in both little-endian and big-endian modes. The unit test program is available from the URL above. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com> [Ralf: Added N64, N32 and O32 bits on 64-bit kernels.] Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] IP28: Add defconfig fileThomas Bogendoerfer2008-02-19
| | | | | Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] SB1: Fix CONFIG_SIBYTE_DMA_PAGEOPS build failure.Thiemo Seufer2008-02-19
| | | | | | | | | Fix type mismatch warnings for 64-bit kernel builds which trigger -Werror. The problem affects only SB-1 kernels with CONFIG_SIBYTE_DMA_PAGEOPS enabled. Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] BCM1480: Remove stray function call resulting in infinite recursionRalf Baechle2008-02-19
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Fix buggy invocations of kmap_coherent()Ralf Baechle2008-02-19
| | | | | | | | kmap_coherent will only work correctly if the page it is called on is not marked dirty. If it's dirty the kernel address of the page should be used instead of a temporary mapping. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Fix broken rm7000/rm9000 interrupt handlingThomas Koeller2008-02-19
| | | | | | | | Properly acknowledge RM7K and RM9K interrupts. Before this, interrupts were permanently masked after their first occurrence, making them non-functional. Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Handle I-cache coherency in flush_cache_range()Ralf Baechle2008-02-19
| | | | | | | | | | | | | | | | | | | | | | So far flush_cache_range() did't consider the I-cache largely because it did rarely ever matter to real world code. This was working primarily because normally code and data are don't share the same pages - with the exception of MIPS16 code which uses address constants embedded between the code. The following sequence of events may break the code: o MIPS16 executable being loaded o dynamic linker relocates the address constants embedded into the code: o Uses mprotect(2) to make code pages PROT_READ|PROT_WRITE o Performs the actual relocations by writing to the pages which likely are COW. Because no PROT_EXEC is set I-cache coherence will not be considered. o Uses mprotect(2) to switch code pages back to PROT_READ|PROT_EXEC. This results in a call to flush_cache_range() which also does not consider I-caches. o => executing the page just having been relocated may now result in the I-cache getting refilled with stale data from memory. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Use find_task_by_vpid in system callsPavel Emelyanov2008-02-19
| | | | | | | | | | | | There are some places left in mips, that lookup task in initial namespace, while the code doing so gets the pid from the user space and thus must treat it as virtual. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* x86: fix lguest build failureRusty Russell2008-02-18
| | | | | | | | | | | | | | | | | | | drivers/lguest/x86/switcher_32.S:(.text+0x3815f8): undefined reference to `LGUEST_PAGES_regs_trapnum' This problem was caused by asm-offsets.c only having the offsets when lguest *guest* support was set, not lguest host (host support used to imply guest support, so now they're separate these bugs come out). Lguest guest support and host support are separate config options: they used to be tied together. Sort out which parts of asm-offsets are needed for Guest and Host. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: reenable support for system without on node0Yinghai Lu2008-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One system doesn't have RAM for node0 installed. SRAT: PXM 0 -> APIC 0 -> Node 0 SRAT: PXM 0 -> APIC 1 -> Node 0 SRAT: PXM 1 -> APIC 2 -> Node 1 SRAT: PXM 1 -> APIC 3 -> Node 1 SRAT: Node 1 PXM 1 0-a0000 SRAT: Node 1 PXM 1 0-dd000000 SRAT: Node 1 PXM 1 0-123000000 ACPI: SLIT: nodes = 2 10 13 13 10 mapped APIC to ffffffffff5fb000 ( fee00000) Bootmem setup node 1 0000000000000000-0000000123000000 NODE_DATA [000000000000e000 - 0000000000014fff] bootmap [0000000000015000 - 00000000000395ff] pages 25 Could not find start_pfn for node 0 Pid: 0, comm: swapper Not tainted 2.6.24-smp-g5a514e21-dirty #14 Call Trace: [<ffffffff80bab498>] free_area_init_node+0x22/0x381 [<ffffffff8045ffc5>] generic_swap+0x0/0x17 [<ffffffff80bab0cc>] find_zone_movable_pfns_for_nodes+0x54/0x271 [<ffffffff80baba5f>] free_area_init_nodes+0x239/0x287 [<ffffffff80ba6311>] paging_init+0x46/0x4c [<ffffffff80b9dda5>] setup_arch+0x3c3/0x44e [<ffffffff80b978be>] start_kernel+0x6f/0x2c7 [<ffffffff80b971cc>] _sinittext+0x1cc/0x1d3 This happens because node 0 is not online, but the node state in mm/page_alloc.c has node 0 set. nodemask_t node_states[NR_NODE_STATES] __read_mostly = { [N_POSSIBLE] = NODE_MASK_ALL, [N_ONLINE] = { { [0] = 1UL } }, So we need to clear node_online_map before initializing the memory. Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* x86: CPA: avoid double checking of alias rangesThomas Gleixner2008-02-18
| | | | | | | | | When the CPA code is called with an virtual address in the range of the direct mapping or the high alias then we do not need to run through the alias check for this range. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: CPA no alias checking for _NXThomas Gleixner2008-02-18
| | | | | | | NX settings are not required to be consistent across alias mappings. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: zap invalid and unused pmds in early bootThomas Gleixner2008-02-18
| | | | | | | | | | | | | | | | | | | | | | | The early boot code maps KERNEL_TEXT_SIZE (currently 40MB) starting from __START_KERNEL_map. The kernel itself only needs _text to _end mapped in the high alias. On relocatible kernels the ASM setup code adjusts the compile time created high mappings to the relocation. This creates invalid pmd entries for negative offsets: 0xffffffff80000000 -> pmd entry: ffffffffff2001e3 It points outside of the physical address space and is marked present. This starts at the virtual address __START_KERNEL_map and goes up to the point where the first valid physical address (0x0) is mapped. Zap the mappings before _text and after _end right away in early boot. This removes also the invalid entries. Furthermore it simplifies the range check for high aliases. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: CPA, fix alias checksThomas Gleixner2008-02-18
| | | | | | | | | | | | | | c_p_a() did not discover all aliases correctly. (such as when called on vmalloc()-ed areas or ioremap()-ed areas) Push the alias checks to the lower, physical level and consistently discover all aliases that might exist: the low direct mappings and the high linear kernel-text mappings (on 64-bit). Thanks to Andi Kleen for pointing out that this was buggy. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* Merge branch 'release' of ↵Linus Torvalds2008-02-15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: DMI: quirk for FSC ESPRIMO Mobile V5505 ACPI: DMI blacklist updates pnpacpi: __initdata is not an identifier ACPI: static acpi_chain_head ACPI: static acpi_find_dsdt_initrd() ACPI: static acpi_no_initrd_override_setup() thinkpad_acpi: static ACPI suspend: Execute _WAK with the right argument cpuidle: Add Documentation ACPI, cpuidle: Clarify C-state description in sysfs ACPI: fix suspend regression due to idle update
| * ACPI, cpuidle: Clarify C-state description in sysfsVenkatesh Pallipadi2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a new sysfs entry under cpuidle states. desc - can be used by driver to communicate to userspace any specific information about the state. This helps in identifying the exact hardware C-states behind the ACPI C-state definition. Idea is to export this through powertop, which will help to map the C-state reported by powertop to actual hardware C-state. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2008-02-15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (46 commits) sh: Fix multiple UTLB hit on UP SH-4. sh: fix pci io access for r2d boards sh: fix ioreadN_rep and iowriteN_rep sh: use ctrl_in/out for on chip pci access sh: Kill off more dead symbols. sh: __uncached_start only on sh32. sh: asm/irq.h needs asm/cpu/irq.h. serial: sh-sci: Fix up SH-5 build. sh: Get SH-5 caches working again post-unification. maple: Fix up maple build failure. sh: Kill off bogus SH_SDK7780_STANDALONE symbol. sh: asm/tlb.h needs linux/pagemap.h for CONFIG_SWAP=n. sh: Tidy include/asm-sh/hp6xx.h maple: improve detection of attached peripherals sh: Shut up some trivial build warnings. sh: Update SH-5 flush_cache_sigtramp() for API changes. sh: Fix up set_fixmap_nocache() for SH-5. sh: Fix up pte_mkhuge() build breakage for SH-5. sh: Disable big endian for SH-5. sh: Handle SH7366 CPU in check_bugs(). ...
| * | sh: Fix multiple UTLB hit on UP SH-4.Hideo Saito2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | This acts as a reversion of 1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447 in the case of UP SH-4, where we still have the risk of a multiple hit between the slow and fast paths. As seen on SH7780. Signed-off-by: Hideo Saito <saito@densan.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: fix pci io access for r2d boardsMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use generic_io_base to point out the pci io window, and make sure the highest port address used is SH7751_PCI_IO_SIZE - 1. This patch fixes pci io port access for the r2d boards - CONFIG_8139TOO_PIO now works as expected. So does the alsa driver for CMI8738. Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: Katsuya MATSUBARA <matsu@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: use ctrl_in/out for on chip pci accessMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes sure ctrl_inN/outN are used instead of inN/outN for on chip pci registers. Without this patch addresses may be adjusted using the value in generic_io_base. This patch makes it possible to set generic_io_base and have pci without reading and writing all over the place. Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: Katsuya MATSUBARA <matsu@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Kill off more dead symbols.Paul Mundt2008-02-14
| | | | | | | | | | | | | | | Reported-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: __uncached_start only on sh32.Paul Mundt2008-02-14
| | | | | | | | | | | | | | | | | | | | | sh64 doesn't provide __uncached_start, so don't reference it unconditionally. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Get SH-5 caches working again post-unification.Paul Mundt2008-02-14
| | | | | | | | | | | | | | | | | | | | | A number of cleanups to get the SH-5 cache management code in line with the rest of the SH backend. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Kill off bogus SH_SDK7780_STANDALONE symbol.Paul Mundt2008-02-14
| | | | | | | | | | | | | | | Reported-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Shut up some trivial build warnings.Paul Mundt2008-02-14
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Update SH-5 flush_cache_sigtramp() for API changes.Paul Mundt2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | Previously this took an explicit range, update this to use the same behaviour as the rest of the SH parts where we simply flush out a line from the start address. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Disable big endian for SH-5.Paul Mundt2008-02-14
| | | | | | | | | | | | | | | | | | All SH-5 machines are little endian. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Symbol exports for trapped I/O.Paul Mundt2008-02-14
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Clean up whitespace damage in Kconfig.debug.Paul Mundt2008-02-14
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Use max_t in io_trapped.Paul Mundt2008-02-14
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add support for sh7366 processorMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds sh7366 cpu supports. Just the most basic things like interrupt controller, clocks and serial port are included at this point. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: remove maskreg irq codeMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | This patch removes the maskreg irq code since it is not in use anymore. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: fix ptrace copy_from/to_user() compilation errorMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | This patch makes the 32-bit ptrace code compile again. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: trapped io support for highlander V2Magnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | This patch converts the highlander CF device from good old machvec readb/writeb to the new shiny trapped io. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: trapped io support for r2d V2Magnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | This patch converts the CF device on r2d boards from machvec readb/writeb to trapped io. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: trapped io support V2Magnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is that we want to get rid of the in/out/readb/writeb callbacks from the machvec and replace that with simple inline read and write operations to memory. Fast and simple for most hardware devices (think pci). Some devices require special treatment though - like 16-bit only CF devices - so we need to have some method to hook in callbacks. This patch makes it possible to add a per-device trap generating filter. This way we can get maximum performance of sane hardware - which doesn't need this filter - and crappy hardware works but gets punished by a performance hit. V2 changes things around a bit and replaces io access callbacks with a simple minimum_bus_width value. In the future we can add stride as well. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: update r2d defconfigs with usb, spi and rtcMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | Update the defconfigs for r2d-plus and r2d-1 since we now have new drivers for sm501 usb, spi-over-sci and epson r9701 rtc in mainline. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: use opcode_t and enable unaligned code for sh2aMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | This patch converts the unaligned access handling code to use opcode_t instead of u16. While at it, enable unaligned access handling for sh2a. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add byte support to the sign extension codeMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds byte support to the sign extension code. Unaligned access traps should never be generated on 8-bit io operations, but we will use this code for trapped io and we do need byte support there. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: fix xtime_lock deadlocking.Peter Zijlstra2008-02-14
| | | | | | | | | | | | | | | | | | | | | move update_process_times() out from under xtime_lock. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add mach-type entries for MigoR and SDK7780.Paul Mundt2008-02-14
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: migor board supportMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds basic support for the Migo-R board. Only simple stuff provided by the cpu specific sh7722 code is in place now, like serial console port, timers and usb gadget. There is also partial support for the smc91c111 ethernet controller - unfortunately some driver header file also needs patching (not included here) to make the driver get IRQ sense information from the platform data. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Wire up new timerfd syscalls.Paul Mundt2008-02-14
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: break out unaligned sign extension codeMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | Break out the sign extension code since it's used in multiple places. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add probe support for new sh7722 cutMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | This patch adds support for sh7722 devices with prr value 0xa1. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add sh7722 support to EARLY_SCIF_CONSOLEMagnus Damm2008-02-14
| | | | | | | | | | | | | | | | | | | | | This patch adds the base address of SCIF0 in the case of sh7722. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: remove unneeded castStephen Rothwell2008-02-14
| | | | | | | | | | | | | | | | | | | | | now that platform_device_register_simple() takes a "const chat *". Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>