Commit Graph

109748 Commits

Author SHA1 Message Date
Paul Mundt a2159b5221 serial: sh-sci: Dynamic clock management depends on HAVE_CLK.
Presently this is conditionalized on sh, and disabled for sh64.
Now that SH-5 ties in to the clock framework, the sh64 exception
can be dropped. Additionally, ARM will want to use the same hooks
once SH-Mobile G3 grows clock framework support, so switch these
paths over to HAVE_CLK now.

Once the H8 and ARM sh-sci users hook up HAVE_CLK, the driver can
be switched over to having an outright dependency on it and the
ifdefs can go away.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-02 19:09:13 +09:00
Paul Mundt bdeb3be7cc sh: Use clk fwk for preset lpj on sh64, too.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29 20:14:44 +09:00
Paul Mundt 4d01cdafba sh: SH-5 clk fwk support.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29 20:09:17 +09:00
Paul Mundt 50b72e600b sh: sh_ksyms_64 needs __strncpy_from_user() definition.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29 19:45:16 +09:00
Paul Mundt 091db04559 sh: Fix up signal_64 cast warnings.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29 19:44:40 +09:00
Paul Mundt 88856d67cf sh: Fix up uaccess_64 put/get_user() cast warnings.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29 19:43:44 +09:00
Paul Mundt 1bec157a1f sh: Force pending restarted system calls to return -EINTR.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-24 14:37:35 +09:00
Nobuhiro Iwamatsu aa88f169d6 sh: ap325rxa: create CPLD data area in mtd
AP320 and AP325RXA has CPLD data in NOR Flash.
If this area erased, this board can not boot.
This patch create CPLD data area and set writeable mask bit.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-24 13:57:42 +09:00
Paul Mundt e7ab3cd251 sh: Add FPU registers to regset interface.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 19:04:55 +09:00
Paul Mundt 4b4cf7595a sh: Add missing asm/ftrace.h.
This was missed with the ftrace support commit.. check it in now.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 17:17:53 +09:00
Paul Mundt 6902aa84f5 doc: Add remaining SH parameters to kernel-parameters.txt.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 17:14:42 +09:00
Paul Mundt 9d2b1f81dd sh: ftrace support.
This adds support for ftrace to SH. This only includes CONFIG_FTRACE,
and does not handle dynamic ftrace presently.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 16:43:45 +09:00
Paul Mundt 3d58695edb sh: Trivial trace_mark() instrumentation for core events.
This implements a few trace points across events that are deemed
interesting. This implements a number of trace points:

	- The page fault handler / TLB miss
	- IPC calls
	- Kernel thread creation

The original LTTng patch had the slow-path instrumented, which
fails to account for the vast majority of events. In general
placing this in the fast-path is not a huge performance hit, as
we don't take page faults for kernel addresses.

The other bits of interest are some of the other trap handlers, as
well as the syscall entry/exit (which is better off being handled
through the tracehook API). Most of the other trap handlers are corner
cases where alternate means of notification exist, so there is little
value in placing extra trace points in these locations.

Based on top of the points provided both by the LTTng instrumentation
patch as well as the patch shipping in the ST-Linux tree, albeit in a
stripped down form.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 13:56:39 +09:00
Paul Mundt 8f2baee280 sh: Kill off duplicate page fault notifiers in slow path.
We already have hooks in place in the __do_page_fault() fast-path,
so kill them off in the slow path.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 12:11:25 +09:00
Paul Mundt 887f1ae3bc sh: Look up the trap vector for the page fault notifier.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21 12:06:43 +09:00
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 2641dc92b3 rtc-sh: Unsigned rtc->{periodic,carry,alarm}_irq cannot be negative
possibly since commit b420b1a7a1

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-11 14:59:24 +09:00
roel kluin cc3c080d9f sh_eth: unsigned ndev->irq cannot be negative
unsigned ndev->irq cannot be negative

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-11 14:56:57 +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