summaryrefslogtreecommitdiffstats
path: root/arch/mips (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [MIPS] Fix oprofile logic to physical counter remappingRalf Baechle2007-04-241-1/+1
| | | | | | | | | This did cause oprofile to fail on non-multithreaded systems with more than 2 processors such as the BCM1480. Reported by Manish Lachwani (mlachwani@mvista.com). Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Fix BUG(), BUG_ON() handlingAtsushi Nemoto2007-04-201-2/+2
| | | | | | | | | | With commit 63dc68a8cf60cb110b147dab1704d990808b39e2, kernel can not handle BUG() and BUG_ON() properly since get_user() returns false for kernel code. Use __get_user() to skip unnecessary access_ok(). This patch also make BRK_BUG code encoded in the TNE instruction. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Retry {save,restore}_fp_context if failed in atomic context.Atsushi Nemoto2007-04-203-18/+95
| | | | | | | | | | | | | | | The save_fp_context()/restore_fp_context() might sleep on accessing user stack and therefore might lose FPU ownership in middle of them. If these function failed due to "in_atomic" test in do_page_fault, touch the sigcontext area in non-atomic context and retry these save/restore operation. This is a replacement of a (broken) fix which was titled "Allow CpU exception in kernel partially". Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Disallow CpU exception in kernel again.Atsushi Nemoto2007-04-205-40/+21
| | | | | | | | | The commit 4d40bff7110e9e1a97ff8c01bdd6350e9867cc10 ("Allow CpU exception in kernel partially") was broken. The commit was to fix theoretical problem but broke usual case. Revert it for now. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Add missing silicon revisions for BCM112xMark Mason2007-04-201-0/+12
| | | | | | | | | Recent versions of the BCM112X processors aren't recognized by Linux (preventing Linux from booting on those processors). This patch adds support for those that are missing. Signed-off-by: Mark Mason <mason@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] SMTC: Fix recursion in instant IPI replay code.Ralf Baechle2007-03-301-7/+33
| | | | | | | | | | | | local_irq_restore -> raw_local_irq_restore -> irq_restore_epilog -> smtc_ipi_replay -> smtc_ipi_dq -> spin_unlock_irqrestore -> _spin_unlock_irqrestore -> local_irq_restore The recursion does abort when there is no more IPI queued for a CPU, so this isn't usually fatal which is why we got away with this for so long until this was discovered by code inspection. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] BCM1480: Fix setting of irq affinity.Mark Mason2007-03-301-2/+2
| | | | | Signed-off-by: Mark Mason <mason@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] do_page_fault() needs to use raw_smp_processor_id().Ralf Baechle2007-03-301-3/+3
| | | | | | Original patch posted by Deepak Saxena <dsaxena@plexity.net>. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] SMTC: Fix false trigger of debug code on single VPE.Ralf Baechle2007-03-301-5/+15
| | | | | | | | Make smtc_setup_irq() update the list of interrupts which need to be watched by the debug code itself. Also there is no need to initialize the IPI swint when running with a single VPE, so don't initialize it. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] SMTC: irq_{enter,leave} and kstats keeping for relayed timer ints.Ralf Baechle2007-03-301-0/+5
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] lockdep: Deal with interrupt disable hazard in TRACE_IRQFLAGSChris Dearman2007-03-301-0/+31
| | | | | | | | | | | Between the mtc0 or di instruction that disables interrupts and the following hazard barrier a processor may still take interrupts. If an interrupt is taken after interrupts are disabled but before the state is updated it will appear to restore_all that it is incorrectly returning with interrupts disabled. Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] lockdep: Handle interrupts in R3000 style c0_status register.Chris Dearman2007-03-301-1/+5
| | | | | | | | Check the IEP bit for R3000 style processors when checking to see if interrupts will be reenabled in restore_all. Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] MT: MIPS_MT_SMTC_INSTANT_REPLAY currently conflicts with PREEMPT.Ralf Baechle2007-03-301-1/+1
| | | | | | | So until MIPS_MT_SMTC_INSTANT_REPLAY has been rewritten to solve this issue, don't allow selecting it with PREEMPT. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] EV64120: Include <asm/irq.h> to fix warning.Ralf Baechle2007-03-301-0/+1
| | | | | | arch/mips/pci/pci-ev64120.c:10: warning: implicit declaration of function 'allocate_irqno' Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Ocelot: Fix warning.Ralf Baechle2007-03-301-1/+0
| | | | | | Remove unused variable. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Ocelot: Give PMON_v1_setup a proper prototype.Ralf Baechle2007-03-301-1/+1
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] SB1250: Fix bugs/warnings by creative use of volatile.Ralf Baechle2007-03-245-15/+16
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] SB1: Fix pile of gcc's bogus format string warnings.Ralf Baechle2007-03-241-4/+5
| | | | | | | | | | | | | | | | CC arch/mips/mm/cerr-sb1.o arch/mips/mm/cerr-sb1.c: In function 'sb1_cache_error': arch/mips/mm/cerr-sb1.c:235: warning: format '%010llx' expects type 'long long unsigned int', but argument 2 has type 'uint64_t' arch/mips/mm/cerr-sb1.c: In function 'extract_ic': arch/mips/mm/cerr-sb1.c:385: warning: format '%016llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' arch/mips/mm/cerr-sb1.c:385: warning: format '%016llX' expects type 'long long unsigned int', but argument 6 has type 'uint64_t' arch/mips/mm/cerr-sb1.c: In function 'extract_dc': arch/mips/mm/cerr-sb1.c:523: warning: format '%010llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' arch/mips/mm/cerr-sb1.c:523: warning: format '%016llX' expects type 'long long unsigned int', but argument 7 has type 'uint64_t' arch/mips/mm/cerr-sb1.c:570: warning: format '%016llX' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' LD arch/mips/mm/built-in.o Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Jazz: Fix warning.Ralf Baechle2007-03-241-1/+2
| | | | | | arch/mips/jazz/jazzdma.c:70: warning: assignment makes integer from pointer without a cast Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] R3000: local_flush_data_cache_page take a pointer argument.Ralf Baechle2007-03-241-1/+1
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Implement flush_anon_page().Ralf Baechle2007-03-242-3/+17
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] SPARSEMEM: The first pfn of zone should be min_low_pfn, not 0.Atsushi Nemoto2007-03-241-1/+1
| | | | | Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Always use virt_to_phys() when translating kernel addressesFranck Bui-Huu2007-03-241-5/+12
| | | | | | | | | | | | | This patch fixes two places where we used plain 'x - PAGE_OFFSET' to achieve virtual to physical address convertions. This type of convertion is no more allowed since commit 6f284a2ce7b8bc49cb8455b1763357897a899abb. Reported-by: Maxime Bizon <mbizon@freebox.fr> Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com> [Build fixes for machines that don't use the generic dma-coherence.h] Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Export except_vec_vi_{mori,lui,ori} as text symbols.Ralf Baechle2007-03-191-3/+3
| | | | | | Otherwise objdump will screw up disassembly. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] mips-boards: More liberal check for mips-board consoleThiemo Seufer2007-03-191-1/+1
| | | | | | | | Allows overriding the MALTA/ATLAS/etc. default console setting with non-serial console devices. Signed-Off-By: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Misc fixes for plat_irq_dispatch functionsThiemo Seufer2007-03-1913-17/+16
| | | | | | | | | | | | o adds missing ST0_IM masks, which caused the logging of valid interrupts as spurious o stops pnx8550 to log every interrupt as spurious o adds cause register masks for ip22/ip32, which caused handling of masked interrupts o removes some superfluous parentheses in the SNI interrupt code Signed-Off-By: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Qemu: Fix Symmetric Uniprocessor support.Atsushi Nemoto2007-03-192-3/+19
| | | | | | | | | | | | Might be useful for SMP debugging. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> [Rewritten Kconfig bits to deal better fit in the usual pattern of doing things - Ralf] Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] VI: TRACE_IRQS_OFF clobbers $v0, so save & restore around call.Ralf Baechle2007-03-191-0/+10
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Kconfig: Move missplaced NR_CPUS default from SMTC to VSMP.Ralf Baechle2007-03-171-1/+1
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] RTLX: Handle copy_*_user return values.Ralf Baechle2007-03-172-29/+35
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] RTLX: Protect rtlx_{read,write} with mutex.Ralf Baechle2007-03-171-0/+6
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] RTLX: Harden against compiler reordering and optimization.Ralf Baechle2007-03-171-17/+24
| | | | | | | | | | | RTLX communication is based on lock-free shared memory buffers. It happened to be working by luck so far but relies on the optimizer doing certain optimizations but no reordering. Fixed by inserting proper barriers in rtlx_read and rtlx_write, and careful pointer dereferencing. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] RTLX: Don't use volatile; it's fragile.Ralf Baechle2007-03-171-5/+16
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Lasat: Downgrade 64-bit kernel from experimental to broken.Ralf Baechle2007-03-171-1/+1
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Compat: Fix build if CONFIG_SYSVIPC is disabled.Ralf Baechle2007-03-171-0/+12
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] FPU ownership management & preemption fixesAtsushi Nemoto2007-03-176-93/+77
| | | | | Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Check FCSR for pending interrupts, alternative versionAtsushi Nemoto2007-03-175-23/+75
| | | | | | | | | | | Commit 6d6671066a311703bca1b91645bb1e04cc983387 is incomplete and misses non-r4k CPUs. This patch reverts the commit and fixes in other way. o Do FCSR checking in caller of restore_fp_context. o Send SIGFPE if the signal handler set any FPU exception bits. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] kspd: ioctl needs a translation entry.Ralf Baechle2007-03-131-1/+3
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Viper2: Remove defective support.Ralf Baechle2007-03-1349-65/+1
| | | | | | | | A defconfig file and the 10 lines of code (including comments ...) that are rotting since lmo commit 6516a42dc8b40c6c00010346dd51496125b16644 don't quite make proper support, so let's trash it. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Oprofile: Reset all performance registers for MIPS_MT_SMP configsChris Dearman2007-03-131-9/+13
| | | | | Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Sibyte: Fix ZBbus profilerRalf Baechle2007-03-093-108/+283
| | | | | | | | | | | o Fix build error. o Handle error returns. o Deal with signals received while sleeping. o Don't allow to be selected when we're not building the directory with the driver anyway. o Coding style cleanups. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] Sibyte: Do not allow enabling LDT support if PCI is disabled.Ralf Baechle2007-03-091-4/+6
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [MIPS] DEC: Remove call to register_prom_console.Ralf Baechle2007-03-091-3/+0
| | | | | | Register_prom_console was removed when mips was converted to early printk. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [PATCH] Add epoll compat_ code to fs/compat.cDavide Libenzi2007-03-081-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | IA64 and ARM-OABI are currently using their own version of epoll compat_ code. An architecture needs epoll_event translation if alignof(u64) in 32 bit mode is different from alignof(u64) in 64 bit mode. If an architecture needs epoll_event translation, it must define struct compat_epoll_event in asm/compat.h and set CONFIG_HAVE_COMPAT_EPOLL_EVENT and use compat_sys_epoll_ctl and compat_sys_epoll_wait. All 64 bit architecture should use compat_sys_epoll_pwait. [sfr: restructure and move to fs/compat.c, remove MIPS version of compat_sys_epoll_pwait, use __put_user_unaligned] Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Russell King <rmk@arm.linux.org.uk> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [MIPS] ARC: Fix several compiler warnings.Ralf Baechle2007-03-081-3/+3
| | | | | | | | | | | CC arch/mips/arc/init.o arch/mips/arc/init.c: In function 'prom_init': arch/mips/arc/init.c:27: warning: ISO C90 forbids mixed declarations and code arch/mips/arc/init.c:35: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 2 has type 'ULONG' arch/mips/arc/init.c:28: warning: unused variable 'c' arch/mips/arc/init.c:27: warning: unused variable ‘cnt’ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2007-03-0713-56/+28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] IP27: Build fix [MIPS] Wire up ioprio_set and ioprio_get. [MIPS] Fix __raw_read_trylock() to allow multiple readers [MIPS] Export __copy_user_inatomic. [MIPS] R2 bitops compile fix for gcc < 4.0. [MIPS] TX39: Remove redundant tx39_blast_icache() calls [MIPS] Cobalt: Fix early printk [MIPS] SMTC: De-obscure Malta hooks. [MIPS] SMTC: Add fordward declarations for mm_struct and task_struct. [MIPS] SMTC: <asm/mips_mt.h> must include <linux/cpumask.h> [MIPS] SMTC: <asm/smtc_ipi.h> must include <linux/spinlock.h> [MIPS] Atlas, Malta: Fix build warning.
| * [MIPS] IP27: Build fixRalf Baechle2007-03-071-2/+0
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] Wire up ioprio_set and ioprio_get.Ralf Baechle2007-03-074-1/+11
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] Export __copy_user_inatomic.Ralf Baechle2007-03-071-0/+1
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] TX39: Remove redundant tx39_blast_icache() callsAtsushi Nemoto2007-03-071-12/+6
| | | | | | | | | | | | | | | | Apply commit 0550d9d13e02b30efa117d47fcadea450bb23d23 to c-tx39.c too. And fix a warning in local_tx39_flush_data_cache_page(). Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>