linux/arch/sh/kernel
Paul Mundt 510c72ad2d sh: Fixup various PAGE_SIZE == 4096 assumptions.
There were a number of places that made evil PAGE_SIZE == 4k
assumptions that ended up breaking when trying to play with
8k and 64k page sizes, this fixes those up.

The most significant change is the way we load THREAD_SIZE,
previously this was done via:

	mov	#(THREAD_SIZE >> 8), reg
	shll8	reg

to avoid a memory access and allow the immediate load. With
a 64k PAGE_SIZE, we're out of range for the immediate load
size without resorting to special instructions available in
later ISAs (movi20s and so on). The "workaround" for this is
to bump up the shift to 10 and insert a shll2, which gives a
bit more flexibility while still being much cheaper than a
memory access.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06 10:45:39 +09:00
..
cpu sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
timers sh: Configurable timer IRQ. 2006-12-06 10:45:37 +09:00
vsyscall sh: Initial gitignore list 2006-10-03 13:16:15 +09:00
apm.c sh: Kill off remaining config.h references. 2006-10-03 13:19:02 +09:00
asm-offsets.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cf-enabler.c sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
cpufreq.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
early_printk.c sh: earlyprintk= support and cleanups. 2006-09-27 14:26:53 +09:00
entry-common.S sh: Fix syscall tracing ordering. 2006-12-06 10:45:38 +09:00
head.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
init_task.c [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c 2006-10-02 07:57:20 -07:00
io_generic.c [PATCH] sh: I/O routine cleanups and ioremap() overhaul 2006-01-16 23:15:28 -08:00
io.c sh: Optimized readsl()/writesl() support. 2006-09-27 18:25:24 +09:00
irq.c sh: Fixup 4K irq stacks. 2006-12-06 10:45:39 +09:00
kgdb_jmp.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kgdb_stub.c sh: kgdb stub cleanups. 2006-09-27 16:24:55 +09:00
machine_kexec.c sh: Update kexec support for API changes. 2006-09-27 18:26:05 +09:00
Makefile sh: Add support for SH7206 and SH7619 CPU subtypes. 2006-12-06 10:45:36 +09:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pm.c sh: APM/PM support. 2006-09-27 16:20:22 +09:00
process.c sh: gcc4 support. 2006-12-06 10:45:38 +09:00
ptrace.c sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
relocate_kernel.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
semaphore.c sh: Fixup some uninitialized spinlocks. 2006-09-27 11:31:32 +09:00
setup.c sh: Hook SH7785 in to the build system. 2006-12-06 10:45:37 +09:00
sh_bios.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sh_ksyms.c sh: gcc4 support. 2006-12-06 10:45:38 +09:00
signal.c sh: gcc4 support. 2006-12-06 10:45:38 +09:00
smp.c [PATCH] cpumask: export cpu_online_map and cpu_possible_map consistently 2006-10-02 07:57:17 -07:00
sys_sh.c sh: gcc4 support. 2006-12-06 10:45:38 +09:00
syscalls.S sh: Wire up new syscalls. 2006-10-31 12:53:28 +09:00
time.c sh: Updates for IRQ handler changes. 2006-10-06 15:31:16 +09:00
traps.c sh: Set up correct siginfo structures for page faults. 2006-12-06 10:45:38 +09:00
vmlinux.lds.S [PATCH] vmlinux.lds: consolidate initcall sections 2006-10-27 15:34:51 -07:00