summaryrefslogtreecommitdiffstats
path: root/arch/sparc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Revert "sparc: correct section of current_pc()"David S. Miller2008-11-101-1/+0
| | | | | | | | | This reverts commit 8dd9453737822469837d48d5da3785ce70fb2118. This fixes a boot failure reported by Robert Reif. The code above the section change expects to fallthrough, so we can't make such a section change here.
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2008-11-022-4/+4
|\ | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix PCI resource mapping on sparc64 sparc64: Kill annoying warning when building compat_binfmt_elf.o sparc32: kernel/trace/trace.c wants DIE_OOPS sparc64: Fix __copy_{to,from}_user_inatomic defines.
| * sparc64: Kill annoying warning when building compat_binfmt_elf.oDavid S. Miller2008-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | GCC warns because some tests against 32-bit values never evaluate to true due to how TASK_SIZE is defined. I always wanted to mimick powerpc's definition of TASK_SIZE, which is simply TASK_SIZE_OF(current) and that also fixes the warning. Signed-off-by: David S. Miller <davem@davemloft.net>
| * sparc32: kernel/trace/trace.c wants DIE_OOPSAl Viro2008-11-021-0/+1
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sparc64: Fix __copy_{to,from}_user_inatomic defines.Hugh Dickins2008-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | Alexander Beregalov reports oops in __bzero() called from copy_from_user_fixup() called from iov_iter_copy_from_user_atomic(), when running dbench on tmpfs on sparc64: its __copy_from_user_inatomic and __copy_to_user_inatomic should be avoiding, not calling, the fixups. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: kernel/trace/trace.c wants DIE_OOPSAl Viro2008-11-011-0/+1
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2008-10-312-37/+12
|\| | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Add missing null terminating entry to bq4802_match[]. sparc: use the new byteorder headers rtc-m48t59: shift zero year to 1968 on sparc (rev 2) dbri: check dma_alloc_coherent errors sparc64: remove byteshifting from out* helpers
| * sparc: use the new byteorder headersHarvey Harrison2008-10-291-14/+8
| | | | | | | | | | Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * rtc-m48t59: shift zero year to 1968 on sparc (rev 2)Krzysztof Helt2008-10-291-23/+4
| | | | | | | | | | | | | | | | | | | | | | Shift the first year to 1968 for Sun SPARC machines. Move this logic from platform specific files to rtc driver as this fixes problems with calculating a century bit. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Tested-by: Alexander Beregalov Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2008-10-242-1/+2
|\| | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: math-emu: Fix thinko in _FP_DIV math-emu: Fix signalling of underflow and inexact while packing result. sparc: Add checkstack support sparc: correct section of current_pc() sparc: correct section of apc_no_idle sparc64: Fix race in arch/sparc64/kernel/trampoline.S
| * sparc: correct section of current_pc()Frederic Weisbecker2008-10-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Latest mainline gives this section mismatch on sparc: The function current_pc() references the variable __init no_sun4u_here. This is often because current_pc lacks a __init annotation or the annotation of no_sun4u_here is wrong. Since current_pc() is used only in early time, it is correct to put it in .init section. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sparc: correct section of apc_no_idleFrederic Weisbecker2008-10-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest mainline gives this section mismatch on sparc: The function __devinit apc_probe() references a variable __initdata apc_no_idle. If apc_no_idle is only used by apc_probe then annotate apc_no_idle with a matching annotation. Since the commit 7e7e2f035663c5ceb029bfb9d91e75099b0a5625, apc_probe() is on __devinit so we have to correct apc_no_idle which is referenced by this function. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'for-linus' of ↵Linus Torvalds2008-10-231-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile: (21 commits) OProfile: Fix buffer synchronization for IBS oprofile: hotplug cpu fix oprofile: fixing whitespaces in arch/x86/oprofile/* oprofile: fixing whitespaces in arch/x86/oprofile/* oprofile: fixing whitespaces in drivers/oprofile/* x86/oprofile: add the logic for enabling additional IBS bits x86/oprofile: reordering functions in nmi_int.c x86/oprofile: removing unused function parameter in add_ibs_begin() oprofile: more whitespace fixes oprofile: whitespace fixes OProfile: Rename IBS sysfs dir into "ibs_op" OProfile: Rework string handling in setup_ibs_files() OProfile: Rework oprofile_add_ibs_sample() function oprofile: discover counters for op ppro too oprofile: Implement Intel architectural perfmon support oprofile: Don't report Nehalem as core_2 oprofile: drop const in num counters field Revert "Oprofile Multiplexing Patch" x86, oprofile: BUG: using smp_processor_id() in preemptible code x86/oprofile: fix on_each_cpu build error ... Manually fixed trivial conflicts in drivers/oprofile/{cpu_buffer.c,event_buffer.h}
| * oprofile: more whitespace fixesRobert Richter2008-10-151-1/+1
| | | | | | | | Signed-off-by: Robert Richter <robert.richter@amd.com>
* | container freezer: implement freezer cgroup subsystemMatt Helsley2008-10-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements a new freezer subsystem in the control groups framework. It provides a way to stop and resume execution of all tasks in a cgroup by writing in the cgroup filesystem. The freezer subsystem in the container filesystem defines a file named freezer.state. Writing "FROZEN" to the state file will freeze all tasks in the cgroup. Subsequently writing "RUNNING" will unfreeze the tasks in the cgroup. Reading will return the current state. * Examples of usage : # mkdir /containers/freezer # mount -t cgroup -ofreezer freezer /containers # mkdir /containers/0 # echo $some_pid > /containers/0/tasks to get status of the freezer subsystem : # cat /containers/0/freezer.state RUNNING to freeze all tasks in the container : # echo FROZEN > /containers/0/freezer.state # cat /containers/0/freezer.state FREEZING # cat /containers/0/freezer.state FROZEN to unfreeze all tasks in the container : # echo RUNNING > /containers/0/freezer.state # cat /containers/0/freezer.state RUNNING This is the basic mechanism which should do the right thing for user space task in a simple scenario. It's important to note that freezing can be incomplete. In that case we return EBUSY. This means that some tasks in the cgroup are busy doing something that prevents us from completely freezing the cgroup at this time. After EBUSY, the cgroup will remain partially frozen -- reflected by freezer.state reporting "FREEZING" when read. The state will remain "FREEZING" until one of these things happens: 1) Userspace cancels the freezing operation by writing "RUNNING" to the freezer.state file 2) Userspace retries the freezing operation by writing "FROZEN" to the freezer.state file (writing "FREEZING" is not legal and returns EIO) 3) The tasks that blocked the cgroup from entering the "FROZEN" state disappear from the cgroup's set of tasks. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: export thaw_process] Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Signed-off-by: Matt Helsley <matthltc@us.ibm.com> Acked-by: Serge E. Hallyn <serue@us.ibm.com> Tested-by: Matt Helsley <matthltc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | container freezer: add TIF_FREEZE flag to all architecturesMatt Helsley2008-10-202-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch series introduces a cgroup subsystem that utilizes the swsusp freezer to freeze a group of tasks. It's immediately useful for batch job management scripts. It should also be useful in the future for implementing container checkpoint/restart. The freezer subsystem in the container filesystem defines a cgroup file named freezer.state. Reading freezer.state will return the current state of the cgroup. Writing "FROZEN" to the state file will freeze all tasks in the cgroup. Subsequently writing "RUNNING" will unfreeze the tasks in the cgroup. * Examples of usage : # mkdir /containers/freezer # mount -t cgroup -ofreezer freezer /containers # mkdir /containers/0 # echo $some_pid > /containers/0/tasks to get status of the freezer subsystem : # cat /containers/0/freezer.state RUNNING to freeze all tasks in the container : # echo FROZEN > /containers/0/freezer.state # cat /containers/0/freezer.state FREEZING # cat /containers/0/freezer.state FROZEN to unfreeze all tasks in the container : # echo RUNNING > /containers/0/freezer.state # cat /containers/0/freezer.state RUNNING This patch: The first step in making the refrigerator() available to all architectures, even for those without power management. The purpose of such a change is to be able to use the refrigerator() in a new control group subsystem which will implement a control group freezer. [akpm@linux-foundation.org: fix sparc] Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Signed-off-by: Matt Helsley <matthltc@us.ibm.com> Acked-by: Pavel Machek <pavel@suse.cz> Acked-by: Serge E. Hallyn <serue@us.ibm.com> Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Nigel Cunningham <nigel@tuxonice.net> Tested-by: Matt Helsley <matthltc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITYMartin Schwidefsky2008-10-162-5/+3
| | | | | | | | | | | | | | | | The SET_PERSONALITY macro is always called with a second argument of 0. Remove the ibcs argument and the various tests to set the PER_SVR4 personality. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2008-10-132-0/+2
|\ \ | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: chmc: Mark %ver register inline asm with __volatile__ sparc64: Add missing notify_cpu_starting() call. sparc32: fix build errors
| * | sparc32: fix build errorsRobert Reif2008-10-132-0/+2
| |/ | | | | | | | | | | | | | | | | | | arch/sparc/kernel/sun4d_smp.c: In function ‘smp4d_callin’: arch/sparc/kernel/sun4d_smp.c:101: error: implicit declaration of function ‘notify_cpu_starting’ arch/sparc/kernel/sun4m_smp.c: In function ‘smp4m_callin’: arch/sparc/kernel/sun4m_smp.c:74: error: implicit declaration of function ‘notify_cpu_starting’ Signed-off-by: Robert Reif <reif@earthlink.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge git://git.infradead.org/users/dwmw2/random-2.6Linus Torvalds2008-10-134-67/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.infradead.org/users/dwmw2/random-2.6: Fix autoloading of MacBook Pro backlight driver. Automatic MODULE_ALIAS() for DMI match tables. Remove asm/a.out.h files for all architectures without a.out support. Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT Remove redundant CONFIG_ARCH_SUPPORTS_AOUT S390: Update comments about why we don't use <asm-generic/statfs.h> SPARC: Use <asm-generic/statfs.h> PowerPC: Use <asm-generic/statfs.h> PARISC: Use <asm-generic/statfs.h> x86_64: Use <asm-generic/statfs.h> IA64: Use <asm-generic/statfs.h> ARM: Use <asm-generic/statfs.h> Make <asm-generic/statfs.h> suitable for 64-bit platforms. Define and use PCI_DEVICE_ID_MARVELL_88ALP01_CCIC for CAFÉ camera driver [MTD] [NAND] Define and use PCI_DEVICE_ID_MARVELL_88ALP01_NAND for CAFÉ Use PCI_DEVICE_ID_88ALP01 for CAFÉ chip, rather than PCI_DEVICE_ID_CAFE. EFS: Don't set f_fsid in statfs().
| * | Merge branch 'master' of ↵David Woodhouse2008-10-13105-4395/+1560
| |\| | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: include/asm-x86/statfs.h
| * | SPARC: Use <asm-generic/statfs.h>David Woodhouse2008-09-064-67/+3
| | | | | | | | | | | | Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* | | serial: allow 8250 to be used on sparcDavid Miller2008-10-131-0/+6
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires three changes: 1) Remove !SPARC restriction in Kconfig. 2) Move Sparc specific serial drivers before 8250, so that serial console devices don't change names on us, even if 8250 finds devices. 3) Since the Sparc specific serial drivers try to use the same major/minor device namespace as 8250, some coordination is necessary. Use the sunserial_*() layer routines to allocate minor number space within TTY_MAJOR when CONFIG_SPARC. This has no effect on other platforms. Thanks to Josip Rodin for bringing up this issue and testing plus debugging various revisions of this patch. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'master' of ↵David S. Miller2008-10-112-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: sound/core/memalloc.c
| * \ Merge branches 'sched/devel', 'sched/cpu-hotplug', 'sched/cpusets' and ↵Ingo Molnar2008-10-082-0/+3
| |\ \ | | | | | | | | | | | | 'sched/urgent' into sched/core
| | * | kernel/cpu.c: create a CPU_STARTING cpu_chain notifierManfred Spraul2008-09-082-0/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, there is no notifier that is called on a new cpu, before the new cpu begins processing interrupts/softirqs. Various kernel function would need that notification, e.g. kvm works around by calling smp_call_function_single(), rcu polls cpu_online_map. The patch adds a CPU_STARTING notification. It also adds a helper function that sends the message to all cpu_chain handlers. Tested on x86-64. All other archs are untested. Especially on sparc, I'm not sure if I got it right. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | | sparc32: sun4m interrupt mask cleanupRobert Reif2008-10-082-71/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is an updated version of a patch I wrote 6 years ago http://marc.info/?l=linux-sparc&m=103939103607617&w=2 that simplifies interrupt mask lookup. It's main purpose is to add VME bus support but it's really a cleanup of the mask code. Signed-off-by: Robert Reif <reif@earthlink.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc: arch/sparc/kernel/pmc.c -- extra #include?David Brownell2008-09-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | I have no SPARC compiler handy to verify, but it looks like this is another file that doesn't need <linux/miscdevices.h> ... Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Add more extensive documentation of sun4m interrupts.David S. Miller2008-09-201-0/+53
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Kill irq_rcvreg from sun4m_irq.cDavid S. Miller2008-09-201-6/+2
| | | | | | | | | | | | | | | | | | Unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Delete master_l10_limit.David S. Miller2008-09-205-5/+0
| | | | | | | | | | | | | | | | | | It is only set, never used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM device probing for sun4c timers.David S. Miller2008-09-202-44/+39
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM device probing for sun4c interrupt register.David S. Miller2008-09-201-26/+21
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Delete claim_ticker14().David S. Miller2008-09-201-46/+0
| | | | | | | | | | | | | | | | | | No more users. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Stop calling claim_ticker14() from sun4c_irq.cDavid S. Miller2008-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Since the first argument is always NULL, the only side effect is to disable the PROFILE_IRQ, so just do that directly. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Kill clear_profile_irq btfixup entry.David S. Miller2008-09-205-25/+0
| | | | | | | | | | | | | | | | | | Unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Call sun4m_clear_profile_irq() directly from sun4m_smp.cDavid S. Miller2008-09-202-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the only use of the clear_profile_irq() btfixup entry, which just eats up lots of dead space on other platform types. A subsequent commit will delete the other implementations and the btfixup entry as well. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Remove #if 0'd code from sun4c_irq.cDavid S. Miller2008-09-201-9/+0
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Remove some SMP ifdefs in sun4d_irq.cDavid S. Miller2008-09-201-26/+16
| | | | | | | | | | | | | | | | | | Always do the sbus_tid[] handling. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM infrastructure for probing and mapping sun4d timers.David S. Miller2008-09-202-69/+83
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM device probing for sun4m irq registers.David S. Miller2008-09-202-129/+74
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge branch 'master' of ↵David S. Miller2008-09-161-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 Conflicts: arch/sparc64/kernel/pci_psycho.c
| * | sparc: Fix user_regset 'n' field values.David S. Miller2008-09-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As noticed by Russell King, we were not setting this properly to the number of entries, but rather the total size. This results in the core dumping code allocating waayyyy too much memory. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | sparc32: Fix function signature of of_bus_sbus_get_flags().David S. Miller2008-09-111-1/+1
| |/ | | | | | | | | | | | | This doesn't match the function pointer type it gets assigned to. Luckily, this was harmless. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Use PROM device probing for sun4m timer registers.David S. Miller2008-09-142-107/+57
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Fix user_regset 'n' field values.David S. Miller2008-09-131-2/+2
| | | | | | | | | | | | | | | | | | | | As noticed by Russell King, we were not setting this properly to the number of entries, but rather the total size. This results in the core dumping code allocating waayyyy too much memory. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Fix sparse warnings in fault.cDavid S. Miller2008-09-121-0/+2
| | | | | | | | | | | | | | | | | | 1) set_brkpt() is referenced by nothing and hasn't been used by anyone to my knowledge for many many years. So just delete it. 2) add extern decl for do_sparc64_fault() in asm/pgtable_64.h Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Fix sparse warnings in visemul.cDavid S. Miller2008-09-121-0/+1
| | | | | | | | | | | | | | 1) edge8 tables should be static 2) add vis_emul() extern decl. to asm/visasm.h Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Define WANT_PAGE_VIRTUALDavid S. Miller2008-09-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | As sparse warns, without this struct page pointer subtraction is extremely expensive, and this is a pretty common operation in fast paths. With this define struct page becomes 64 bytes which makes for a simple subtract and shift, instead of a costly divide or reciprocol multiply. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sysctl: Use header file for sysctl knob declarations on sparc.David S. Miller2008-09-122-0/+2
| | | | | | | | | | | | | | This also takes care of a sparse warning as scons_pwroff's definition point. Signed-off-by: David S. Miller <davem@davemloft.net>