aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68knommu/platform/coldfire
Commit message (Collapse)AuthorAgeFilesLines
* m68knommu: fix use of un-defined _TIF_WORK_MASKGreg Ungerer2011-02-081-1/+0
| | | | | | | | | | | | | | The _TIF_WORK_MASK definition was removed in the clean up of MMU and non-MMU arch/m68k/include/asm/thread_info*.h files (this was commit cddafa3500fde4a07e5bf899ec97a04069f8f7ce, "merge MMU and non-MMU thread_info.h"). It didn't get cleaned out of the entry.S code for the 68328 and 68360 based platforms. And it was replaced by a hard coded constant mask for coldfire platforms. There is currently no need to mask any of these bits, so fix all uses (and former uses) to check for any non-zero value. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2011-01-184-53/+81
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (25 commits) m68knommu: fix broken setting of irq_chip and handler m68knommu: switch to using -mcpu= flags for ColdFire targets m68knommu: arch/m68knommu/Kconfig whitespace cleanup m68knommu: create optimal separate instruction and data cache for ColdFire m68knommu: support ColdFire caches that do copyback and write-through m68knommu: support version 2 ColdFire split cache m68knommu: make cache push code ColdFire generic m68knommu: clean up ColdFire cache control code m68knommu: move inclusion of ColdFire v4 cache registers m68knommu: merge bit definitions for version 3 ColdFire cache controller m68knommu: create bit definitions for the version 2 ColdFire cache controller m68knommu: remove empty __iounmap() it is no used m68knommu: remove kernel_map() code, it is not used m68knommu: remove do_page_fault(), it is not used m68knommu: use user stack pointer hardware on some ColdFire cores m68knommu: remove command line printing DEBUG m68knommu: remove fasthandler interrupt code m68knommu: move UART addressing to part specific includes m68knommu: fix clock rate value reported for ColdFire 54xx parts m68knommu: move ColdFire CPU names into their headers ...
| * m68knommu: make cache push code ColdFire genericGreg Ungerer2011-01-052-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | Currently the code to push cache lines is only available to version 4 cores. Version 3 cores may also need to use this if we support copy- back caches on them. Move this code to make it more generic, and useful for all version ColdFire cores. With this in place we can now have a single cache_flush_all() code path that does all the right things on all version cores. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: clean up ColdFire cache control codeGreg Ungerer2011-01-051-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cache control code for the ColdFire CPU's is a big ugly mess of "#ifdef"ery liberally coated with bit constants. Clean it up. The cache controllers in the various ColdFire parts are actually quite similar. Just differing in some bit flags and options supported. Using the header defines now in place it is pretty easy to factor out the small differences and use common setup and flush/invalidate code. I have preserved the cache setups as they where in the old code (except where obviously wrong - like in the case of the 5249). Following from this it should be easy now to extend the possible setups used on the CACHE controllers that support split cacheing or copy-back or write through options. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: use user stack pointer hardware on some ColdFire coresGreg Ungerer2011-01-051-20/+10
| | | | | | | | | | | | | | | | | | The more modern ColdFire parts (even if based on older version cores) have separate user and supervisor stack pointers (a7 register). Modify the ColdFire CPU setup and exception code to enable and use this on parts that have it. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: remove fasthandler interrupt codeGreg Ungerer2011-01-051-27/+1
| | | | | | | | | | | | | | There are no users of the old "fasthandler" interrupt entry code. So remove it. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: make Coldfire 548x support more genericGreg Ungerer2011-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The ColdFire 547x family of processors is very similar to the ColdFire 548x series. Almost all of the support for them is the same. Make the code supporting the 548x more gneric, so it will be capable of supporting both families. For the most part this is a renaming excerise to make the support code more obviously apply to both families. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* | m68knommu: Handle multiple pending signalsAl Viro2011-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | we shouldn't bugger off to userland when there still are pending signals; among other things it makes e.g. SIGSEGV triggered by failure to build a sigframe to be delivered _now_ and not when we hit the next syscall or interrupt. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | m68knommu: Switch to saner sigsuspendAl Viro2011-01-071-2/+1
|/ | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2010-10-256-24/+201
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (21 commits) m68knommu: convert to using tracehook_report_syscall_* m68knommu: some boards use fixed phy for FEC ethernet m68knommu: support the external GPIO based interrupts of the 5272 m68knommu: mask of vector bits in exception word properly m68knommu: change to new flag variables m68knommu: Fix MCFUART_TXFIFOSIZE for m548x. m68knommu: add basic mmu-less m548x support m68knommu: .gitignore vmlinux.lds m68knommu: stop using __do_IRQ m68knommu: rename PT_OFF_VECTOR to PT_OFF_FORMATVEC. m68knommu: add support for Coldfire 547x/548x interrupt controller m68k{nommu}: Remove unused DEFINE's from asm-offsets.c m68knommu: whitespace cleanup in 68328/entry.S m68knommu: Document supported chips in intc-2.c and intc-simr.c. m68knommu: fix strace support for 68328/68360 m68knommu: fix default starting date arch/m68knommu: Removing dead 68328_SERIAL_UART2 config option arch/m68knommu: Removing dead RAM_{16,32}_MB config option arch/m68knommu: Removing dead M68KFPU_EMU config option arch/m68knommu: Removing dead RELOCATE config option ...
| * m68knommu: convert to using tracehook_report_syscall_*Greg Ungerer2010-10-221-2/+2
| | | | | | | | | | | | | | Break up syscall_trace() into separate entry and exit routines that use tracehook_report_syscall_entry() and tracehook_report_syscall_exit(). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: change to new flag variablesmatt mooney2010-10-211-2/+2
| | | | | | | | | | | | | | Replace EXTRA_CFLAGS with ccflags-y and EXTRA_AFLAGS with asflags-y. Signed-off-by: matt mooney <mfm@muteddisk.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: add basic mmu-less m548x supportPhilippe De Muyter2010-10-212-0/+146
| | | | | | | | | | | | | | | | | | | | | | | | Add a very basic mmu-less support for coldfire m548x family. This is perhaps also valid for m547x family. The port comprises the serial, tick timer and reboot support. The gpio part compiles but is empty. This gives a functional albeit limited linux for the m548x coldfire family. This has been tested on a Freescale M548xEVB Lite board with a M5484 processor and the default dbug monitor. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: stop using __do_IRQGreg Ungerer2010-10-213-14/+15
| | | | | | | | | | | | | | | | | | | | | | The use of __do_IRQ is deprecated, so lets stop using it. Generally the interrupts on the supported processors here are level triggered, so this is strait forward to switch over to using the standard handle_level_irq flow handler. (Although some ColdFire parts support edge triggered GPIO line interrupts we have no support for them yet). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: add support for Coldfire 547x/548x interrupt controllerPhilippe De Muyter2010-10-211-8/+32
| | | | | | | | | | | | | | | | | | | | The Coldfire MCF547x/MCF548x have the same interrupt controller as the MCF528x e.g., but only one, not two as in the MCF528x. Modify intc-2.c to support only one interrupt controller if MCFICM_INTC1 is not defined. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| * m68knommu: Document supported chips in intc-2.c and intc-simr.c.Philippe De Muyter2010-10-212-1/+7
| | | | | | | | | | | | | | | | | | The chips lists were in commit logs, but should also be in source files. This way it is easier to choose the right source file for a not yet supported Coldfire. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* | Merge branch 'for-linus' of ↵Linus Torvalds2010-10-221-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: Add missing I/O macros {in,out}{w,l}_p() for !CONFIG_ISA m68k: Remove big kernel lock in cache flush code m68k: __pa(): cast arg to long fbdev: atafb - Remove undead ifdef ATAFB_FALCON zorro: Fix device_register() error handling fbdev/m68k: Fix section mismatches in q40fb.c m68k/m68knommu: merge the MMU and non-MMU traps.h m68k/m68knommu: merge MMU and non-MMU thread_info.h m68k/m68knommu: merge MMU and non-MMU atomic.h m68k/m68knommu: clean up page.h m68k/m68knommu: merge machdep.h files into a single file m68k/m68knommu: merge MMU and non-MMU string.h m68k/m68knommu: Remove dead SMP config option m68k: move definition of THREAD_SIZE into thread_info_mm.h m68k: Use asm-generic/ioctls.h (enables termiox) m68k: Remove dead GG2 config option
| * | m68k/m68knommu: merge MMU and non-MMU thread_info.hGreg Ungerer2010-10-221-2/+2
| |/ | | | | | | | | | | | | | | The MMU and non-MMU versions of thread_info.h are quite similar. Merge the two files. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
* | Fix IRQ flag handling namingDavid Howells2010-10-071-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the IRQ flag handling naming. In linux/irqflags.h under one configuration, it maps: local_irq_enable() -> raw_local_irq_enable() local_irq_disable() -> raw_local_irq_disable() local_irq_save() -> raw_local_irq_save() ... and under the other configuration, it maps: raw_local_irq_enable() -> local_irq_enable() raw_local_irq_disable() -> local_irq_disable() raw_local_irq_save() -> local_irq_save() ... This is quite confusing. There should be one set of names expected of the arch, and this should be wrapped to give another set of names that are expected by users of this facility. Change this to have the arch provide: flags = arch_local_save_flags() flags = arch_local_irq_save() arch_local_irq_restore(flags) arch_local_irq_disable() arch_local_irq_enable() arch_irqs_disabled_flags(flags) arch_irqs_disabled() arch_safe_halt() Then linux/irqflags.h wraps these to provide: raw_local_save_flags(flags) raw_local_irq_save(flags) raw_local_irq_restore(flags) raw_local_irq_disable() raw_local_irq_enable() raw_irqs_disabled_flags(flags) raw_irqs_disabled() raw_safe_halt() with type checking on the flags 'arguments', and then wraps those to provide: local_save_flags(flags) local_irq_save(flags) local_irq_restore(flags) local_irq_disable() local_irq_enable() irqs_disabled_flags(flags) irqs_disabled() safe_halt() with tracing included if enabled. The arch functions can now all be inline functions rather than some of them having to be macros. Signed-off-by: David Howells <dhowells@redhat.com> [X86, FRV, MN10300] Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> [Tile] Signed-off-by: Michal Simek <monstr@monstr.eu> [Microblaze] Tested-by: Catalin Marinas <catalin.marinas@arm.com> [ARM] Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> [AVR] Acked-by: Tony Luck <tony.luck@intel.com> [IA-64] Acked-by: Hirokazu Takata <takata@linux-m32r.org> [M32R] Acked-by: Greg Ungerer <gerg@uclinux.org> [M68K/M68KNOMMU] Acked-by: Ralf Baechle <ralf@linux-mips.org> [MIPS] Acked-by: Kyle McMartin <kyle@mcmartin.ca> [PA-RISC] Acked-by: Paul Mackerras <paulus@samba.org> [PowerPC] Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> [S390] Acked-by: Chen Liqin <liqin.chen@sunplusct.com> [Score] Acked-by: Matt Fleming <matt@console-pimps.org> [SH] Acked-by: David S. Miller <davem@davemloft.net> [Sparc] Acked-by: Chris Zankel <chris@zankel.net> [Xtensa] Reviewed-by: Richard Henderson <rth@twiddle.net> [Alpha] Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp> [H8300] Cc: starvik@axis.com [CRIS] Cc: jesper.nilsson@axis.com [CRIS] Cc: linux-cris-kernel@axis.com
* m68knommu: fix invalid flags on coldfire pit clocksourcejohn stultz2010-01-161-1/+0
| | | | | | | | | | | | | | | | | The m68knommu coldfire pit clocksource looks like it was incorrectly marked as a continuous clocksource. Running with it marked as a continuous clocksource could cause hangs when the system switches to highres mode or enables nohz. This patch removes the CLOCK_SOURCE_IS_CONTINUOUS flag on the coldfire pit clocksource. This will disallow systems using this clocksource from entering oneshot mode (disabling highres timers and nohz). Signed-off-by: John Stultz <johnstul@us.ibm.com> Acked-by: Greg Ungerer <gerg@snapgear.com> Cc: Steven King <sfking@fdwdc.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: export clk_* symbols in clk.cSteven King2009-12-041-1/+6
| | | | | | | | export the clk_* stubs defined in arch/m68knommu/platform/coldfire/clk.c so they can be used by modules. Signed-off-by: Steven King <sfking@fdwdc.com> Signed-off-by: Greg Ungerer <gerg@goober.(none)>
* m68knommu: add uboot commandline argument passing supportLennart Sorensen2009-12-041-0/+10
| | | | | | | | | | | | | | | | This patch adds m68knommu support for getting the kernel command line arguments from uboot, including the passing of an initrd image from uboot. We use this on a 5270/5271 based board, and have used it on the 5271evb development board. It is based on a patch found in the linux-2.6-denx git tree, although that tree seems to have had lots of other changes since which are not in the main Linus kernel. I believe this will work on all coldfires, although other m68knommu might be missing the _init_sp stuff in head.S as far as I can tell. I only have the coldfire to test on. Signed-off-by: Lennart Sorensen <lsorense@csclub.uwaterloo.ca> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: fix rename of pt_regs offset defines breakageGreg Ungerer2009-09-301-10/+10
| | | | | | | | | Commit f159ee782990aacb5494738c98f13a2aa61dbb4a ("locking, m68k/asm-offsets: Rename pt_regs offset defines") breaks the m68knommu entry code that relies on these define names. Fix the files to match the new define names. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: create a speciailized ColdFire 5272 interrupt controllerGreg Ungerer2009-09-161-1/+1
| | | | | | | | The ColdFire 5272 CPU has a very different interrupt controller than any of the other ColdFire parts. It needs its own controller code to correctly setup and ack interrupts. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: clean up old ColdFire timer irq setupGreg Ungerer2009-09-161-7/+2
| | | | | | | | The recent changes to the old ColdFire interrupt controller code means we no longer need to manually unmask the timer interrupt. That is now done in the interrupt controller code proper. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: map ColdFire interrupts to correct masking bitsGreg Ungerer2009-09-161-17/+27
| | | | | | | | | The older simple ColdFire interrupt controller has no one-to-one mapping of interrupt numbers to bits in the interrupt mask register. Create a mapping array that each ColdFire CPU type can populate with its available interrupts and the bits that each use in the interrupt mask register. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: simplify ColdFire "timers" clock initializationGreg Ungerer2009-09-161-13/+4
| | | | | | | | | The ColdFire "timers" clock setup can be simplified. There is really no need for the flexible per-platform setup code. The clock interrupt can be hard defined per CPU platform (in CPU include files). This makes the actual timer code simpler. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: support code to mask external interrupts on old ColdFire CPU'sGreg Ungerer2009-09-161-0/+4
| | | | | | | | The external interrupts used on the old Coldfire parts with the old style interrupt controller can be properly mask/unmasked in the interrupt handling code. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: merge old ColdFire interrupt controller masking macrosGreg Ungerer2009-09-161-1/+58
| | | | | | | | | | Currently the code that supports setting the old style ColdFire interrupt controller mask registers is macros in the include files of each of the CPU types. Merge all these into a set of real masking functions in the old Coldfire interrupt controller code proper. All the macros are basically the same (excepting a register size difference on really early parts). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: remove duplicate ColdFire mcf_autovector() codeGreg Ungerer2009-09-161-0/+27
| | | | | | | | | Each of the ColdFire CPU platform code that used the old style interrupt controller had its own copy of the mcf_autovector() function. They are all the same, remove them all and create a single function in the common coldfire/intc.c code. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: mask off all interrupts in ColdFire intc-simr controllerGreg Ungerer2009-09-161-0/+5
| | | | | | | | The ColdFire intc-simr interrupt controller should mask off all interrupt sources at init time. Doing it here instead of separately in each platform setup. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: remove interrupt masking from ColdFire pit timerGreg Ungerer2009-09-161-8/+0
| | | | | | | | With proper interrupt controller code in place there is no need for devices like the timers to have custom interrupt masking code. Remove it (and the defines that go along with it). Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: use common interrupt controller code for older ColdFire CPU'sGreg Ungerer2009-09-163-25/+62
| | | | | | | | | The old ColdFire CPU's (5206, 5307, 5407, 5249 etc) use a simple interrupt controller. Use common setup code for them. This addition means that all ColdFire CPU's now have some specific type of interrupt controller code. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: general interrupt controller for ColdFire 532x partsGreg Ungerer2009-09-162-7/+19
| | | | | | | | | The ColdFire 532x family of parts uses 2 of the same INTC interrupt controlers used in the ColdFire 520x family. So modify the code to support both parts. The extra code for the second INTC controler in the case of the 520x is easily optimized away to nothing. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: general interrupt controller for ColdFire many 52xx partsGreg Ungerer2009-09-162-3/+96
| | | | | | | | | | | | Create general interrupt controller code for the many ColdFire version 2 cores that use the two region INTC interrupt controller. This includes the 523x family, 5270, 5271, 5274, 5275, and the 528x families. This code does proper masking and unmasking of interrupts. With this in place some of the driver hacks in place to support ColdFire interrupts can finally go away. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: use general interrupt controller for ColdFire 520x familyGreg Ungerer2009-09-162-1/+62
| | | | | | | | | | | | | | | | | | Create general interrupt controller code for the ColdFire 520x family, that does proper masking and unmasking of interrupts. With this in place some of the driver hacks in place to support ColdFire interrupts can finally go away. Within the ColdFire family there is a variety of different interrupt controllers in use. Some are used on multiple parts, some on only one. There is quite some differences in some varients, so much so that common code for all ColdFire parts would be impossible. This commit introduces code to support one of the newer interrupt controllers in the ColdFire 5208 and 5207 parts. It has very simple mask and unmask operations, so is one of the easiest to support. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* core generic GPIO support for Freescale Coldfire processors.sfking@fdwdc.com2009-09-103-0/+156
| | | | | | | This adds the basic infrastructure used by all of the different Coldfire CPUs. Signed-off-by: Steven King <sfking@fdwdc.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: remove obsolete reset codeGreg Ungerer2009-06-111-7/+0
| | | | | | | All ColdFire and non-MMU 68k code has custom reset routines. Remove the obsolete and now un-used reset macros. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* clocksource: pass clocksource to read() callbackMagnus Damm2009-04-213-3/+3
| | | | | | | | | | | | | | Pass clocksource pointer to the read() callback for clocksources. This allows us to share the callback between multiple instances. [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods] [akpm@linux-foundation.org: cleanup] Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: introduce basic clk infrastructureGreg Ungerer2009-03-242-1/+41
| | | | | | | | Create basic support for clk API. Recent changes to the FEC driver (used by many ColdFire family parts) need this. Initially only supports getting the master clock frequency. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: use one exist from execptionSebastian Siewior2009-01-271-13/+2
| | | | | | | | | | | | | | | | | | Part of the code that did not make sense to me got removed by Greg. This is part two: The first compare is to check whether the interrupts are disabled or not. Depending on the result we exectute the RESTORE_ALL macro is not only restoring the stack but also returning to caller. The test for pending softirq has been removed because it is allready done in irq_exit(). Since system_call() is allso using the SAVE_ALL macro and returning via ret_from_exception label I see no reason why we could not do this here as well. This is also handy because if we return from the timer interrupt and we need to resched than we check for this :) Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* cpumask: convert struct clock_event_device to cpumask pointers.Rusty Russell2008-12-131-1/+1
| | | | | | | | | | | | | Impact: change calling convention of existing clock_event APIs struct clock_event_timer's cpumask field gets changed to take pointer, as does the ->broadcast function. Another single-patch change. For safety, we BUG_ON() in clockevents_register_device() if it's not set. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Ingo Molnar <mingo@elte.hu>
* m68knommu: put ColdFire head code into .text.head sectionGreg Ungerer2008-07-231-1/+2
| | | | | | | | | | | | | | Switch the ColdFire head start up code to be in the .text.head segment. And make sure that segment is at the start of the final linked text segment. Fixes the linker warnings about section use mis-matches: WARNING: vmlinux.o(.text+0xa8): Section mismatch in reference from the variable _clear_bss to the function .init.text:start_kernel() The function _clear_bss() references the function __init start_kernel(). This is often because _clear_bss lacks a __init annotation or the annotation of start_kernel is wrong. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: MCF5307 PIT GENERIC_CLOCKEVENTS supportSebastian Siewior2008-07-231-13/+78
| | | | | | | | | | | | | The PIT code has been changed in order to suppport GENERIC_CLOCKEVENTS. The priority of the PIT clocksource has been decreased in favor of the DMA timer. pit_cycles_per_jiffy become a constant (PIT_CYCLES_PER_JIFFY) because it is known at compile time and does not change afterwards. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: add sched_clock() for the DMA timerSebastian Siewior2008-07-231-0/+16
| | | | | | | | with this printk() and other sched_clock() user use the more precise timestamps. The highly optimized math is from arch/x86/kernel/tsc_32.c. Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: Add Coldfire DMA Timer supportSebastian Siewior2008-07-232-1/+69
| | | | | | | | This one could be used as a hrtimer. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: init coldfire timer TRR with n - 1, not nPhilippe De Muyter2008-06-121-1/+7
| | | | | | | | | | | The coldfire timer must be initialised to n - 1 if we want it to count n cycles between each tick interrupt. This was already fixed, but has been lost with the conversion to GENERIC_TIMER. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Acked-by: Greg Ungerer <gerg@snapgear.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: fix compare race in sched related codeSebastian Siewior2008-05-011-0/+2
| | | | | | | | | | The interrupts must be disabled before considering the need resched bit of the task struct and they have to be disabled before calling schedule() Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: ColdFire add support for kernel preemptionSebastian Siewior2008-05-011-0/+16
| | | | | | | | | | As the subject says this patch adds the support for kernel preemption on m68knommu Coldfire. I thing the same changes could be applied to 68360 & 68328 but since I don't have the HW for testing, I don't touch it. Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: fix profile timerMatt Waddel2008-02-141-5/+12
| | | | | | | | | I was looking at timers in the Coldfire system and I noticed that the CONFIG_HIGHPROFILE option seems to be a little out of date. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>