summaryrefslogtreecommitdiff
path: root/include/asm-sh64
AgeCommit message (Collapse)Author
2005-03-04[PATCH] Randomisation: stack randomisationArjan van de Ven
The patch below replaces the existing 8Kb randomisation of the userspace stack pointer (which is currently only done for Hyperthreaded P-IVs) with a more general randomisation over a 64Kb range. 64Kb is not a lot, but it's a start and once the dust settles we can increase this value to a more agressive value. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-02-25[MM]: Add 'pfn' arg to flush_cache_page().David S. Miller
Based almost entirely upon a patch by Russell King. Signed-off-by: David S. Miller <davem@davemloft.net>
2005-02-22[MM]: Add set_pte_at() which takes 'mm' and 'addr' args.David S. Miller
I'm taking a slightly different approach this time around so things are easier to integrate. Here is the first patch which builds the infrastructure. Basically: 1) Add set_pte_at() which is set_pte() with 'mm' and 'addr' arguments added. All generic code uses set_pte_at(). Most platforms simply get this define: #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) I chose this method over simply changing all set_pte() call sites because many platforms implement this in assembler and it would take forever to preserve the build and stabilize things if modifying that was necessary. Soon, with platform maintainer's help, we can kill of set_pte() entirely. To be honest, there are only a handful of set_pte() call sites in the arch specific code. Actually, in this patch ppc64 is completely set_pte() free and does not define it. 2) pte_clear() gets 'mm' and 'addr' arguments now. This had a cascading effect on many ptep_test_and_*() routines. Specifically: a) ptep_test_and_clear_{young,dirty}() now take 'vma' and 'address' args. b) ptep_get_and_clear now take 'mm' and 'address' args. c) ptep_mkdirty was deleted, unused by any code. d) ptep_set_wrprotect now takes 'mm' and 'address' args. I've tested this patch as follows: 1) compile and run tested on sparc64/SMP 2) compile tested on: a) ppc64/SMP b) i386 both with and without PAE enabled Signed-off-by: David S. Miller <davem@davemloft.net>
2005-02-01[PATCH] mm: convert memdie to an atomic thread bitflagAndrea Arcangeli
This makes memdie a TIF_MEMDIE. memdie will not be modified by the current task, so it cannot be a PF_MEMDIE but it must be a TIF_MEMDIE. Signed-off-by: Andrea Arcangeli <andrea@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-01-11[PATCH] cputime: introduce cputimeMartin Schwidefsky
This patch introduces the concept of (virtual) cputime. Each architecture can define its method to measure cputime. The main idea is to define a cputime_t type and a set of operations on it (see asm-generic/cputime.h). Then use the type for utime, stime, cutime, cstime, it_virt_value, it_virt_incr, it_prof_value and it_prof_incr and use the cputime operations for each access to these variables. The default implementation is jiffies based and the effect of this patch for architectures which use the default implementation should be neglectible. There is a second type cputime64_t which is necessary for the kernel_stat cpu statistics. The default cputime_t is 32 bit and based on HZ, this will overflow after 49.7 days. This is not enough for kernel_stat (ihmo not enough for a processes too), so it is necessary to have a 64 bit type. The third thing that gets introduced by this patch is an additional field for the /proc/stat interface: cpu steal time. An architecture can account cpu steal time by calls to the account_stealtime function. The cpu which backs a virtual processor doesn't spent all of its time for the virtual cpu. To get meaningful cpu usage numbers this involuntary wait time needs to be accounted and exported to user space. From: Hugh Dickins <hugh@veritas.com> The p->signal check in account_system_time is insufficient. If the timer interrupt hits near the end of exit_notify, after EXIT_ZOMBIE has been set, another cpu may release_task (NULLifying p->signal) in between account_system_time's check and check_rlimit's dereference. Nor should account_it_prof risk send_sig. But surely account_user_time is safe? Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-01-07[PATCH] request_irq: avoid slash in proc directory entriesOlaf Hering
A few users of request_irq pass a string with '/'. As a result, ls -l /proc/irq/*/* will fail to list these entries. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-01-04[PATCH] Make page allocator aware of requests for zeroed memoryChristoph Lameter
Thisintroduces __GFP_ZERO as an additional gfp_mask element to allow to request zeroed pages from the page allocator: - Modifies the page allocator so that it zeroes memory if __GFP_ZERO is set - Replace all page zeroing after allocating pages by prior allocations with allocations using __GFP_ZERO Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-12-31[PATCH] introduce fallback headerNick Piggin
Add a temporary "fallback" header so architectures can run with the 4level patgetables patch without modification. All architectures should be converted to use the folding headers (include/asm-generic/pgtable-nop?d.h) as soon as possible, and the fallback header removed. Make all architectures include the fallback header, except i386, because that architecture has earlier been converted to use pgtable-nopmd.h under the 3 level system, which is not compatible with the fallback header. Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-12-06[PATCH] Move MCA_bus to linux/mca.hMatthew Wilcox
- Move MCA_bus declaration from <asm/processor.h> to <linux/mca.h> - Define it in mca.c, not setup.c - EXPORT_SYMBOL it at the site of its definition. - Fix up random files to include <linux/mca.h> for the use of the MCA_bus symbol - Delete some unnecessary ifdefs. - Delete some unneeded comments. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2004-10-25[PATCH] I/O space write barrierJesse Barnes
On some platforms (e.g. SGI Challenge, Origin, and Altix machines), writes to I/O space aren't ordered coming from different CPUs. For the most part, this isn't a problem since drivers generally spinlock around code that does writeX calls, but if the last operation a driver does before it releases a lock is a write and some other CPU takes the lock and immediately does a write, it's possible the second CPU's write could arrive before the first's. This patch adds a mmiowb() call to deal with this sort of situation, and adds some documentation describing I/O ordering issues to deviceiobook.tmpl. The idea is to mirror the regular, cacheable memory barrier operation, wmb. Example of the problem this new macro solves: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: spin_unlock_irqrestore(&dev_lock, flags) In this case, newval2 could be written to ring_ptr before newval. Fixing it is easy though: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: mmiowb(); /* ensure no other writes beat us to the device */ CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: mmiowb(); CPU B: spin_unlock_irqrestore(&dev_lock, flags) Note that this doesn't address a related case where the driver may want to actually make a given write get to the device before proceeding. This should be dealt with by immediately reading a register from the card that has no side effects. According to the PCI spec, that will guarantee that all writes have arrived before being sent to the target bus. If no such register is available (in the case of card resets perhaps), reading from config space is sufficient (though it may return all ones if the card isn't responding to read cycles). I've tried to describe how mmiowb() differs from PCI posted write flushing in the patch to deviceiobook.tmpl. Signed-off-by: Jesse Barnes <jbarnes@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-10-19[PATCH] vm: convert users of remap_page_range() under include/asm-*/ to use ↵William Lee Irwin III
remap_pfn_range() This patch converts uses of remap_page_range() via io_remap_page_range() in include/asm-*/ to use remap_pfn_range(). io_remap_page_range() has a similar physical address overflow issue that needs to be addressed later. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-09-22[PATCH] fix problematic flush_cache_page in kernel/ptrace.cRussell King
At present, flush_cache_page() is used to handle the case where we unmap a page or alter the page permissions on the target page with one exception - access_process_vm(). Based upon the former, the decision to implement this function is: do we need to flush the cache when we unmap or change the mapping permissions? However, kernel/ptrace.c: access_process_vm() also includes into this: or we need to ensure cache coherency between the kernel and user space mapping of this page. I argue that the use of flush_cache_page() here in the generic code is wrong, and if an architecture wishes to use it for this purpose, it should do so within it's architecture private implementation of copy_to_user_page() and copy_from_user_page(). So this patch removes the flush_cache_page() from kernel/ptrace.c, adding it to the arch-specific copy_{to,from}_user_page() where flush_cache_page is non-empty. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-09-16[PATCH] remove sh64 smplock.hAndrew Morton
It is unused and obsolete. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-09-13[PATCH] <asm/softirq.h> crept back in h8300 and sh64Christoph Hellwig
<asm/softirq.h> went away in 2.5, but new ports keep adding instances again and again. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-09-13[PATCH] linux/dma-mapping.h needs linux/device.hNicolas Pitre
It seems that most architectures already include linux/device.h in their own asm/dma-mapping.h. Most but not all, and some drivers fail to compile on those architectures that don't. Since everybody needs it let's include device.h from one place only and fix compilation for everybody.
2004-08-26[PATCH] WAITQUEUE_DEBUG cleanupWilliam Lee Irwin III
While trying out compiling of reiser4 on sparc64, ppc64, alpha, and ia64, I discovered that WAITQUEUE_DEBUG is nowhere defined in 2.6.x, and various compiler versions spew copious warnings at #if on it. Convert __SEMAPHORE_INITIALIZER() to C99 initializers while in the area. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-08-26[PATCH] Add a few might_sleep() checksIngo Molnar
Add a whole bunch more might_sleep() checks. We also enable might_sleep() checking in copy_*_user(). This was non-trivial because of the "copy_*_user() in atomic regions" trick would generate false positives. Fix that up by adding a new __copy_*_user_inatomic(), which avoids the might_sleep() check. Only i386 is supported in this patch. With: Arjan van de Ven <arjanv@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-08-26[PATCH] introduce profile_pc()William Lee Irwin III
The program counter calculation from pt_regs is the only portion of profile accounting that differs across various architectures. This is usually instruction_pointer(regs), but to handle the few arches where it isn't, introduce profile_pc(). Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-07-10[PATCH] sh64: Add asm-sh64/setup.hPaul Mundt
With the recent changes to init/main.c, we need an asm-sh64/setup.h. This pulls out the definitions from arch/sh64/kernel/setup.c and moves them to setup.h instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-07-10[PATCH] sh64: Fix init_task.c build.Paul Mundt
resource.h was falling a bit behind, so we use the asm-sh version instead. This exposed another compile issue with init_task.c, which in turn needed linux/mqueue.h. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-07-10[PATCH] sh64: cpumask cleanup.Paul Mundt
With the recent cpumask changes, some things ended up being broken on sh64. This fixes them.. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-06-29[PATCH] sh64 supportPaul Mundt
This patch adds sh64 support. This is a bit overdue, as this was on the should-fix list, though we weren't done debugging and finishing off the port until just recently (I did a port against 2.5.68 but it wasn't in any shape to be merged). sh64 is already in 2.4 and has been for quite awhile, so this is mostly just a forward port of that code to 2.6 with appropriate bug fixes, etc. along the way. There isn't much in the way of new features that have been added to the port yet, though I have added rough hugetlb and oprofile support. This patch doesn't really touch any common code, with the exception of an ifdef or two for keyboard support and an ifdef in fb.h to omit sh64 from the __raw_xxx() wrapping that sh does. The only other common driver changes were to sh-sci for serial support, but those bits were already merged with the latest batch of sh-sci updates. Beyond that, the port is completely isolated. Signed-off-by: Richard Curnow <richard.curnow@superh.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>