Commit Graph

1260 Commits

Author SHA1 Message Date
Paul Mundt
4c59e2942e sh: Move lookup_exception_vector() out to asm/system_32.h.
There are other places where we want to have access to the trap/exception
number, so move out the lookup_exception_vector() helper. While we're at
it, refactor it slightly to return the vector instead.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 12:00:23 +09:00
Luca Santini
347cd34f4b sh: edosk7760: Correct size of bootloader flash partition.
This is 256K instead of 1M.

[ Converted to use asm/sizes.h. -- PFM ]

Signed-off-by: Luca Santini <luca.santini@spesonline.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 10:32:29 +09:00
Paul Mundt
d3ea00a36d sh: Add a few more definitions to asm/sizes.h.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 10:31:57 +09:00
Paul Mundt
837c946aad sh: Copy in asm/sizes.h helper from ARM.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 10:24:18 +09:00
Paul Mundt
c15c5f8c2b sh: Support kernel stacks smaller than a page.
This follows the powerpc commit f6a616800e
'[POWERPC] Fix kernel stack allocation alignment'.

SH has traditionally forced the thread order to be relative to the page
size, so there were never any situations where the same bug was
triggered by slub. Regardless, the usage of > 8kB stacks for the larger
page sizes is overkill, so we switch to using slab allocations there,
as per the powerpc change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-20 20:21:33 +09:00
Paul Mundt
b817f7e020 sh: Disable 4kB stacks when using PAGE_SIZE_64KB.
This combination triggers a divide by zero in kernel/fork.c when
calculating the initial max_threads value:

	max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE);

Simply disable 4K stacks on 64kB PAGE_SIZE to work around this,
as it's not a terribly useful combination to begin with.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-20 20:16:35 +09:00
Paul Mundt
2194478157 sh: HAVE_IOREMAP_PROT depends on MMU.
HAVE_IOREMAP_PROT enables an unconditional reference to
generic_access_phys(), which remains undefined in the nommu case.
As there's no point in supporting this there anyways, simply fix
up the dependency.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17 23:26:44 +09:00
Paul Mundt
b406efefd5 sh: Fix up headers_check regression.
linux/mmzone.h isn't exported, kill it off from asm/setup.h and simply
deal with it in the places that have a dependency instead.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17 23:24:59 +09:00
Paul Mundt
81b669952e sh: Consolidate struct sh_cpuinfo definitions across _32/_64 split.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17 23:24:02 +09:00
Paul Mundt
8a80a5e9e8 sh: Fix up signal_64 conflicting handle_signal() definition.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17 23:14:36 +09:00
Paul Mundt
b85641bdde sh: Make memory hot-add and hot-remove depend on MMU.
Cleans up link numerous build issues with page migration and so on when
enabled on nommu builds.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17 23:13:27 +09:00
Paul Mundt
b3d765f5df sh: Fix up fpu emu build.
The addition of the kprobes code pushed down a variable declaration,
clean it up.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17 23:12:11 +09:00
Paul Mundt
5a89f1adbc sh: latencytop support.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-13 01:44:03 +09:00
Paul Mundt
0e660d2d43 sh: Tidy up ELF core dumps.
These have been using overrides for ELF_CORE_COPY_TASK_REGS and
ELF_CORE_COPY_FPREGS while the generic versions can be used instead.
Presently the pt_regs are also duplicated across elf_core_copy_regs()
and elf_core_copy_task_regs(), this switches to simply copying out
through elf_core_copy_regs() instead.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 23:27:46 +09:00
Paul Mundt
72461997c3 sh: Check SR.DSP bit for DSP regset validity.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:56:35 +09:00
Paul Mundt
f9540ececa sh: Add missing task_user_regset_view() definition.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:42:43 +09:00
Paul Mundt
5dadb34394 sh: Add DSP registers to regset interface.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:42:10 +09:00
Paul Mundt
6bff1592d8 sh: Fix up NUMA build error with se7722_defconfig.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:41:30 +09:00
Paul Mundt
3231739d97 sh: Enable HAVE_ARCH_TRACEHOOK.
Now that the rest of the support requirements are out of the way, finally
enable support for tracehook.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:13:36 +09:00
Paul Mundt
fb4f87a2f0 sh: Provide the asm/syscall.h interface, needed by tracehook.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:13:13 +09:00
Paul Mundt
9996b42ac0 sh: provide user_stack_pointer(), needed for tracehook support.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:11:36 +09:00
Paul Mundt
f8b890ab4c sh: Flag T-bit for syscall restart.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 22:08:20 +09:00
Paul Mundt
cb700aa4f1 sh: ioremap_prot support.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 20:41:05 +09:00
Paul Mundt
934135c19d sh: ptrace: Introduce user_regset interface for gp regs.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 19:52:36 +09:00
Paul Mundt
0955874846 sh: Provide a fixed UTS_MACHINE definition for sh64.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 18:58:28 +09:00
Luca Santini
1b582d19ce sh: update edosk7760 defconfig for physmap-flash.
Signed-off-by: Luca Santini <luca.santini@spesonline.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 18:08:01 +09:00
Luca Santini
4018ffcfdf sh: edosk7760 physmap-flash support.
Signed-off-by: Luca Santini <luca.santini@spesonline.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12 18:07:16 +09:00
roel kluin
b21a910435 sh: intc_prio_data() test before subtraction on unsigned
bit is unsigned, so test before subtraction

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-10 12:01:46 +09:00
Paul Mundt
6eb2139b3d sh: kprobes: kretprobe_trampoline needs to be global.
Needed by CONFIG_TRACING.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-09 08:13:28 +09:00
Paul Mundt
61098a0866 sh: Add R2D+ defconfig for qemu system emulator.
This adds a defconfig for the R2D+ target in the qemu system emulator.
Eventually it will be possible to simply use the r2d+ defconfig as it is.

Provided by Shin-ichiro KAWASAKI.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-09 06:15:47 +09:00
Paul Mundt
cf204fa797 sh: Derive calibrate_delay lpj from clk fwk.
All CPUs must have a sensible cpu_clk definition these days, which we can
safely use for deriving the preset loops_per_jiffy. The only odd one out
is SH-5, which hasn't been hammered in to the framework yet.

Based on the ST patch.

Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.com>
Signed-off-by: Carl Shaw <carl.shaw@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 20:47:42 +09:00
Paul Mundt
4eb5845d6c sh: kprobes: __kprobes annotations and formatting cleanups.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 18:22:47 +09:00
Paul Mundt
734db3770d sh: kprobes: Fix up race against probe point removal.
Handle a corner case where another CPU or debugger removes the probe
point from underneath us.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 18:15:55 +09:00
Paul Mundt
247bc6d2ae sh: kprobes: Fix up a preemption imbalance on jprobe return.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 18:14:50 +09:00
Paul Mundt
ee386de774 sh: kprobes: Default to NOTIFY_DONE for unhandled debug traps.
Presently this is doing a force_sig() SIGTRAP, which is already taken
care of in the generic code if no one asserts NOTIFY_STOP. Switch the
default return to NOTIFY_DONE in the case of unhandled traps, so that
the same trap may pass through to other users on the same die chain.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 18:12:33 +09:00
Paul Mundt
174b5c9923 sh: kprobes: Use trapa #0x3a for breakpoint trap.
Not all parts support trapa #0xff, so use something within the debug trap
range that's accessible on all parts.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 18:10:10 +09:00
Paul Mundt
037c10a612 sh: kprobes: Hook up kprobe_fault_handler() in the page fault path.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 12:22:47 +09:00
Paul Mundt
fc63562ac2 sh: Disable seccomp support by default.
This was initially checked in with a stupid default of y, while most
everyone is going to want to have this disabled anyways.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 12:10:35 +09:00
Paul Mundt
e7cb016e5a sh: Mark kretprobe_trampoline_holder static and __used.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 12:02:17 +09:00
Paul Mundt
4ad06dd6f1 sh: Add EDOSK7760 mach type.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 12:01:55 +09:00
Luca Santini
3db9170880 sh: Add Renesas EDOSK7760 board support.
This adds support for the Renesas (RTE) EDOSK7760 board. Currently
supported devices are:

	 - ramdisk support
	 - ethernet support
	 - nfs support
	 - ext2/ext3 support
	 - i2c support
	 - fb support (M)

Signed-off-by: Luca Santini <luca.santini@spesonline.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 12:01:15 +09:00
Luca Santini
53abf911fa sh: Enable IRLM mode for SH7760 IRQ_MODE_IRQ.
Follows the same setting as SH7750.

Signed-off-by: Luca Santini <luca.santini@spesonline.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 11:54:56 +09:00
Paul Mundt
205a3b4328 sh: uninline flush_icache_all().
This uses jump_to_uncached() which is now given the noinline attribute
due to the special section mapping. Kill off the inline attribute to
fix up compilation failure.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:06 +09:00
Paul Mundt
6907e6a601 sh: Add the rest of the boot targets to arch/sh/boot/.gitignore.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:05 +09:00
Chris Smith
d39f545014 sh: Add kprobes support.
Initial support for kprobes/kretprobes for 32-bit SH platforms.

[ General cleanup and some rework for the kretprobe hash lock. -- PFM ]

Signed-off-by: Chris Smith <chris.smith@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:05 +09:00
Marek Skuczynski
b6c20e4290 sh: remove unnecessary memset after alloc_bootmem_low_pages
Because alloc_bootmem functions return the allocated memory always
zeroed, an additional call of memset on allocated memory is
unnecessary.

Signed-off-by: Marek Skuczynski <M.Skuczynski@adbglobal.com>
Signed-off-by: Carl Shaw <carl.shaw@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:05 +09:00
Francesco Virlinzi
61c66387e6 sh: fix the TMU code to allow a fully running NO_HZ system
This patch fixes the TMU code to allow NO_HZ to work on sh

Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:05 +09:00
Carl Shaw
b6ad1e8c3f sh: Subnormal double to float conversion
This patch adds support for the SH4 to convert a subnormal double
into a float by catching the FPE and implementing the FCNVDS
instruction in software.

Signed-off-by: Carl Shaw <carl.shaw@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:05 +09:00
Stuart Menefy
f040ddaf4c sh: Fix an unusual memory initialisation error.
This fixes a problems with the set up of Linux memory:

 - When reserving memory at boot time, the code previously reserved
   the bottom page of memory, and then from one page up to the end of
   the bootmap. This had the desired effect, but was strictly speaking
   wrong, as the one page was actually whatever CONFIG_ZERO_PAGE_OFFSET
   had been set to.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:05 +09:00
Chris Smith
664718a343 sh: Fix uImage load address in 32-bit mode.
Fix "make uImage" load and entry addresses in 32-bit mode.

Signed-off-by: Chris Smith <chris.smith@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08 10:35:04 +09:00