aboutsummaryrefslogtreecommitdiffstats
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2005-10-30[ARM] fix ixp2x00 defconfig NR_UARTS optionsDeepak Saxena2-2/+2
IXDP2[48]00 have only 1 UART on the board. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30[ARM] 3049/1: More optimized libgcc functionsNicolas Pitre11-312/+223
Patch from Nicolas Pitre This patch gets rid of the last C implementations of needed libgcc functions for the kernel, replacing them with optimized assembly versions. Those functions are: __ashldi3 __ashrdi3 __lshrdi3 __muldi3 __ucmpdi2 The first 3 were lifted from gcc, the other two were written from scratch. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30[ARM] Clean up dmabounceRussell King1-79/+86
Encapsulate pool data into dmabounce_pool. Only account successful allocations. Use dma_mapping_error(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30[ARM] Make v6 copypage function static and cleanup pgprotsRussell King1-9/+7
We know what pgprot we're going to use, so don't #define it. Also, since we select the nonaliasing/aliasing copypage implementation at run time, there's no point having it globally visible. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30[ARM] Re-organise die()Russell King1-12/+17
Provide __die() which can be called from various contexts to provide an oops report. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30[ARM] 3069/1: Add spitz irda platform supportRichard Purdie1-0/+19
Patch from Richard Purdie Add spitz irda platform support Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30[ARM] 3068/1: Add corgi irda platform supportRichard Purdie1-0/+20
Patch from Richard Purdie Add corgi irda platform support Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30[ARM] 3067/1: Add poodle irda platform supportRichard Purdie1-0/+21
Patch from Richard Purdie Add poodle irda platform support Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29[PATCH] memory hotplug: ppc64 specific hot-add functionsDave Hansen1-0/+77
Here is a set of ppc64 specific patches that at least allow compilation/booting with the following configurations: FLATMEM SPARSEMEN SPARSEMEM + MEMORY_HOTPLUG Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] memory hotplug: i386 addition functionsDave Hansen2-7/+59
Adds the necessary for non-NUMA hot-add of highmem to an existing zone on i386. Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] memory hotplug locking: node_size_lockDave Hansen6-2/+29
pgdat->node_size_lock is basically only neeeded in one place in the normal code: show_mem(), which is the arch-specific sysrq-m printing function. Strictly speaking, the architectures not doing memory hotplug do no need this locking in show_mem(). However, they are all included for completeness. This should also make any future consolidation of all of the implementations a little more straightforward. This lock is also held in the sparsemem code during a memory removal, as sections are invalidated. This is the place there pfn_valid() is made false for a memory area that's being removed. The lock is only required when doing pfn_valid() operations on memory which the user does not already have a reference on the page, such as in show_mem(). Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: split page table lockHugh Dickins4-6/+8
Christoph Lameter demonstrated very poor scalability on the SGI 512-way, with a many-threaded application which concurrently initializes different parts of a large anonymous area. This patch corrects that, by using a separate spinlock per page table page, to guard the page table entries in that page, instead of using the mm's single page_table_lock. (But even then, page_table_lock is still used to guard page table allocation, and anon_vma allocation.) In this implementation, the spinlock is tucked inside the struct page of the page table page: with a BUILD_BUG_ON in case it overflows - which it would in the case of 32-bit PA-RISC with spinlock debugging enabled. Splitting the lock is not quite for free: another cacheline access. Ideally, I suppose we would use split ptlock only for multi-threaded processes on multi-cpu machines; but deciding that dynamically would have its own costs. So for now enable it by config, at some number of cpus - since the Kconfig language doesn't support inequalities, let preprocessor compare that with NR_CPUS. But I don't think it's worth being user-configurable: for good testing of both split and unsplit configs, split now at 4 cpus, and perhaps change that to 8 later. There is a benefit even for singly threaded processes: kswapd can be attacking one part of the mm while another part is busy faulting. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: uml kill unusedHugh Dickins2-37/+0
In worrying over the various pte operations in different architectures, I came across some unused functions in UML: remove mprotect_kernel_vm, protect_vm_page and addr_pte. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: uml pte atomicityHugh Dickins1-3/+5
There's usually a good reason when a pte is examined without the lock; but it makes me nervous when the pointer is dereferenced more than once. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: cris v32 mmu_context_lockHugh Dickins1-2/+4
The cris v32 switch_mm guards get_mmu_context with next->page_table_lock: good it's not really SMP yet, since get_mmu_context messes with global variables affecting other mms. Replace by global mmu_context_lock. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: parisc pte atomicityHugh Dickins1-15/+9
There's a worrying function translation_exists in parisc cacheflush.h, unaffected by split ptlock since flush_dcache_page is using it on some other mm, without any relevant lock. Oh well, make it a slightly more robust by factoring the pfn check within it. And it looked liable to confuse a camouflaged swap or file entry with a good pte: fix that too. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: arm ready for split ptlockHugh Dickins3-84/+33
Prepare arm for the split page_table_lock: three issues. Signal handling's preserve and restore of iwmmxt context currently involves reading and writing that context to and from user space, while holding page_table_lock to secure the user page(s) against kswapd. If we split the lock, then the structure might span two pages, secured by to read into and write from a kernel stack buffer, copying that out and in without locking (the structure is 160 bytes in size, and here we're near the top of the kernel stack). Or would the overhead be noticeable? arm_syscall's cmpxchg emulation use pte_offset_map_lock, instead of pte_offset_map and mm-wide page_table_lock; and strictly, it should now also take mmap_sem before descending to pmd, to guard against another thread munmapping, and the page table pulled out beneath this thread. Updated two comments in fault-armv.c. adjust_pte is interesting, since its modification of a pte in one part of the mm depends on the lock held when calling update_mmu_cache for a pte in some other part of that mm. This can't be done with a split page_table_lock (and we've already taken the lowest lock in the hierarchy here): so we'll have to disable split on arm, unless CONFIG_CPU_CACHE_VIPT to ensures adjust_pte never used. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: i386 sh sh64 ready for split ptlockHugh Dickins3-65/+60
Use pte_offset_map_lock, instead of pte_offset_map (or inappropriate pte_offset_kernel) and mm-wide page_table_lock, in sundry arch places. The i386 vm86 mark_screen_rdonly: yes, there was and is an assumption that the screen fits inside the one page table, as indeed it does. The sh __do_page_fault: which handles both kernel faults (without lock) and user mm faults (locked - though it set_pte without locking before). The sh64 flush_cache_range and helpers: which wrongly thought callers held page_table_lock before (only its tlb_start_vma did, and no longer does so); moved the flush loop down, and adjusted the large versus small range decision to consider a range which spans page tables as large. Signed-off-by: Hugh Dickins <hugh@veritas.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: kill check_user_page_readableHugh Dickins2-62/+22
check_user_page_readable is a problematic variant of follow_page. It's used only by oprofile's i386 and arm backtrace code, at interrupt time, to establish whether a userspace stackframe is currently readable. This is problematic, because we want to push the page_table_lock down inside follow_page, and later split it; whereas oprofile is doing a spin_trylock on it (in the i386 case, forgotten in the arm case), and needs that to pin perhaps two pages spanned by the stackframe (which might be covered by different locks when we split). I think oprofile is going about this in the wrong way: it doesn't need to know the area is readable (neither i386 nor arm uses read protection of user pages), it doesn't need to pin the memory, it should simply __copy_from_user_inatomic, and see if that succeeds or not. Sorry, but I've not got around to devising the sparse __user annotations for this. Then we can eliminate check_user_page_readable, and return to a single follow_page without the __follow_page variants. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: flush_tlb_range outside ptlockHugh Dickins1-0/+2
There was one small but very significant change in the previous patch: mprotect's flush_tlb_range fell outside the page_table_lock: as it is in 2.4, but that doesn't prove it safe in 2.6. On some architectures flush_tlb_range comes to the same as flush_tlb_mm, which has always been called from outside page_table_lock in dup_mmap, and is so proved safe. Others required a deeper audit: I could find no reliance on page_table_lock in any; but in ia64 and parisc found some code which looks a bit as if it might want preemption disabled. That won't do any actual harm, so pending a decision from the maintainers, disable preemption there. Remove comments on page_table_lock from flush_tlb_mm, flush_tlb_range and flush_tlb_page entries in cachetlb.txt: they were rather misleading (what generic code does is different from what usually happens), the rules are now changing, and it's not yet clear where we'll end up (will the generic tlb_flush_mmu happen always under lock? never under lock? or sometimes under and sometimes not?). Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: arches skip ptlockHugh Dickins5-39/+3
Convert those few architectures which are calling pud_alloc, pmd_alloc, pte_alloc_map on a user mm, not to take the page_table_lock first, nor drop it after. Each of these can continue to use pte_alloc_map, no need to change over to pte_alloc_map_lock, they're neither racy nor swappable. In the sparc64 io_remap_pfn_range, flush_tlb_range then falls outside of the page_table_lock: that's okay, on sparc64 it's like flush_tlb_mm, and that has always been called from outside of page_table_lock in dup_mmap. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: init_mm without ptlockHugh Dickins23-77/+25
First step in pushing down the page_table_lock. init_mm.page_table_lock has been used throughout the architectures (usually for ioremap): not to serialize kernel address space allocation (that's usually vmlist_lock), but because pud_alloc,pmd_alloc,pte_alloc_kernel expect caller holds it. Reverse that: don't lock or unlock init_mm.page_table_lock in any of the architectures; instead rely on pud_alloc,pmd_alloc,pte_alloc_kernel to take and drop it when allocating a new one, to check lest a racing task already did. Similarly no page_table_lock in vmalloc's map_vm_area. Some temporary ugliness in __pud_alloc and __pmd_alloc: since they also handle user mms, which are converted only by a later patch, for now they have to lock differently according to whether or not it's init_mm. If sources get muddled, there's a danger that an arch source taking init_mm.page_table_lock will be mixed with common source also taking it (or neither take it). So break the rules and make another change, which should break the build for such a mismatch: remove the redundant mm arg from pte_alloc_kernel (ppc64 scrapped its distinct ioremap_mm in 2.6.13). Exceptions: arm26 used pte_alloc_kernel on user mm, now pte_alloc_map; ia64 used pte_alloc_map on init_mm, now pte_alloc_kernel; parisc had bad args to pmd_alloc and pte_alloc_kernel in unused USE_HPPA_IOREMAP code; ppc64 map_io_page forgot to unlock on failure; ppc mmu_mapin_ram and ppc64 im_free took page_table_lock for no good reason. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: ia64 use expand_upwardsHugh Dickins2-28/+8
ia64 has expand_backing_store function for growing its Register Backing Store vma upwards. But more complete code for this purpose is found in the CONFIG_STACK_GROWSUP part of mm/mmap.c. Uglify its #ifdefs further to provide expand_upwards for ia64 as well as expand_stack for parisc. The Register Backing Store vma should be marked VM_ACCOUNT. Implement the intention of growing it only a page at a time, instead of passing an address outside of the vma to handle_mm_fault, with unknown consequences. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] core remove PageReservedNick Piggin3-5/+13
Remove PageReserved() calls from core code by tightening VM_RESERVED handling in mm/ to cover PageReserved functionality. PageReserved special casing is removed from get_page and put_page. All setting and clearing of PageReserved is retained, and it is now flagged in the page_alloc checks to help ensure we don't introduce any refcount based freeing of Reserved pages. MAP_PRIVATE, PROT_WRITE of VM_RESERVED regions is tentatively being deprecated. We never completely handled it correctly anyway, and is be reintroduced in future if required (Hugh has a proof of concept). Once PageReserved() calls are removed from kernel/power/swsusp.c, and all arch/ and driver code, the Set and Clear calls, and the PG_reserved bit can be trivially removed. Last real user of PageReserved is swsusp, which uses PageReserved to determine whether a struct page points to valid memory or not. This still needs to be addressed (a generic page_is_ram() should work). A last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and thus mapcounted and count towards shared rss). These writes to the struct page could cause excessive cacheline bouncing on big systems. There are a number of ways this could be addressed if it is an issue. Signed-off-by: Nick Piggin <npiggin@suse.de> Refcount bug fix for filemap_xip.c Signed-off-by: Carsten Otte <cotte@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: m68k kill stram swapHugh Dickins2-926/+16
Please, please now delete the Atari CONFIG_STRAM_SWAP code. It may be excellent and ingenious code, but its reference to swap_vfsmnt betrays that it hasn't been built since 2.5.1 (four years old come December), it's delving deep into matters which are the preserve of core mm code, its only purpose is to give the more conscientious mm guys an anxiety attack from time to time; yet we keep on breaking it more and more. If you want to use RAM for swap, then if the MTD driver does not already provide just what you need, I'm sure David could be persuaded to add the extra. But you'd also like to be able to allocate extents of that swap for other use: we can give you a core interface for that if you need. But unbuilt for four years suggests to me that there's no need at all. I cannot swear the patch below won't break your build, but believe so. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: sh64 hugetlbpage.cHugh Dickins2-178/+12
The sh64 hugetlbpage.c seems to be erroneous, left over from a bygone age, clashing with the common hugetlb.c. Replace it by a copy of the sh hugetlbpage.c. Except, delete that mk_pte_huge macro neither uses. Signed-off-by: Hugh Dickins <hugh@veritas.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: mm_init set_mm_countersHugh Dickins3-3/+0
How is anon_rss initialized? In dup_mmap, and by mm_alloc's memset; but that's not so good if an mm_counter_t is a special type. And how is rss initialized? By set_mm_counter, all over the place. Come on, we just need to initialize them both at once by set_mm_counter in mm_init (which follows the memcpy when forking). Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: tlb_finish_mmu forget rssHugh Dickins1-2/+1
zap_pte_range has been counting the pages it frees in tlb->freed, then tlb_finish_mmu has used that to update the mm's rss. That got stranger when I added anon_rss, yet updated it by a different route; and stranger when rss and anon_rss became mm_counters with special access macros. And it would no longer be viable if we're relying on page_table_lock to stabilize the mm_counter, but calling tlb_finish_mmu outside that lock. Remove the mmu_gather's freed field, let tlb_finish_mmu stick to its own business, just decrement the rss mm_counter in zap_pte_range (yes, there was some point to batching the update, and a subsequent patch restores that). And forget the anal paranoia of first reading the counter to avoid going negative - if rss does go negative, just fix that bug. Remove the mmu_gather's flushes and avoided_flushes from arm and arm26: no use was being made of them. But arm26 alone was actually using the freed, in the way some others use need_flush: give it a need_flush. arm26 seems to prefer spaces to tabs here: respect that. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: tlb_is_full_mm was obscureHugh Dickins1-2/+2
tlb_is_full_mm? What does that mean? The TLB is full? No, it means that the mm's last user has gone and the whole mm is being torn down. And it's an inline function because sparc64 uses a different (slightly better) "tlb_frozen" name for the flag others call "fullmm". And now the ptep_get_and_clear_full macro used in zap_pte_range refers directly to tlb->fullmm, which would be wrong for sparc64. Rather than correct that, I'd prefer to scrap tlb_is_full_mm altogether, and change sparc64 to just use the same poor name as everyone else - is that okay? Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29[PATCH] mm: vm_stat_account unshackledHugh Dickins2-2/+3
The original vm_stat_account has fallen into disuse, with only one user, and only one user of vm_stat_unaccount. It's easier to keep track if we convert them all to __vm_stat_account, then free it from its __shackles. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds9-66/+118
2005-10-29[ARM] 3061/1: cleanup the XIP link address messNicolas Pitre4-52/+29
Patch from Nicolas Pitre Since vmlinux.lds.S is preprocessed, we can use the defines already present in asm/memory.h (allowed by patch #3060) for the XIP kernel link address instead of relying on a duplicated Makefile hardcoded value, and also get rid of its dependency on awk to handle it at the same time. While at it let's clean XIP stuff even further and make things clearer in head.S with a nice code reduction. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29[ARM] 3060/1: allow constants found in asm/memory.h to be used in asm codeNicolas Pitre3-4/+5
Patch from Nicolas Pitre This patch allows for assorted type of cleanups by letting assembly code use the same set of defines for constant values and avoid duplicated definitions that might not always be in sync, or that might simply be confusing due to the different names for the same thing. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29Update MIPS defconfig files.Ralf Baechle46-5986/+17743
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 prom_free_prom_memory() returns unsigned longArthur Othieno3-3/+6
Some boards declare prom_free_prom_memory as a void function but the caller free_initmem() expects a return value. Fix those up and return 0 instead, just like everyone else does. Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Get rid of SINGLE_ONLY_FPU. Linux does not support half FPU other thanRalf Baechle1-62/+8
by emulation of a full FPU. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix all the get_user / put_user related sparse warnings.Ralf Baechle1-15/+15
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Delete unused ieee754_cname[] and declaration.Ralf Baechle2-11/+0
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Include for prototypes.Ralf Baechle1-0/+2
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Protect against multiple inclusion.Ralf Baechle1-0/+4
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Remove useless casts of kmalloc return values.Ralf Baechle2-5/+2
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Hack to resolve longstanding prefetch issueRalf Baechle1-0/+15
Prefetching may be fatal on some systems if we're prefetching beyond the end of memory on some systems. It's also a seriously bad idea on non dma-coherent systems. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29More foolproofing of the CPU configuration.Ralf Baechle1-2/+149
Limit the number of cpu type options in the cpu menu to just those types that are actually available for the select platform. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29pci-expmem-hackAndrew Isaacson1-0/+8
CFE 1.2.5 and earlier fails to turn on the ExpMemEn bit in the PCIFeatureControl register, which means that DMA does not work beyond physical address 01_0000_0000, ergo to DRAM beyond 1GB. With ExpMemEn turned on, 01_0000_0000-0f_ffff_ffff is mapped, so DMA works for up to 61 GB of DRAM. Will be fixed in CFE 1.2.6 (yet to be released). Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29BCM1480 HT supportAndrew Isaacson5-17/+248
PCI support code for PLX 7250 PCI-X tunnel on BCM91480B BigSur board. Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Support for the BCM1480 on-chip PCI-X bridge.Andrew Isaacson2-0/+257
Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29SB1 cache exception handling.Andrew Isaacson3-8/+59
Expand SB1 cache error handling by adding SB1_CEX_ALWAYS_FATAL and SB1_CEX_STALL, allowing configurable behavior on cache errors. Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Support for BigSur board.Andrew Isaacson2-0/+12
Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Add support for BCM1480 family of chips.Andrew Isaacson11-5/+1093
- Kconfig and Makefile changes - arch/mips/sibyte/bcm1480/ - changes to sibyte common code to support 1480 Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Add support for SB1A CPU.Andrew Isaacson3-0/+5
Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Sibyte fixesAndrew Isaacson1-1/+1
Fix typo in cpu_probe_sibyte. Signed-Off-By: Andy Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix zero length sys_cacheflushAtsushi Nemoto1-0/+2
Cacheflush(0, 0, 0) was crashing the system. This is because flush_icache_range(start, end) tries to flushing whole address space (0 - ~0UL) if both start and end are zero. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Get 64-bit right in the kgdb stub.Ralf Baechle1-3/+2
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Sys_lookup_dcookie arguments occupy 4 argument slots.Ralf Baechle1-1/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29FPU emulator garbage collection.Ralf Baechle2-4/+4
First argument of fpu_emulator_cop1Handler() was unused. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Don't print file name and line in die and die_if_kernel.Ralf Baechle1-14/+2
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Rename page argument of flush_cache_page to something more descriptive.Ralf Baechle1-16/+17
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Sliceup Kconfig; it's grown too large.Ralf Baechle10-554/+610
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Date: Fri Jan 14 03:03:23 2005 +0000Ralf Baechle1-1/+1
Locking cleanups. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix wrong comment.Ralf Baechle1-1/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fixup a few lose ends in explicit support for MIPS R1/R2.Ralf Baechle7-12/+12
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Document the meaning of the CPU_MIPS32, CPU_MIPS64, CPU_MIPSR1 andRalf Baechle1-0/+6
CPU_MIPSR2. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Protect manipulation of c0_status against preemption and multithreading.Ralf Baechle2-12/+47
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Detect 4KSD and treat it like 4KSc.Ralf Baechle1-0/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Convert the remaining SPIN_LOCK_UNLOCKED instances to DEFINE_SPINLOCK.Ralf Baechle5-6/+6
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Define and initialize kdb_lock using DEFINE_SPINLOCK.Ralf Baechle1-6/+8
Convert kgdb_cpulock into a raw_spinlock_t. SPIN_LOCK_UNLOCKED is deprecated and it's replacement DEFINE_SPINLOCK is not suitable for arrays of spinlocks. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Make kgdb_wait static.Ralf Baechle1-1/+1
Nothing outside gdb-stub.c uses kgdb_wait, so change it's definition to static. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Don't copy SB1 cache error handler to uncached memory.Ralf Baechle1-1/+0
This may have made sense on a paranoid day with pass 1 BCM1250 processors that were throwing cache error exception left and right for no good reason. On modern silicion that hardly makes sense and the code had gotten just an obscurity ... Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29No need to explicitly call __read_64bit_c0_split; __read_64bit_c0_registerRalf Baechle1-6/+1
will do that itself iff needed. Fix format string. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix stale comment in c-sb1.c.Andrew Isaacson1-1/+1
Signed-Off-By: Andrew Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Cleanup the mess in cpu_cache_init.Ralf Baechle6-61/+62
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use cpumask_t rather than hand-rolled bitmask code in sb1250_set_affinity.Andrew Isaacson1-11/+4
Signed-Off-By: Andrew Isaacson <adi@broadcom.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use R4000 TLB routines for SB1 also.Ralf Baechle2-386/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Don't call memset to clean irq_desc; these data fields have alreadyRalf Baechle2-2/+0
previously been initialized statically in kernel/irq/handle.c. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Support for MIPSsim, the cycle accurate MIPS simulator.Ralf Baechle14-1/+1089
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Switch Sibyte profiling driver to ->compat_ioctlRalf Baechle2-11/+8
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Revise MIPS 64-bit ptrace interfaceDaniel Jacobowitz3-1/+211
Change the N32 debugging ABI to something more sane, and add support for o32 and n32 debuggers to trace n64 programs. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Sync c-tx39.c with c-r4k.c.Atsushi Nemoto1-4/+5
tx39_flush_cache_range() does nothing if !cpu_has_dc_aliases. It should flush d-cache and invalidate i-cache since the TX39(H2) has separate I/D cache. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29smc91x platform support; requires patch to smc91x.h which was sentPete Popov1-0/+28
upstream. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Au1[12]00 mmc driver. Only tested on the Au1200 at this point thoughPete Popov1-0/+34
it should work on the Au1100 as well. Updated defconfig to include driver. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Kernel gpio/2 routines that will be used by some drivers.Pete Popov2-1/+120
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix a cache snooping issue.Pete Popov1-9/+17
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Updated pcmcia driver with pb1200 and db1200 support.Pete Popov1-2/+0
Updated db1200_defconfig so pcmcia is enabled by default. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29- moved platform structure to platform.cPete Popov2-0/+8
- fixed an iounmap warning - export fixup_xx, needed by the module Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix excessive signal latencies.Ralf Baechle1-1/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use ARCH_MAY_HAVE_PC_FDC where needed.Ralf Baechle1-0/+6
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29GCC bulletproofing: __mips64 is only defined when compiling for 64-bitRalf Baechle1-6/+6
processors. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Define pcibus_to_node() for IP27.Ralf Baechle1-0/+7
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Cleaned up AMD Au1200 IDE driver:Pete Popov4-5/+41
- converted to platform bus - removed pci dependencies - removed virt_to_phys/phys_to_virt calls System now can root off of a disk. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> diff --git a/Documentation/mips/AU1xxx_IDE.README b/Documentation/mips/AU1xxx_IDE.README new file mode 100644
2005-10-29Misc au1200 updates.Pete Popov2-32/+160
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29When no yamon command line is passed to the kernel, preserve the defaultPete Popov1-1/+2
compiled in command line. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Add/Fix missing bit of R4600 hit cacheop workaround.Thiemo Seufer2-1/+2
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Minor code cleanup.Thiemo Seufer1-15/+15
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29R4600 v2.0 needs a nop before tlbp.Thiemo Seufer1-0/+2
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Don't set up a sg dma address if we have no page address for some reason.Thiemo Seufer1-38/+8
Code cleanup. Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29More .set push/pop.Thiemo Seufer1-2/+2
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Move genrtc.c's functions into <asm/rtc.h>Ralf Baechle2-66/+0
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Let r4600 PRID detection match only legacy CPUs, cleanups.Thiemo Seufer2-7/+10
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29IP22 EISA support update.Thiemo Seufer1-81/+67
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Handle mtc0 - tlb write hazard for VR5432.Ralf Baechle1-0/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Make static what ought to be static.Maciej W. Rozycki1-7/+7
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Get rid of a bunch of debug serial routines. Use prom_printf instead.Pete Popov1-76/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Virtual SMP support for the 34K.Ralf Baechle7-13/+448
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29MT bulletproofing.Ralf Baechle2-14/+75
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Do the timer interrupt only once on CPU 0 ...Ralf Baechle1-8/+9
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Add a few simple error checks to tlb dumper.Ralf Baechle1-11/+14
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Reindent dump_tlb.c.Ralf Baechle1-34/+49
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Display presence of SmartMIPS, DSP and MT ASEs in /proc/cpuinfo.Ralf Baechle1-2/+5
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Delete old junk.Ralf Baechle1-1/+0
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Spelling fix.Ralf Baechle1-1/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Support for CoreFPGA-3.Ralf Baechle3-15/+8
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Implement get_system_type() for Qemu to get procfs-enabled kernels toRalf Baechle1-0/+5
link. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29A little more Kconfig untangeling.Ralf Baechle1-20/+37
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Inlining will result in back-to-back mtc0 mfc0 instructions. Break theRalf Baechle1-0/+2
hazard by using back_to_back_c0_hazard(). Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use pr_debug instead of homegrown debug print macros.Ralf Baechle1-9/+6
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Send CONFIG_VTAG_ICACHE back into it's cold grave.Ralf Baechle1-4/+0
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Get rid of the nonsense in the CONFIG_CPU_HAS_PREFETCH block.Ralf Baechle1-2/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29sys is only used for native o32 ...Ralf Baechle1-3/+3
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29R4600 has 32 FPRs.Thiemo Seufer1-1/+2
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Support for Toshiba's RBHMA4500 eval board for the TX4938.Ralf Baechle19-0/+3076
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Void functions shouldn't return valuesLadislav Michl1-1/+0
Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29commit 1858f72fa2e2f63e62114a9bd40c8e68468d8c5eRalf Baechle2-1/+11
Author: Ralf Baechle <ralf@linux-mips.org> Date: Fri Jul 22 05:46:02 2005 +0000 New build target vmlinux.bin build raw binary image for Qemu. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Au1x PM fixes.Pete Popov3-29/+37
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Drop IP27 support for Qlogic ISP. This driver is buggy and has beenRalf Baechle1-5/+0
obsoleted by the qla1280 after the recent fixes. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Make sure that the processor is actually online or die spectacularly.Ralf Baechle1-0/+5
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Avoid SMP cacheflushes. This is a minor optimization of startup butRalf Baechle5-29/+15
will also avoid smp_call_function from doing stupid things when called from a CPU that is not yet marked online. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Philips PNX8550 support: MIPS32-like core with 2 Trimedias on it.Pete Popov25-1/+1892
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29More AP / SP bits for the 34K, the Malta bits and things. Still wantsRalf Baechle14-132/+2208
a little polishing. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Move Origin crapola into a machine-specific header file.Ralf Baechle1-37/+6
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Prevent gcc from optimizing a few functions away completly.Ralf Baechle1-2/+2
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Detect the MIPS R2 vectored interrupt, external interrupt controllerRalf Baechle1-0/+6
options and the precense of the MT ASE. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29New kernel option nowait allows disabling the use of the wait instruction.Ralf Baechle1-0/+16
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use an irq_enable_hazard hazard barrier in unmask_mips_irq. ThisRalf Baechle1-0/+2
hasn't been an actual bug, so it's more a change to be 100% compliant with the requirements of the architecture spec. Similar fix to mask_mips_irq where there was a slightly less theoretical chance of getting hit. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Add inotify syscalls for MIPS.Ralf Baechle4-1/+12
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Mark a few variables __read_mostly.Ralf Baechle3-8/+18
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29MIPS R2 instruction hazard handling.Ralf Baechle1-0/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Detect the 34K.Ralf Baechle3-0/+7
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Generate code for MIPS32 / MIPS64 Release 2 if configured for one ofRalf Baechle1-0/+8
these architectures. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29MIPS 32/64 R2 config option.Ralf Baechle1-0/+31
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29In pcibios_enable_resources go back to handling all PCI_NUM_RESOURCESRalf Baechle1-1/+1
resources. We tried previous but ran into problems ... Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use Kconfig.preempt.Ralf Baechle1-8/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Define kmap_atomic_pfn() for MIPS.Ralf Baechle1-0/+19
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Setup_frame is now returning a success value.Ralf Baechle4-25/+32
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Temporary hack for Qemu and MIPSsim until they get a proper ELF loader.Ralf Baechle1-0/+12
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Date: Fri Jul 8 20:10:17 2005 +0000Ralf Baechle1-1/+1
Those literals are long. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29IP30 Identification.Thiemo Seufer1-0/+5
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29... and it isn't a canonicalized triplet but just the n-plet used toThiemo Seufer1-2/+2
configure gcc. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29Grep deesn't like shell-style matching...Thiemo Seufer1-2/+2
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29Hack to make compiles for the other endianness easier.Thiemo Seufer1-0/+9
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29Rename CONFIG_CPU_MIPS{32,64} to CONFIG_CPU_MIPS{32|64}_R1.Ralf Baechle12-24/+38
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Don't redeclare ll_local_timer_interrupt.Ralf Baechle1-1/+0
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Brian Murphy says:Thiemo Seufer1-3/+1
this fixes Lasat pci to work with multi-function devices by assigning the correct values based on pin number (instead of ignoring them). Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29Code cleanup, thanks Brian Murphy.Thiemo Seufer1-26/+24
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29Use physical addresses at the interface level, letting drivers remapMaciej W. Rozycki7-39/+66
them as appropriate. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Avoid tlbw* hazards for the R4600/R4700/R5000.Maciej W. Rozycki1-1/+6
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Inline ioremap() calls for constant addresses that map to KSEG1.Maciej W. Rozycki2-13/+4
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Avoid defining variables in the middle of a block which breaks olderRalf Baechle1-4/+10
compilers. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix the diagnostic dump for the XTLB refill handler.Maciej W. Rozycki1-1/+8
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix a diagnostic message.Maciej W. Rozycki1-1/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Conversion to plat_setup() for TX4927 also.Ralf Baechle1-1/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Using get_nasid() to find the console node will blow up nicely ifRalf Baechle1-1/+3
called on a another node than the console node, so use the master_nasid instead and in the unlikely case that one isn't initialized yet, fall back to get_nasid(). Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Always use ".set mips3" rather than select between "mips2" or "mips3"Maciej W. Rozycki1-2/+2
for assembling ll/sc sequences to avoid problems with 64-bit configurations. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Actual handlers for bus errors for Pmax and 3min.Maciej W. Rozycki2-0/+338
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> diff --git a/arch/mips/dec/kn01-berr.c b/arch/mips/dec/kn01-berr.c new file mode 100644
2005-10-29System-specific handling of bus errors for DECstation variationsMaciej W. Rozycki4-19/+29
supporting parity errors only for memory (Pmax/3min/Maxine). Fixes for resources decoded by the KN04/KN05 MB ASIC. Additional clean-ups for the ECC handler. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use correct names for bits in the R3k cp0.status register.Maciej W. Rozycki1-26/+41
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Use macros for the RM7k cp0.config bits instead of magic numbers.Maciej W. Rozycki1-9/+9
Minor clean-ups. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix types for firmware arguments. Don't define unneeded messages.Maciej W. Rozycki1-7/+9
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Mark __die() "noreturn" for real.Maciej W. Rozycki1-2/+3
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Deal with the bloody KSEG vs CKSEG horror...Maciej W. Rozycki3-9/+10
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29There is NO port I/O space on the DECstation. Minor clean-ups.Maciej W. Rozycki1-5/+9
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Redo RM9000 workaround which along with other DSP ASE changes wasRalf Baechle4-57/+84
causing some headache for debuggers knowing about signal frames. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Enable a suitable ISA for the assembler around ll/sc so that codeMaciej W. Rozycki1-4/+8
builds even for processors that don't support the instructions. Plus minor formatting fixes. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Optimize R3k TLB Load/Store/Modified handlers, by schedulingMaciej W. Rozycki1-40/+30
delay slots properly and avoiding an unnecessary jump to a jump. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fill R3k load delay slots properly.Maciej W. Rozycki1-0/+3
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Only dump instructions actually emitted.Maciej W. Rozycki1-7/+7
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29This interrupt is *always* handled -- MIPS_BE_DISCARD just meansMaciej W. Rozycki1-1/+1
no further action wanted. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29For MIPS32/MIPS64 cp0.config.mt == 1 implies a standard (R4k-style)Maciej W. Rozycki1-5/+1
TLB, so no need to set it separately for each implementation. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29The DbAu1500 board also support big endian. Gee, imagine that.Steven J. Hill1-0/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Support the MIPS32 / MIPS64 DSP ASE.Ralf Baechle14-82/+308
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-2964-bit fixes for Alchemy code ;)Ralf Baechle1-6/+5
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29When building for Atlas, Malta or SEAD convert the kernel to srecs byRalf Baechle1-0/+12
default. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix tasteless #ifdef mess in audit_arch(), minor cleanups.Ralf Baechle1-17/+12
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Now that a struct is the only member left in structRalf Baechle2-26/+26
mips_fpu_emulator_stats cleanup that unnecessary nesting of structs. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Get rid of the eir struct mips_fpu_emulator_private member. It'sRalf Baechle1-4/+0
never initialized been initialized anywhere, just saved to and restored from signal frames so nonsense anyway. As neat side effect of being shared between all processors it was also abusable as a nice covert channel between processes. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29__compute_return_epc() uses CFC1 instruction which might result in aRalf Baechle1-3/+7
coprocessor unusable exception since the process can lose its fpu context by preemption. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29sys_nfsservctl() needs translation.Maciej W. Rozycki1-1/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29No point in checking cpu_has_tlb before we've computed the CPU options.Ralf Baechle1-4/+4
So for now we just unconditionally set the option - Linux wouldn't work without a TLB anyway. Setting MIPS_CPU_4KTLB was missing for Alchemy and Sandcraft, add that back. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Cleanup decoding of MIPSxx config registers.Ralf Baechle2-44/+105
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix preemption and SMP problems in the FP emulator code.Ralf Baechle5-119/+122
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Handle _PAGE_DIRTY correctly for CONFIG_64BIT_PHYS_ADDR on 32bit CPUs.Thiemo Seufer1-23/+29
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Better interface to run uncached cache setup code.Thiemo Seufer4-27/+88
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Ustat needs a wrapper on n32.Thiemo Seufer1-1/+1
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Useless includes of everything, the kitchen sink and version.h ...Ralf Baechle3-3/+0
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Arrested for multiple offences of header file inclusion.Ralf Baechle7-8/+1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29We pass a kernel pointer to do_sigaltstack in sys32_sigaltstack, soRalf Baechle1-0/+4
we need to do the set_fs(KERNEL_DS) thing around this call. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29NPTL, round one.Ralf Baechle11-7/+118
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix BogoMIPS display on UP and some minor cosmetical things.Ralf Baechle2-2/+0
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29fcntl64 needs to be wrapped for n32.Thiemo Seufer1-1/+1
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29Fix one more case of computing the return EPC after the registers haveRalf Baechle1-1/+1
already been modified. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29When simulating ll/sc compute the return EPC before modifying theRalf Baechle1-2/+3
registers. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>