e97c5b609880d97313b13eb71830fca62cee50c2 |
|
06-Sep-2012 |
Jim Quinlan <jim2101024@gmail.com> |
MIPS: Make irqflags.h functions preempt-safe for non-mipsr2 cpus For non MIPSr2 processors, such as the BMIPS 5000, calls to arch_local_irq_disable() and others may be preempted, and in doing so a stale value may be restored to c0_status. This fix disables preemption for such processors prior to the call and enables it after the call. Those functions that needed this fix have been "outlined" to mips-atomic.c, as they are no longer good candidates for inlining. This bug was observed in a BMIPS 5000, occuring once every few hours in a continuous reboot test. It was traced to the write_lock_irq() function which was being invoked in release_task() in exit.c. By placing a number of "nops" inbetween the mfc0/mtc0 pair in arch_local_irq_disable(), which is called by write_lock_irq(), we were able to greatly increase the occurance of this bug. Similarly, the application of this commit silenced the bug. Signed-off-by: Jim Quinlan <jim2101024@gmail.com> Cc: linux-mips@linux-mips.org Cc: David Daney <ddaney.cavm@gmail.com> Cc: Kevin Cernekee cernekee@gmail.com Cc: Jim Quinlan <jim2101024@gmail.com> Patchwork: https://patchwork.linux-mips.org/patch/4321/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
92d11594f688c8b55b51e80f2eac4417396237a4 |
|
06-Sep-2012 |
Jim Quinlan <jim2101024@gmail.com> |
MIPS: Remove irqflags.h dependency from bitops.h The "else clause" of most functions in bitops.h invoked raw_local_irq_{save,restore}() and in doing so had a dependency on irqflags.h. This fix moves said code to bitops.c, removing the dependency. Signed-off-by: Jim Quinlan <jim2101024@gmail.com> Cc: linux-mips@linux-mips.org Cc: David Daney <ddaney.cavm@gmail.com> Cc: Kevin Cernekee cernekee@gmail.com Cc: Jim Quinlan <jim2101024@gmail.com> Patchwork: https://patchwork.linux-mips.org/patch/4320/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
3165c846a2aa7ce25d5f1db6be9960ebeeb9bb0b |
|
31-Jan-2012 |
Florian Fainelli <florian@openwrt.org> |
MIPS: introduce CPU_GENERIC_DUMP_TLB Allows us not to duplicate more lines in arch/mips/lib/Makefile. Signed-off-by: Florian Fainelli <florian@openwrt.org> Patchwork: http://patchwork.linux-mips.org/patch/3329/ Signed-off-by: John Crispin <blogic@openwrt.org>
|
bb0757ebb929d5d6ba484b4313976847285ba280 |
|
07-Jun-2012 |
David Daney <david.daney@cavium.com> |
MIPS: Unify memcpy.S and memcpy-inatomic.S We can save the 451 lines of code that comprise memcpy-inatomic.S at the expense of a single instruction in the memcpy prolog. We also use an additional register (t6), so this may cause increased register pressure in some places as well. But I think the reduced maintenance burden, of not having two nearly identical implementations, makes it worth it. Signed-off-by: David Daney <david.daney@cavium.com> Cc: linux-mips@linux-mips.org Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
1c773ea4dceff889c2f872343609a87ae0cfbf56 |
|
16-Nov-2011 |
Jayachandran C <jayachandranc@netlogicmicro.com> |
MIPS: Netlogic: Add XLP makefiles and config - Add CPU_XLP and NLM_XLR_BOARD to arch/mips/Kconfig for Netlogic XLP boards - Update mips Makefiles to add XLP Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2968/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
7f058e852b229ec77b37676b2b78baf2e78ffee8 |
|
06-May-2011 |
Jayachandran C <jayachandranc@netlogicmicro.com> |
MIPS: Kconfig and Makefile update for Netlogic XLR/XLS Add NLM_XLR_BOARD, CPU_XLR and other config options Makefile updates, mostly based on r4k Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com> To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2334/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
5636919b5c909fee54a6ef5226475ecae012ad02 |
|
28-Feb-2009 |
Ralf Baechle <ralf@linux-mips.org> |
MIPS: Outline udelay and fix a few issues. Outlining fixes the issue were on certain CPUs such as the R10000 family the delay loop would need an extra cycle if it overlaps a cacheline boundary. The rewrite also fixes build errors with GCC 4.4 which was changed in way incompatible with the kernel's inline assembly. Relying on pure C for computation of the delay value removes the need for explicit. The price we pay is a slight slowdown of the computation - to be fixed on another day. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
7e69deb83c9fffe75e8ea17fb40a63375e56ac9f |
|
12-Dec-2008 |
David Daney <ddaney@caviumnetworks.com> |
MIPS: Hook up Cavium OCTEON in arch/mips. Take all the OCTEON specific files that were added, and hook them into the build system for the arch/mips. For versions of GCC that lack OCTEON support, override gas target architecture. Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com> Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
542c1020ac1cbc2f50934086ad893384a2cbd233 |
|
23-Oct-2008 |
Shinya Kuribayashi <skuribay@ruby.dti.ne.jp> |
MIPS: Add CONFIG_CPU_R5500 for NEC VR5500 series processors We already have sufficient infrastructure to support VR5500 and VR5500A series processors. Here's a Makefile support to make it selectable by ports, and enable it for NEC EMMA2RH Markeins board. This patch also fixes a confused target help, and adds 1Gb PageMask bits supported by VR5500 and its variants. Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
2704afebecc8e268e8c873b6dfab2077d679b593 |
|
24-Aug-2007 |
Ralf Baechle <ralf@linux-mips.org> |
[MIPS] Add __cmpdi2 Certain 32-bit kernel configurations seem to be able to cause references, this was observed with gcc 4.1.2. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
2a21c7300b53b744d16903256a172d9cbcfdd03e |
|
06-Jun-2007 |
Fuxin Zhang <zhangfx@lemote.com> |
[MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 Signed-off-by: Fuxin Zhang <zhangfx@lemote.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
4becef1d85a48ea4294c962c2cbacb6074f0dd58 |
|
01-Jun-2007 |
Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
[MIPS] Unify dump_tlb Unify lib-{32,64}/dump_tlb.c into lib/dump_tlb.c and move lib-32/r3k_dump_tlb.c to lib directory. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
f7c2778151f32581ea9ec567d01d5d85209fcfe6 |
|
26-Jun-2007 |
Ralf Baechle <ralf@linux-mips.org> |
[MIPS] Change libgcc-style functions from lib-y to obj-y Reported by Eugene Surovegin <ebs@ebshome.net>. If only modules were users of these functions they did not get linked into the kernel proper, so later module loads would fail as well. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
df6b106bf01a17a157013245c2851dec4d7b5a2b |
|
01-May-2007 |
Thiemo Seufer <ths@networkno.de> |
[MIPS] Add __ucmpdi2 implementation Recent GCC SVN versions may generate calls to __ucmpdi2. Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
36a885306fdf7bb557c773309c993bfb2d0d693c |
|
01-Mar-2007 |
Ralf Baechle <ralf@linux-mips.org> |
[MIPS] Fix and cleanup the mess that a dozen prom_printf variants are. early_printk is a so much saner thing. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
d2af363cfb94f1bacb3e60327bc44a97881a38c2 |
|
22-Feb-2007 |
Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
[MIPS] Kill redundant EXTRA_AFLAGS Many Makefiles in arch/mips have EXTRA_AFLAGS := $(CFLAGS) line. This is redundant while AFLAGS contains $(cflags-y) and any options only listed in CFLAGS (not in cflags-y) should be unnecessary for asm sources. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
e03b526932a9ae1ff20b47459c040f3c6407f625 |
|
19-Feb-2007 |
Ralf Baechle <ralf@linux-mips.org> |
[MIPS] Fixup copy_from_user_inatomic From the 01408c4939479ec46c15aa7ef6e2406be50eeeca log message: The problem is that when we write to a file, the copy from userspace to pagecache is first done with preemption disabled, so if the source address is not immediately available the copy fails *and* *zeros* *the* *destination*. This is a problem because a concurrent read (which admittedly is an odd thing to do) might see zeros rather that was there before the write, or what was there after, or some mixture of the two (any of these being a reasonable thing to see). If the copy did fail, it will immediately be retried with preemption re-enabled so any transient problem with accessing the source won't cause an error. The first copying does not need to zero any uncopied bytes, and doing so causes the problem. It uses copy_from_user_atomic rather than copy_from_user so the simple expedient is to change copy_from_user_atomic to *not* zero out bytes on failure. < --- end cite --- > This patch finally implements at least a not so pretty solution by duplicating the relevant part of __copy_user. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
140c1729a221dc6eacfcbf2a073dbf00fad13e43 |
|
07-Dec-2006 |
Ralf Baechle <ralf@linux-mips.org> |
[MIPS] Iomap implementation. This implementation has support for the concept of one separate ioport address space by PCI domain. A pointer to the virtual address where the port space of a domain has been mapped has been added to struct pci_controller and systems should be fixed to fill in this value. For single domain systems this will be the same value as passed to set_io_port_base(). Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
a583158c9ce822c96a718fbf877cec1e5f9ad75d |
|
17-Dec-2006 |
Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
[MIPS] Unify memset.S The 32-bit version and 64-bit version are almost equal. Unify them. This makes further improvements (for example, supporting CDEX, etc.) easier. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
f860c90bd6ce22c6a0a352cc16acc74fba3d628e |
|
12-Dec-2006 |
Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
[MIPS] csum_partial and copy in parallel Implement optimized asm version of csum_partial_copy_nocheck, csum_partial_copy_from_user and csum_and_copy_to_user which can do calculate and copy in parallel, based on memcpy.S. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
0bcdda0f3a87ed684d46841b6069409e39c4af65 |
|
03-Dec-2006 |
Atsushi Nemoto <anemo@mba.ocn.ne.jp> |
[MIPS] Unify csum_partial.S The 32-bit version and 64-bit version are almost equal. Unify them. This makes further improvements (for example, copying with parallel, supporting PREFETCH, etc.) easier. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
72fbfb260197a52c2bc2583f3e8f15d261d0f924 |
|
07-Jun-2006 |
Ralf Baechle <ralf@linux-mips.org> |
[MIPS] Fix optimization for size build. It took a while longer than on other architectures but gcc has finally started to strike us as well ... This also fixes the damage by 6edfba1b33c701108717f4e036320fc39abe1912. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
ba5187dbb4b2eac99d6fa1d6bbece67e0066bf51 |
|
25-Apr-2005 |
Thiemo Seufer <ths@networkno.de> |
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>
|
4db2ce0199f04b6e99999f22e28ef9a0ae5f0d2f |
|
15-Sep-2005 |
David S. Miller <davem@davemloft.net> |
[LIB]: Consolidate _atomic_dec_and_lock() Several implementations were essentialy a common piece of C code using the cmpxchg() macro. Put the implementation in one spot that everyone can share, and convert sparc64 over to using this. Alpha is the lone arch-specific implementation, which codes up a special fast path for the common case in order to avoid GP reloading which a pure C version would require. Signed-off-by: David S. Miller <davem@davemloft.net>
|
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 |
|
17-Apr-2005 |
Linus Torvalds <torvalds@ppc970.osdl.org> |
Linux-2.6.12-rc2 Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
|