aboutsummaryrefslogtreecommitdiff
path: root/include/asm-sparc64
AgeCommit message (Collapse)Author
2008-03-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: exec PT_DTRACE [SPARC64]: Use shorter list_splice_init() for brevity. [SPARC64]: Remove most limitations to kernel image size.
2008-03-21[SPARC64]: Remove most limitations to kernel image size.David S. Miller
Currently kernel images are limited to 8MB in size, and this causes problems especially when enabling features that take up a lot of kernel image space such as lockdep. The code now will align the kernel image size up to 4MB and map that many locked TLB entries. So, the only practical limitation is the number of available locked TLB entries which is 16 on Cheetah and 64 on pre-Cheetah sparc64 cpus. Niagara cpus don't actually have hw locked TLB entry support. Rather, the hypervisor transparently provides support for "locked" TLB entries since it runs with physical addressing and does the initial TLB miss processing. Fully utilizing this change requires some help from SILO, a patch for which will be submitted to the maintainer. Essentially, SILO will only currently map up to 8MB for the kernel image and that needs to be increased. Note that neither this patch nor the SILO bits will help with network booting. The openfirmware code will only map up to a certain amount of kernel image during a network boot and there isn't much we can to about that other than to implemented a layered network booting facility. Solaris has this, and calls it "wanboot" and we may implement something similar at some point. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-03-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix atomic backoff limit.
2008-03-19[SPARC64]: Fix atomic backoff limit.David S. Miller
4096 will not fit into the immediate field of a compare instruction, in fact it will end up being -4096 causing the check to fail every time and thus disabling backoff. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-03-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Fix link errors with gcc-4.3 sparc64: replace remaining __FUNCTION__ occurances sparc: replace remaining __FUNCTION__ occurances [SPARC]: Add reboot_command[] extern decl to asm/system.h [SPARC]: Mark linux_sparc_{fpu,chips} static.
2008-03-04Kprobes: indicate kretprobe support in KconfigAnanth N Mavinakayanahalli
Add CONFIG_HAVE_KRETPROBES to the arch/<arch>/Kconfig file for relevant architectures with kprobes support. This facilitates easy handling of in-kernel modules (like samples/kprobes/kretprobe_example.c) that depend on kretprobes being present in the kernel. Thanks to Sam Ravnborg for helping make the patch more lean. Per Mathieu's suggestion, added CONFIG_KRETPROBES and fixed up dependencies. Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-28[SPARC]: Add reboot_command[] extern decl to asm/system.hDavid S. Miller
Kill off some sparse warnings. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-19[SPARC64]: More sparse warning fixes in process.cDavid S. Miller
arch/sparc64/kernel/process.c:504:17: warning: symbol 'sparc_do_fork' was not declared. Should it be static? arch/sparc64/kernel/process.c:655:5: warning: symbol 'dump_fpu' was not declared. Should it be static? arch/sparc64/kernel/process.c:708:16: warning: symbol 'sparc_execve' was not declared. Should it be static? Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-19[SPARC64]: Fix sparse warning wrt. fault_in_user_windows.David S. Miller
arch/sparc64/kernel/process.c:467:6: warning: symbol 'fault_in_user_windows' was not declared. Should it be static? Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-19[SPARC64]: Fix sparse warnings wrt. __show_regs().David S. Miller
arch/sparc64/kernel/process.c:219:6: warning: symbol '__show_regs' was not declared. Should it be static? Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-19[SPARC64]: Fix sparse warnings wrt. machine_alt_power_off().David S. Miller
arch/sparc64/kernel/process.c:123:6: warning: symbol 'machine_alt_power_off' was not declared. Should it be static? Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-19[SPARC64]: Add regs_return_value().David S. Miller
Needed for kretprobes. Noticed by Ananth N Mavinakayanahalli. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/a.out.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/fb.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/errno.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/emergency-restart.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/div64.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/device.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/current.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/cputime.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/cache.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/byteorder.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/bugs.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/bug.hDavid S. Miller
Note that because of minimum compiler version enforcement in linux/compiler.h these days the check for sparc32 buggy __builtin_trap() can be safely removed. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Kill BSD errno translation table and header files.David S. Miller
Completely unused. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge asm-sparc{,64}/bpp.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge include/asm-sparc{,64}/auxvec.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge include/asm-sparc{,64}/of_device.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Merge include/asm-sparc{,64}/prom.hDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC]: Remove of_platform_device_createStephen Rothwell
There are no callers of this on the Sparc platforms. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC64]: Add kretprobe support.David S. Miller
Passes the smoke tests at least, powerpc implementation was used as a guide. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC64]: Add SG merging support back into IOMMU code.David S. Miller
Mimicks almost perfectly the powerpc IOMMU code, except that it doesn't have the IOMMU_PAGE_SIZE != PAGE_SIZE handling, and it also lacks the device dma mask support bits. I'll add that later as time permits, but this gets us at least back to where we were beforehand. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-09[SPARC64]: IOMMU allocations using iommu-helper layer.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-08Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Make use of the new fs/compat_binfmt_elf.c [SPARC64]: Make use of compat_sys_ptrace() Manually fixed trivial delete/modift conflict in arch/sparc64/kernel/binfmt_elf32.c
2008-02-08CONFIG_HIGHPTE vs. sub-page page tables.Martin Schwidefsky
Background: I've implemented 1K/2K page tables for s390. These sub-page page tables are required to properly support the s390 virtualization instruction with KVM. The SIE instruction requires that the page tables have 256 page table entries (pte) followed by 256 page status table entries (pgste). The pgstes are only required if the process is using the SIE instruction. The pgstes are updated by the hardware and by the hypervisor for a number of reasons, one of them is dirty and reference bit tracking. To avoid wasting memory the standard pte table allocation should return 1K/2K (31/64 bit) and 2K/4K if the process is using SIE. Problem: Page size on s390 is 4K, page table size is 1K or 2K. That means the s390 version for pte_alloc_one cannot return a pointer to a struct page. Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one cannot return a pointer to a pte either, since that would require more than 32 bit for the return value of pte_alloc_one (and the pte * would not be accessible since its not kmapped). Solution: The only solution I found to this dilemma is a new typedef: a pgtable_t. For s390 pgtable_t will be a (pte *) - to be introduced with a later patch. For everybody else it will be a (struct page *). The additional problem with the initialization of the ptl lock and the NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and a destructor pgtable_page_dtor. The page table allocation and free functions need to call these two whenever a page table page is allocated or freed. pmd_populate will get a pgtable_t instead of a struct page pointer. To get the pgtable_t back from a pmd entry that has been installed with pmd_populate a new function pmd_pgtable is added. It replaces the pmd_page call in free_pte_range and apply_to_pte_range. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08asm-*/posix_types.h: scrub __GLIBC__Mike Frysinger
Some arches (like alpha and ia64) already have a clean posix_types.h header. This brings all the others in line by removing all references to __GLIBC__ (and some undocumented __USE_ALL). Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: Ulrich Drepper <drepper@redhat.com> Cc: Roland McGrath <roland@redhat.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08aout: remove unnecessary inclusions of {asm, linux}/a.out.hDavid Howells
Remove now unnecessary inclusions of {asm,linux}/a.out.h. [akpm@linux-foundation.org: fix alpha build] Signed-off-by: David Howells <dhowells@redhat.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUTDavid Howells
Suppress A.OUT library support if CONFIG_ARCH_SUPPORTS_AOUT is not set. Not all architectures support the A.OUT binfmt, so the ELF binfmt should not be permitted to go looking for A.OUT libraries to load in such a case. Not only that, but under such conditions A.OUT core dumps are not produced either. To make this work, this patch also does the following: (1) Makes the existence of the contents of linux/a.out.h contingent on CONFIG_ARCH_SUPPORTS_AOUT. (2) Renames dump_thread() to aout_dump_thread() as it's only called by A.OUT core dumping code. (3) Moves aout_dump_thread() into asm/a.out-core.h and makes it inline. This is then included only where needed. This means that this bit of arch code will be stored in the appropriate A.OUT binfmt module rather than the core kernel. (4) Drops A.OUT support for Blackfin (according to Mike Frysinger it's not needed) and FRV. This patch depends on the previous patch to move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. [jdike@addtoit.com: uml: re-remove accidentally restored code] Signed-off-by: David Howells <dhowells@redhat.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08aout: move STACK_TOP[_MAX] to asm/processor.hDavid Howells
Move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. Signed-off-by: David Howells <dhowells@redhat.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08[SPARC64]: Make use of the new fs/compat_binfmt_elf.cDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-07[SPARC64]: Make use of compat_sys_ptrace()David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-07Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC32]: Use regsets in arch_ptrace(). [SPARC64]: Use regsets in arch_ptrace(). [SPARC32]: Use regsets for ELF core dumping. [SPARC64]: Use regsets for ELF core dumping. [SPARC64]: Remove unintentional ptrace debugging messages. [SPARC]: Move over to arch_ptrace(). [SPARC]: Remove PTRACE_SUN* handling. [SPARC]: Kill DEBUG_PTRACE code. [SPARC32]: Add user regset support. [SPARC64]: Add user regsets. [SPARC64]: Fix booting on non-zero cpu.
2008-02-07Add cmpxchg_local to sparc64Mathieu Desnoyers
Use cmpxchg_u32 and cmpxchg_u64 for cmpxchg_local and cmpxchg64_local. For other type sizes, use the new generic cmpxchg_local (disables interrupt). Change: Since the header depends on local_irqsave/local_irqrestore, it must be included after their declaration. Actually, being below the #include <linux/irqflags.h> should be enough, and on sparc64 it is included at the beginning of system.h. So it makes sense to move it up for sparc64. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-07Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer neededKirill A. Shutemov
asm/elf.h, asm/page.h and asm/user.h don't export to userspace now, so we can drop #ifdef __KERNEL__ for them. [k.shutemov@gmail.com: remove #ifdef __KERNEL_] Signed-off-by: Kirill A. Shutemov <k.shutemov@gmail.com> Reviewed-by: David Woodhouse <dwmw2@infradead.org> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Kirill A. Shutemov <k.shutemov@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-07[SPARC64]: Use regsets for ELF core dumping.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-07[SPARC]: Move over to arch_ptrace().David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-07[SPARC]: Remove PTRACE_SUN* handling.David S. Miller
Supporting SunOS ptrace() is pretty pointless and these kinds of quirks keep us from being able to share more code with other platforms. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-06Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Temporarily remove IOMMU merging code. [SPARC64]: Update defconfig. [SPARC]: Add new timerfd syscall entries.
2008-02-06read_current_timer() cleanupsAndrew Morton
- All implementations can be __devinit - The function prototypes were in asm/timex.h but they all must be the same, so create a single declaration in linux/timex.h. - uninline the sparc64 version to match the other architectures - Don't bother #defining ARCH_HAS_READ_CURRENT_TIMER to a particular value. [ezk@cs.sunysb.edu: fix build] Cc: "David S. Miller" <davem@davemloft.net> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-06[SPARC64]: Temporarily remove IOMMU merging code.David S. Miller
Changeset fde6a3c82d67f592eb587be4d12222b0ae6d4321 ("iommu sg merging: sparc64: make iommu respect the segment size limits") broke sparc64 because whilst it added the segment limiting code to the first pass of SG mapping (in prepare_sg()) it did not add matching code to the second pass handling (in fill_sg()) As a result the two passes disagree where the segment boundaries should be, resulting in OOPSes, DMA corruption, and corrupted superblocks. Signed-off-by: David S. Miller <davem@davemloft.net>