summaryrefslogtreecommitdiff
path: root/arch/sh
AgeCommit message (Collapse)AuthorFilesLines
2007-06-15sh: rework ipr codeMagnus Damm16-286/+404
This patch reworks the ipr code by grouping the offset array together with the ipr_data structure in a new data structure called ipr_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. This strategy has much in common with the recently merged intc2 code. One logic change has been made - the original ipr code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-15sh: Only support PMB for SH-X cores.Paul Mundt1-1/+1
We don't have a PMB for SH-X2 or later, so only enable it for the few CPUs that support it. Fixes up the boot for SH4AL-DSP. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-15sh: rework intc2 codeMagnus Damm5-65/+84
The shared intc2 code currently contains cpu-specific #ifdefs. This is a tad unclean and it prevents us from using the shared code to drive board-specific irqs on the se7780 board. This patch reworks the intc2 code by moving the base addresses of the intc2 registers into struct intc2_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. One logic change has been made - the original shared intc2 code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-11sh: Fix up the math-emu build.Paul Mundt1-6/+12
math-emu wasn't converted for the trap_no/errno_code changes, get it building again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-11sh: Kill off broken dma page ops.Paul Mundt3-115/+1
There's no point in keeping these around, they've been broken for some time, and the dmaenging/async_tx framework provides a far more reasonable interface. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-11sh: Fixup misaligned data for sh2 lockdep.Paul Mundt1-0/+1
lockdep/irqflags tracing on SH-2 ends up with a misaligned branch, fix it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-11sh: Tidy up dependencies for SH-2 build.Paul Mundt9-47/+44
SH-2 can presently get in to some pretty bogus states, so we tidy up the dependencies a bit and get it all building again. This gets us a bit closer to a functional allyesconfig and allmodconfig, though there are still a few things to fix up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-11sh: Provide a defconfig for R7780MP.Yoshihiro Shimoda1-0/+1223
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Kill off dead SH7604 support.Paul Mundt10-266/+2
This was added during 2.5.x, but was never moved along. This can easily be resurrected if someone has one they wish to work with, but it's not worth keeping around in its current form. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: memory hot-add for sparsemem users support.Paul Mundt2-0/+50
This enables simple hotplug support for sparsemem users. Presently this only permits memory being added in to node 0 on ZONE_NORMAL. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Fix up cpu to node mapping in sysfs.Paul Mundt1-0/+21
Currently cpu_to_node() is always 0 in the UP case, though we do want to have the CPU association linked in under sysfs even in the cases where we're only on a single CPU. Fix this up, so we have the cpu0 link on all of the available nodes that don't already have a CPU link of their own. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Fix the SH7722 flatmem build.Paul Mundt1-0/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Make NUMA depend on sparsemem.Paul Mundt1-1/+1
The only platforms that are supporting NUMA are doing so via sparsemem, so update the dependency. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: URAM node support for SH7722.Paul Mundt2-1/+10
This adds the URAM block on SH7722 as a separate node. Sparsemem is required for this, or it can simply be disabled by explicitly selecting a flatmem model. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Support for multiple nodes.Paul Mundt3-0/+104
This adds basic support for multiple nodes on SH machines. This is primarily useful for boards with many different memory blocks that are otherwise unused (SH7722/SH7785 URAM and so forth). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Use asm/sections.h for linker section symbols.Paul Mundt1-7/+4
Kill off a bunch of externs, and use sections.h instead.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Fix up max_zone_pfns[] with multiple nodes.Paul Mundt1-12/+17
Currently using multiple nodes tramples the ZONE_NORMAL max low pfn, tidy up the logic a bit to get it all working as expected. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Wire up mempolicy syscalls.Paul Mundt1-3/+3
Wire up mbind and get/set_mempolicy() in their reserved places. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Tidy compiler warnings for SH-2A build.Paul Mundt2-1/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Wrap CPU tuning through cc-option.Paul Mundt1-5/+7
Some compilers don't support the explicit CPU tuning, while binutils is still able to handle the special subtype-specific opcodes. Make the CFLAG optional, falling back on the compiler default if nothing better exists. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Enable IPR-IRQ for SH7206.Paul Mundt1-0/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Mark sparsemem regions present earlier.Paul Mundt1-4/+5
We have to call in to sparse_memory_present_with_active_regions() earlier in order for sparsemem to be happy. This was being called too late, and was causing troubles with the platforms that needed to enable sparsemem. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Register multiple nodes in topology_init().Paul Mundt1-0/+7
If we have multiple nodes, register these at topology_init() time. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Allow for bootmem debug support.Paul Mundt1-0/+4
Handy for debugging bootmem troubles. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: sparsemem support.Paul Mundt3-25/+22
This implements basic sparsemem support for SH. Presently this only uses static sparsemem, and we still permit explicit selection of flatmem. Those boards that want sparsemem can select it as usual. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Add L-BOX RE2 to mach-types.Nobuhiro Iwamatsu1-0/+1
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Align .machvec.init section on a 4-byte boundary.Takashi YOSHII1-0/+1
.machvec.init can be misaligned with the recent machvec changes, forcibly align it on the boundary that it expects, as before. Signed-off-by: Takashi YOSHII <takashi.yoshii.ze@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Fix SH-4 CPU selects.Paul Mundt3-7/+7
Now that select no longer works for selecting the "closest" CPU, we have to explicitly reference the precise sub-type in the few places where it actually matters (presently only setup code and some legacy sh-sci cruft). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Rip out special unknown machvec.Paul Mundt7-48/+13
This kills off the BareCPU board as a "special" machvec, rather, we leave this as a default for when no other vector is available, or when we want to use it in combination with other vectors for testing with generic ops. As sh_mv is copied out anyways (or overloaded when an alternate vector is explicitly selected), this doesn't consume any additional memory. The generic machvec can be forcibly selected with sh_mv=generic, or by not having any other boards enabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Kill off machvec aliases.Paul Mundt30-71/+66
We now throw all of the machvecs in to .machvec.init and either select one on the command line, or copy out the first (and usually only) one to sh_mv. The rest are freed as usual. This gets rid of all of the silly sh_mv aliasing and makes the selection explicit rather than link-order dependent. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Get multiple boards in one image working again.Paul Mundt1-38/+50
This tidies up the build rules and permits multiple boards to be linked in to the same kernel. The earlier Kconfig work ensures that the CPU configuration is consistent across the boards, as this is the only thing that we can't do dynamically. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Fixup cmdline handling from machvec changes.Paul Mundt1-6/+7
The command line wasn't being saved off properly after the machvec changes went in, fix it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Rework CPU/board dependencies.Paul Mundt3-158/+165
This was a big mess, rework the logic a bit so that we constrain to a particular subtype and figure out the board support based on that. This makes building subtype specific kernels supporting multiple boards possible again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Shut up SH2-DSP compile warnings.Paul Mundt2-2/+2
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Fixup machvec support.Paul Mundt4-150/+122
This fixes up much of the machvec handling, allowing for it to be overloaded on boot. Making practical use of this still requires some Kconfig munging, however. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: __user annotations for __get/__put_user().Paul Mundt4-14/+12
This adds in some more __user annotations. These weren't being handled properly in some of the __get_user and __put_user paths, so tidy those up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-08sh: Split out CPU topology initialization.Paul Mundt3-19/+26
Split out the CPU topology initialization to a separate file, and switch it to a percpu type, rather than an NR_CPUS array. At the same time, switch to only registering present CPUs, rather than using the possible CPU map. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-04sh: Fix se73180 platform device registration.Paul Mundt1-2/+2
Copy and paste error from se7343, fix it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-04sh: ioremap() through PMB needs asm/mmu.h.Paul Mundt1-0/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-04sh: voyagergx: Fix build warnings.Paul Mundt1-6/+7
pr_debug() was using a %x on an unsigned long, which was making the build a bit noisy. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-04sh: Fix SH4-202 clock fwk set_rate() mismatch.Paul Mundt1-1/+1
With the SH7722 changes, ->set_rate() also takes an algo_id, SH4-202 was overlooked when this change went in. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-04sh: microdev: Fix compile warnings.Paul Mundt1-0/+1
irq.c needs linux/interrupt.h. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-04sh: Fix in_nmi symbol build error.Paul Mundt1-0/+2
If CONFIG_KGDB_NMI is disabled, we're left with a stray in_nmi reference that can't be resolved. Move the symbol under the ifdef, too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-31sh: support older gcc'sAndrew Morton1-1/+1
Make my version of gcc happy. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-31sh: trivial build cleanups.Evgeniy Polyakov3-0/+9
Several errors were spotted during building for custom config (SMP included). Although SMP still does not compile (no ipi and __smp_call_function) and does not work, this looks a bit cleaner. Some other errors obtained via gcc-4.1.0 build. Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-31sh: Fix vsyscall build failure.Manuel Lauss1-0/+1
CC arch/sh/kernel/vsyscall/vsyscall.o a/arch/sh/kernel/vsyscall/vsyscall.c: In function 'arch_setup_additional_pages': a/arch/sh/kernel/vsyscall/vsyscall.c:63: error: dereferencing pointer to incomplete type a/arch/sh/kernel/vsyscall/vsyscall.c:67: error: dereferencing pointer to incomplete type a/arch/sh/kernel/vsyscall/vsyscall.c:82: error: dereferencing pointer to incomplete type a/arch/sh/kernel/vsyscall/vsyscall.c:85: error: dereferencing pointer to incomplete type a/arch/sh/kernel/vsyscall/vsyscall.c: In function 'arch_vma_name': a/arch/sh/kernel/vsyscall/vsyscall.c:91: error: dereferencing pointer to incomplete type Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-31sh: Trivial fix for dma-api compile failure.Manuel Lauss1-0/+1
Trivial fix for arch/sh/drivers/dma/dma-api.c compile failure: CC arch/sh/drivers/dma/dma-api.o a/arch/sh/drivers/dma/dma-api.c: In function 'dma_wait_for_completion': a/arch/sh/drivers/dma/dma-api.c:233: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function) a/arch/sh/drivers/dma/dma-api.c:233: error: (Each undeclared identifier is reported only once a/arch/sh/drivers/dma/dma-api.c:233: error: for each function it appears in.) a/arch/sh/drivers/dma/dma-api.c:233: warning: implicit declaration of function 'schedule' Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-31sh: Fix pcrel too far for in_nmi label.Takashi YOSHII1-0/+1
Add lost in_nmi definition to solve pcrel too far. Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-23sh: section mismatch fixes for system timer.Paul Mundt1-3/+2
Fix up a couple of section mismatch warnings regarding sys_timer. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-22Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds31-127/+153
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix dreamcast build for IRQ changes. sh: Fix clock multiplier on SH7722. sh: Wire up kdump crash kernel exec in die(). sh: sr.bl toggling around idle sleep. sh: disable genrtc support. fs: Kill sh dependency for binfmt_flat. sh: Disable psw support for R7785RP. sh: Fix page size alignment in __copy_user_page(). sh: Fix up various compile warnings for SE boards. sh: Wire up signalfd/timerfd/eventfd syscalls. sh: revert addition of page fault notifiers spelling fixes: arch/sh/ input: hp680_ts compile fixes. sh: landisk: Header cleanups. sh: landisk: rtc-rs5c313 support. sh: Kill off pmb slab cache destructor. sh: Fix up psw build rules for r7780rp. sh: Shut up compiler warnings in __do_page_fault().