Commit graph

3089 commits

Author SHA1 Message Date
Hugh Dickins
a8fb5618da [PATCH] mm: unlink_file_vma, remove_vma
Divide remove_vm_struct into two parts: first anon_vma_unlink plus
unlink_file_vma, to unlink the vma from the list and tree by which rmap or
vmtruncate might find it; then remove_vma to close, fput and free.

The intention here is to do the anon_vma_unlink and unlink_file_vma earlier,
in free_pgtables before freeing any page tables: so we can be sure that any
page tables traversed by rmap and vmtruncate are stable (and other, ordinary
cases are stabilized by holding mmap_sem).

This will be crucial to traversing pgd,pud,pmd without page_table_lock.  But
testing the split-out patch showed that lifting the page_table_lock is
symbiotically necessary to make this change - the lock ordering is wrong to
move those unlinks into free_pgtables while it's under ptlock.

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 21:40:37 -07:00
Hugh Dickins
ab50b8ed81 [PATCH] mm: vm_stat_account unshackled
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-29 21:40:37 -07:00
Andi Kleen
dfcd3c0dc4 [PATCH] Convert mempolicies to nodemask_t
The NUMA policy code predated nodemask_t so it used open coded bitmaps.
Convert everything to nodemask_t.  Big patch, but shouldn't have any actual
behaviour changes (except I removed one unnecessary check against
node_online_map and one unnecessary BUG_ON)

Signed-off-by: "Andi Kleen" <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:35 -07:00
Rik Van Riel
eb92f4ef32 [PATCH] add sem_is_read/write_locked()
Add sem_is_read/write_locked functions to the read/write semaphores, along the
same lines of the *_is_locked spinlock functions.  The swap token tuning patch
uses sem_is_read_locked; sem_is_write_locked is added for completeness.

Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:35 -07:00
Ivan Kokshaysky
63f324cf07 [PATCH] fix alpha breakage
barrier.h uses barrier() in non-SMP case.  And doesn't include compiler.h.

Cc: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:35 -07:00
Christoph Lameter
930fc45a49 [PATCH] vmalloc_node
This patch adds

vmalloc_node(size, node)	-> Allocate necessary memory on the specified node

and

get_vm_area_node(size, flags, node)

and the other functions that it depends on.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 21:40:35 -07:00
Jeff Garzik
0169e284f6 [libata] remove ata_chk_err(), ->check_err() hook.
We now depend on ->tf_read() to provide us with the contents
of the Error shadow register.
2005-10-29 21:25:10 -04:00
Herbert Xu
d32311fed7 [PATCH] Introduce sg_set_buf
sg_init_one is a nice tool for the block layer.  However, users
of struct scatterlist in other subsystems don't usually need the
DMA attributes.  For them it's a waste of time and space to
initialise the whole struct scatterlist structure.

Therefore this patch adds a new function sg_set_buf to initialise
a scatterlist without zeroing the DMA attributes.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2005-10-30 11:14:39 +11:00
Russell King
bbbf508d64 [DRIVER MODEL] Add missing platform_device.h header.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 22:17:58 +01:00
Linus Torvalds
be15cd72d2 Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-10-29 14:02:16 -07:00
Nicolas Pitre
37d07b72ef [ARM] 3061/1: cleanup the XIP link address mess
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 21:44:56 +01:00
Nicolas Pitre
f09b997999 [ARM] 3060/1: allow constants found in asm/memory.h to be used in asm code
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-29 21:44:55 +01:00
Linus Torvalds
e9d52234e3 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2005-10-29 12:19:15 -07:00
Andrew Isaacson
8a1417de9e BCM1480 HT support
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-29 19:32:49 +01:00
Andrew Isaacson
9a6dcea103 Support for BigSur board.
Signed-Off-By: Andy Isaacson <adi@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:47 +01:00
Andrew Isaacson
93ce2f524e Add support for SB1A CPU.
Signed-Off-By: Andy Isaacson <adi@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:46 +01:00
Andrew Isaacson
4f19f99047 Sibyte header cleanup
Update sibyte headers to match Broadcom internal copies:
 - comment cleanup and updates
 - fix LittleSur part number to match the board silkscreen
    
Signed-Off-By: Andy Isaacson <adi@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:46 +01:00
Andrew Isaacson
4cbf2beac2 BCM1480 headers
Add header files for BCM1480/1280/1455/1255 family of chips, and
update sb1250 headers which are shared by BCM1480 family.
    
Signed-Off-By: Andy Isaacson <adi@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

diff --git a/include/asm-mips/sibyte/bcm1480_int.h b/include/asm-mips/sibyte/bcm1480_int.h
new file mode 100644
2005-10-29 19:32:45 +01:00
Ralf Baechle
485a4a928a Make UL what should be UL.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:44 +01:00
Ralf Baechle
178086c86a Don't print file name and line in die and die_if_kernel.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:42 +01:00
Ralf Baechle
8f91ed6c2f Define EOWNERDEAD and ENOTRECOVERABLE.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:41 +01:00
Ralf Baechle
beb3ca82fc More configcheck fixes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:40 +01:00
Ralf Baechle
4ee1303a78 2.6.14-rc1 updates for MIPS compat types.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:40 +01:00
Ralf Baechle
b4f8c42307 Complete the fcntl.h cleanup.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:40 +01:00
Ralf Baechle
3cd9b6802d Cleanup Sibyte Kconfig a bit further.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:39 +01:00
Ralf Baechle
8592d4c00e Fix weirdness in <asm/bug.h>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:38 +01:00
Ralf Baechle
ec917c2c1a Fixup a few lose ends in explicit support for MIPS R1/R2.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:37 +01:00
Ralf Baechle
5090dfb5bc Provide 64-bit address space definitions for the Sibyte SB1 CPU core.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:33 +01:00
Ralf Baechle
02cf211968 Cleanup the mess in cpu_cache_init.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:32 +01:00
Ralf Baechle
f5cfa980e5 Use R4000 TLB routines for SB1 also.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:31 +01:00
Ralf Baechle
0015365cc6 Fix ARCH_KMALLOC_MINALIGN values on MIPS
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:30 +01:00
Ralf Baechle
c78cbf49c4 Support for MIPSsim, the cycle accurate MIPS simulator.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:30 +01:00
Daniel Jacobowitz
ea3d710fe5 Revise MIPS 64-bit ptrace interface
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-29 19:32:29 +01:00
Ralf Baechle
9d58f302ca Glue again after removal of BUILD_BUG().
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:28 +01:00
Ralf Baechle
80b47346b0 SMP on Malta needs to define ARCH_HAS_IRQ_PER_CPU since 2.6.14-rc1.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

diff --git a/include/asm-mips/mach-mips/irq.h b/include/asm-mips/mach-mips/irq.h
new file mode 100644
2005-10-29 19:32:27 +01:00
Ralf Baechle
bab056aafe Add SOCK_DCCP definition for MIPS also.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:26 +01:00
Ralf Baechle
e97288386a The type of sum in csum_tcpudp_nofold is "unsigned int", so when we assign
to it in an asm() block, and we're running on a system with 64-bit
registers, it is vitally important that we sign extend it correctly before
returning to C.  Otherwise the stray high bits will be preserved into
csum_fold, and on the SB-1 processor, 32-bit arithmetic on a non
sign-extended register will yield surprising results.
    
This caused incorrect checksums in some UDP packets for NFS root.  The
problem was mild when using a 10.0.1.x IP address, but severe when
using 192.168.1.x.
    
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:25 +01:00
Pete Popov
2cce826322 Kernel gpio/2 routines that will be used by some drivers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:25 +01:00
Pete Popov
d6460827af Updated pcmcia driver with pb1200 and db1200 support.
Updated db1200_defconfig so pcmcia is enabled by default.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:24 +01:00
Ralf Baechle
870d3d98eb Reorder & reformat a bit.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:23 +01:00
Ralf Baechle
61ed7f08b6 The values for SO_SNDBUFFORCE / SO_RCVBUFFORCE were already taken ...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:22 +01:00
Ralf Baechle
ebfaebae36 Futexes for MIPS, for the time being only the R10000_LLSC_WAR version.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:21 +01:00
Ralf Baechle
9dbdfce85c Define pcibus_to_node() for IP27.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:21 +01:00
Pete Popov
26a940e217 Cleaned up AMD Au1200 IDE driver:
- 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-29 19:32:20 +01:00
Ralf Baechle
4f94afa258 Delete the SABLE_RTL case.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:19 +01:00
Ralf Baechle
097975fc66 Provide MODULE_ARCH_VERMAGIC for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:18 +01:00
Maciej W. Rozycki
98e316d4b1 Move MIPS Technologies processor IDs to where they belong.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:16 +01:00
Ralf Baechle
5bcb9a58e6 Move genrtc.c's functions into <asm/rtc.h>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:15 +01:00
Thiemo Seufer
65dd7026a9 Define some more common ip22 CPU features.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:14 +01:00
Thiemo Seufer
aaa49075c6 Typo fix.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:14 +01:00
Thiemo Seufer
2fe25f67a5 More .set push/pop encapsulation, more eyefriendly code formatting.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:14 +01:00
Thiemo Seufer
f8670e66dc Fix MAP_BASE for 64bit ip22.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:13 +01:00
Ralf Baechle
f99d3023f3 Sprinkle a few more .set mipsX over xchg to make sure we dont' end up with
64-bit instructions on 32-bit processors, they tend to be unhappy about
that kind of food ;-)

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:11 +01:00
Ralf Baechle
fabffc13ed Remove workaround for binutils 2.15 assembler bug; this version is not
suitable to reliably build kernels anymore anyway and 2.16 has this
fixed.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:11 +01:00
Ralf Baechle
27c7c1657d Drop might_sleep() calls from get_user() & co. This should fix the issue
in http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=200508171321.20094.Joshua.Wise%40sicortex.com and it's the right thing to do anyway because
it was inflating those functions way too much.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:10 +01:00
Ralf Baechle
340ee4b98c Virtual SMP support for the 34K.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:10 +01:00
Ralf Baechle
533330bf7f On CONFIG_64BIT_PHYS_ADDR, pfn always fits in 'unsigned long', but
pfn<<PAGE_SHIFT sometimes extends beyond.  The pte is big enough to hold
'long long', but the shift in pfn_pte() needs to do its calculation with
enough bits to hold the result.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:09 +01:00
Ralf Baechle
0952e2905c Fix parenthesis in macros.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:08 +01:00
Ralf Baechle
8b200ce4a6 Define cpu_icache_snoops_remote_store. This is slight abuse of something
which originally was meant for SMP cache managment but it can be argued
to apply on the 34K as well.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:07 +01:00
Ralf Baechle
3fd5646cac Add missing space.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:05 +01:00
Ralf Baechle
479a0e3e02 Support for CoreFPGA-3.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:02 +01:00
Ralf Baechle
23fbee9dd5 Support for Toshiba's RBHMA4500 eval board for the TX4938.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:57 +01:00
Pete Popov
bdf21b18b4 Philips PNX8550 support: MIPS32-like core with 2 Trimedias on it.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:54 +01:00
Ralf Baechle
e01402b115 More AP / SP bits for the 34K, the Malta bits and things. Still wants
a little polishing.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:53 +01:00
Ralf Baechle
86071b637d Cleanups.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:53 +01:00
Ralf Baechle
7e35952baa Move Origin crapola into a machine-specific header file.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:52 +01:00
Ralf Baechle
8f40611d2b Detect the MIPS R2 vectored interrupt, external interrupt controller
options and the precense of the MT ASE.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:51 +01:00
Ralf Baechle
699dbc90e8 Macros to access the register of processors using the new MIPS
Multithreading ASE, also know as MT ASE.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

diff --git a/include/asm-mips/mipsmtregs.h b/include/asm-mips/mipsmtregs.h
new file mode 100644
2005-10-29 19:31:51 +01:00
Pete Popov
f10fae0240 Fix the fixup_bigphys_addr compile problem.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:50 +01:00
Pete Popov
10f6567e63 Removed __ilog2 since it's no longer needed and conflicts with the
generic one.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:49 +01:00
Ralf Baechle
7a0fc58cd9 A few more macros to access MIPS R2 architecture registers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:49 +01:00
Ralf Baechle
97fb5de194 Add EF_MIPS_ARCH_32R2 and EF_MIPS_ARCH_64R2 for tagging of R2 binaries.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:47 +01:00
Ralf Baechle
f039b5d366 Add a few more SHN_MIPS_* symbols from glibc.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:47 +01:00
Ralf Baechle
7db36c858c Add inotify syscalls for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:47 +01:00
Ralf Baechle
cc61c1fede MIPS R2 instruction hazard handling.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:46 +01:00
Ralf Baechle
bbc7f22f6d Detect the 34K.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:45 +01:00
Ralf Baechle
ff88f8a3d2 Use ei / di MIPS32 R2 instructions if available.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:44 +01:00
Ralf Baechle
6590326505 Use clz / dclz on MIPS32 / MIPS64 processors.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:43 +01:00
Ralf Baechle
60080265a1 Define kmap_atomic_pfn() for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:42 +01:00
Ralf Baechle
c0ec406c80 Fix endianess bugs.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:41 +01:00
Thiemo Seufer
04988d6fda Protect noat assembly with .set push/pop and make it somewhat readable.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29 19:31:40 +01:00
Thiemo Seufer
9556ac2fa1 Fix get_saved_sp for 64bit address space. Simplify set_save_sp.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29 19:31:39 +01:00
Thiemo Seufer
4552074577 IP30 Identification.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29 19:31:39 +01:00
Ralf Baechle
6e760c8dae Rename CONFIG_CPU_MIPS{32,64} to CONFIG_CPU_MIPS{32|64}_R1.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:37 +01:00
Maciej W. Rozycki
a5fc9c0bbe Use physical addresses at the interface level, letting drivers remap
them as appropriate.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:35 +01:00
Maciej W. Rozycki
7d7ee22121 Prevent 64-bit constants from being cropped to 32 bits when used in C code.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:34 +01:00
Maciej W. Rozycki
c3455b0efc Inline ioremap() calls for constant addresses that map to KSEG1.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:34 +01:00
Ralf Baechle
7222424e2e More .set to keep 32-bit processors happy.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:33 +01:00
Maciej W. Rozycki
c4559f67b7 Always use ".set mips3" rather than select between "mips2" or "mips3"
for assembling ll/sc sequences to avoid problems with 64-bit
configurations.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:31 +01:00
Maciej W. Rozycki
64dac503e8 System-specific handling of bus errors for DECstation variations
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-29 19:31:30 +01:00
Ralf Baechle
e20368d5df Get the thing to compile again ...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:28 +01:00
Maciej W. Rozycki
c6ad7b7d3c Use macros for the RM7k cp0.config bits instead of magic numbers.
Minor clean-ups.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:28 +01:00
Maciej W. Rozycki
260c96738c Mark __die() "noreturn" for real.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:26 +01:00
Maciej W. Rozycki
a76f9fe122 GCC 4.0.0 broke `attribute(("alias"))' -- resort to an assembly variant.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:24 +01:00
Maciej W. Rozycki
3bd4c902da Deal with the bloody KSEG vs CKSEG horror...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:23 +01:00
Ralf Baechle
02416dcf5a Redo RM9000 workaround which along with other DSP ASE changes was
causing some headache for debuggers knowing about signal frames.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:23 +01:00
Maciej W. Rozycki
aac8aa7717 Enable a suitable ISA for the assembler around ll/sc so that code
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-29 19:31:22 +01:00
Ralf Baechle
478489dd2c Remove dead code which was causing warnings.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:19 +01:00
Ralf Baechle
ac130ac494 Fix build with CONFIG_PRINTK disabled.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:18 +01:00
Ralf Baechle
e50c0a8fa6 Support the MIPS32 / MIPS64 DSP ASE.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:17 +01:00
Ralf Baechle
ffd099bd33 Fix build for CONFIG_BUG=n. Yes, bugs are now a compile time option ;-)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:17 +01:00
Ralf Baechle
fdb551a4c5 Bugs are now a configuration option.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:15 +01:00
Ralf Baechle
629c83f89b On MIPS the struct sigev preamble is only 8 bytes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:15 +01:00
Ralf Baechle
4a99d1e25b Now that a struct is the only member left in struct
mips_fpu_emulator_stats cleanup that unnecessary nesting of structs.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:14 +01:00
Ralf Baechle
baee502ce2 Get rid of the eir struct mips_fpu_emulator_private member. It's
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 19:31:14 +01:00
Ralf Baechle
1d74f6bc85 __compute_return_epc() uses CFC1 instruction which might result in a
coprocessor unusable exception since the process can lose its fpu
context by preemption.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:13 +01:00
Ralf Baechle
4194318c39 Cleanup decoding of MIPSxx config registers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:12 +01:00
Thiemo Seufer
ba5187dbb4 Better interface to run uncached cache setup code.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:11 +01:00
Pete Popov
7de8d23287 * use 'unsigned long' as address supplied to au_write[bwl]()
* remove two already unused and commented structures
* added an ULL suffix to several address constants that use bits 35-32

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:10 +01:00
Ralf Baechle
9447cbfc7a Fix D-cache aliasing problem in the PIO IDE driver potencially resulting
in the kernel or userspace seeing stale data.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:09 +01:00
Ralf Baechle
ecba36dad8 Fix a few build warnings.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:09 +01:00
Ralf Baechle
88de09f351 Need to include smp.h for the definition of smp_processor_id().
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:08 +01:00
Ralf Baechle
b63014ad2d Move sync into the delay slot here also.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:08 +01:00
Ralf Baechle
3c37026d43 NPTL, round one.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:06 +01:00
Ralf Baechle
38551576a3 Build fix for certain configurations.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:05 +01:00
Ralf Baechle
f03da6e28e Fix BogoMIPS display on UP and some minor cosmetical things.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:05 +01:00
Thiemo Seufer
ac5d8c022f Use fixed up pfn.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:03 +01:00
Pete Popov
3b495f2bb7 Au1100 FB driver uplift for 2.6.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Antonino Daplas <adaplas@pol.net>
2005-10-29 19:31:01 +01:00
Thiemo Seufer
1b3a6e975c Fix 64bit SMP TLB handler and stack frame handling, optimize 32bit SMP
TLB handlers a bit, match definitions in pgtable-{32,64}.h better.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:00 +01:00
Ralf Baechle
7c2740f1c1 HUB interrupts are allocated per node, not per slice. Make
manipulation of the interrupt mask register atomic by disabling
interrupts.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:59 +01:00
Ralf Baechle
127c6f6623 SECCOMP for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:58 +01:00
Ralf Baechle
53de0d471f Reformat; cosmetic cleanups.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:57 +01:00
Ralf Baechle
1592dac241 Reformatting, remove debugging code.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:57 +01:00
Ralf Baechle
71e0e556db Multithreaded core dumps.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:56 +01:00
Ralf Baechle
77c728c224 Gcc 4.0 fixes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:53 +01:00
Ralf Baechle
5eaf7a21be Use new txx9 serial driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:52 +01:00
Ralf Baechle
88d535b6b5 One definition of back_to_back_c0_hazard too much.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:50 +01:00
Ralf Baechle
fe00f943e0 Sparseify MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:50 +01:00
Ralf Baechle
5068debff2 New hazard handling function back_to_back_c0_hazard() to handle back to
back mtc0 / mfc0 pairs from the same coprocessor register.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:49 +01:00
Ralf Baechle
0f04afb595 ISOify.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:48 +01:00
Pete Popov
2d32ffa44a Moved irq_tab_alchemy to the board specific irqmap.c files.
Cleaned up a to of warnings in dbdma.c.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:48 +01:00
Pete Popov
e3ad1c23ba Base Au1200 2.6 support.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:47 +01:00
Ralf Baechle
0bd5d2e9ec Cleanup fpuemuprivate declarations.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:46 +01:00
Maciej W. Rozycki
65bda1a95d Switch SiByte drivers back to __raw_*() functions.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:44 +01:00
Maciej W. Rozycki
4912ba72d6 Define mem_*() I/O accessory functions that preserve byte addresses.
Add missing ____raw_*q() functions.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:43 +01:00
Ralf Baechle
1f82bdb11b Define MAP_BASE for IP27
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:42 +01:00
Ralf Baechle
c4ed38a0c6 Resurrect Cobalt support for 2.6.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:42 +01:00
Thiemo Seufer
049b13c358 Enable/disable irq's only if needed.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:41 +01:00
Thiemo Seufer
f29244a594 Fix compilation, and bring 32/64 bit variants more in line.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:40 +01:00
Thiemo Seufer
4e6a05fe5f Improved modules loader, more robust and works on 64bit kernels.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:39 +01:00
Steven J. Hill
7ee8798f37 Until I figure out why NFS filesystems are having problems with
the 'load_irix_binary' and having kernel faults, Irix support is
disabled. I suspect locking of some sort, but I will now have to
investigate further.

Static IRIX binaries are now being detected properly and are using the
ELF interpreter found in this file.

Signed-off-by: Steven J. Hill <sjhill@realitydiluted.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:39 +01:00
Ralf Baechle
a4f23e3dfc Allocate break code 513 to KDB.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:34 +01:00
Ralf Baechle
85b6e8184b Rewrite to avoid the use of $at. Unfortunately binutils 2.15 and CVS
binutils are broken and don't warn about this use of $at even though
gas is in .set noat mode so this for now is an accident waiting to
happen.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:32 +01:00
Ralf Baechle
c6e8b58771 Update MIPS to use the 4-level pagetable code thereby getting rid of
the compacrapability headers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:31 +01:00
Ralf Baechle
26852d5cdb Fix ptrace aliasing issue in copy_from_user_page / copy_to_user_page.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:29 +01:00
Ralf Baechle
55a6feb671 Add a few more PrId vendor IDs.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:29 +01:00
Ralf Baechle
84fd089a42 Delete duplicate copy of fixrange_init.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:28 +01:00
Ralf Baechle
0efe27617e Provide functions to access cop0 config4-7 registers
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:25 +01:00
Ralf Baechle
e3c4807825 Define __raw_read_can_lock / __raw_write_can_lock.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:22 +01:00
Maciej W. Rozycki
6b12397954 Fix compilation; by Manish Lachwani.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:20 +01:00