linux/include/asm-sh
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
..
bigsur fix file specification in comments 2006-10-03 23:01:26 +02:00
cpu-sh2 sh: Drop CPU subtype IRQ headers. 2006-12-06 10:45:37 +09:00
cpu-sh2a sh: Drop CPU subtype IRQ headers. 2006-12-06 10:45:37 +09:00
cpu-sh3 sh: Kill off more dead headers. 2006-10-03 13:12:38 +09:00
cpu-sh4 sh: SH-4A UBC support 2006-10-12 12:16:13 +09:00
dreamcast fix file specification in comments 2006-10-03 23:01:26 +02:00
ec3104 [PATCH] remove SYSRQ_KEY and related defines from ppc/sh/h8300 2006-10-01 00:39:22 -07:00
hd64465 fix file specification in comments 2006-10-03 23:01:26 +02:00
landisk sh: Remove board-specific ide.h headers. 2006-10-19 16:30:32 +09:00
mpc1211 fix file specification in comments 2006-10-03 23:01:26 +02:00
saturn Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sh03 sh: Remove board-specific ide.h headers. 2006-10-19 16:30:32 +09:00
.gitignore sh: Initial gitignore list 2006-10-03 13:16:15 +09:00
a.out.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
adc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
addrspace.h sh: __addr_ok() and other misc nommu fixups. 2006-09-27 17:25:07 +09:00
apm.h sh: APM/PM support. 2006-09-27 16:20:22 +09:00
atomic.h sh: New atomic ops for SH-4A movli.l/movco.l 2006-09-27 17:52:19 +09:00
auxvec.h sh: Initial vsyscall page support. 2006-09-27 18:33:49 +09:00
bitops.h sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
bug.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
bugs.h sh: Hook SH7785 in to the build system. 2006-12-06 10:45:37 +09:00
byteorder.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cache.h sh: page table alloc cleanups and page fault optimizations. 2006-09-27 15:13:36 +09:00
cacheflush.h sh: Calculate shm alignment at runtime. 2006-09-27 18:36:17 +09:00
checksum.h [NET]: SH checksum annotations and cleanups. 2006-12-02 21:23:22 -08:00
clock.h [PATCH] sh: Simplistic clock framework 2006-01-16 23:15:28 -08:00
cpu-features.h sh: Support for L2 cache on newer SH-4A CPUs. 2006-09-27 18:27:43 +09:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping.h sh: dma-mapping compile fixes. 2006-09-27 18:34:41 +09:00
dma.h sh: dma-api channel capability extensions. 2006-12-06 10:45:39 +09:00
edosk7705.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
elf.h sh: Preliminary support for SH-X2 MMU. 2006-12-06 10:45:37 +09:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
entry-macros.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
errno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fcntl.h [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
fixmap.h sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
flat.h sh: Various nommu fixes. 2006-09-27 17:21:02 +09:00
floppy.h [PATCH] irq-flags: SH: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
freq.h [PATCH] sh: Simplistic clock framework 2006-01-16 23:15:28 -08:00
futex.h [PATCH] consolidate asm/futex.h 2006-01-08 20:13:39 -08:00
hardirq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
hd64461.h sh: APM/PM support. 2006-09-27 16:20:22 +09:00
hp6xx.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
hs7751rvoip.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
hw_irq.h sh: Updates for IRQ handler changes. 2006-10-06 15:31:16 +09:00
ide.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
io_generic.h [PATCH] sh: I/O routine cleanups and ioremap() overhaul 2006-01-16 23:15:28 -08:00
io.h [PATCH] Consolidate check_signature 2006-10-11 11:14:23 -07:00
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
ioctls.h [PATCH] sh/sh64: Fix bogus TIOCGICOUNT definitions 2006-02-01 08:53:20 -08:00
ipc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_regs.h sh: Updates for IRQ handler changes. 2006-10-06 15:31:16 +09:00
irq.h sh: Drop CPU subtype IRQ headers. 2006-12-06 10:45:37 +09:00
Kbuild Add empty Kbuild files for 'make headers_install' in remaining arches. 2006-06-18 12:58:53 +01:00
kexec.h sh: Update kexec support for API changes. 2006-09-27 18:26:05 +09:00
keyboard.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kgdb.h sh: kgdb stub cleanups. 2006-09-27 16:24:55 +09:00
kmap_types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
linkage.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
machvec_init.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
machvec.h sh: machvec rework. 2006-09-27 18:17:31 +09:00
mc146818rtc.h sh: Kill off the rest of the legacy rtc mess. 2006-09-27 17:45:01 +09:00
microdev.h [PATCH] sh: SH4-202 microdev updates 2006-02-01 08:53:19 -08:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h sh: Use MMU.TTB register as pointer to current pgd. 2006-12-06 10:45:38 +09:00
mmu.h sh: Initial vsyscall page support. 2006-09-27 18:33:49 +09:00
module.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
page.h sh: Preliminary support for SH-X2 MMU. 2006-12-06 10:45:37 +09:00
param.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.h sh: Consolidated SH7751/SH7780 PCI support. 2006-09-27 16:43:28 +09:00
percpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h sh: pmd rework. 2006-12-06 10:45:38 +09:00
pgtable.h sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
pm.h sh: APM/PM support. 2006-09-27 16:20:22 +09:00
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor.h sh: KSTK_EIP/KSTK_ESP consistency. 2006-12-06 10:45:38 +09:00
ptrace.h Fix 'make headers_check' on sh 2006-09-21 08:36:50 +01:00
push-switch.h sh: generic push-switch framework. 2006-12-06 10:45:38 +09:00
r7780rp.h sh: Convert INTC2 to IRQ table registration. 2006-10-20 15:30:55 +09:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtc.h sh: Kill off the rest of the legacy rtc mess. 2006-09-27 17:45:01 +09:00
rts7751r2d.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
rwsem.h [PATCH] lockdep: remove RWSEM_DEBUG remnants 2006-07-03 15:27:01 -07:00
scatterlist.h sh: Fix libata build. 2006-09-27 14:48:09 +09:00
sci.h serial: Add SERIAL_SH_SCI_NR_UARTS for sh-sci. 2006-09-27 17:32:30 +09:00
se7206.h sh: SE7206 build fixes. 2006-12-06 10:45:37 +09:00
se7300.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
se7343.h sh: Solution Engine SH7343 board support. 2006-09-27 18:09:34 +09:00
se7751.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
se73180.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
se.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
segment.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore-helper.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.h [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
setup.h sh: earlyprintk= support and cleanups. 2006-09-27 14:26:53 +09:00
sfp-machine.h sh: Kill off remaining config.h references. 2006-10-03 13:19:02 +09:00
sh_bios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmin.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
shmparam.h sh: Fixup SHMLBA definition for SH7705. 2006-09-27 15:29:18 +09:00
sigcontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
siginfo.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.h [PATCH] irq-flags: SH: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
smc37c93x.h sh: Move smc37c93x.h for SystemH board use. 2006-09-27 11:16:20 +09:00
smp.h sh: remove cpu_online() definition from <asm/smp.h> 2006-09-27 14:32:57 +09:00
snapgear.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
socket.h [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.h sh: Fixup __raw_read_trylock(). 2006-10-03 14:13:09 +09:00
stat.h [PATCH] 2TB files: st_blocks is invalid when calling stat64 2006-03-26 08:57:00 -08:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h sh: build fixes for defconfigs. 2006-10-03 13:14:04 +09:00
system.h sh: Fix exception_handling_table alignment. 2006-10-19 16:30:32 +09:00
systemh7751.h sh: Board updates for I/O routine rework. 2006-09-27 15:41:24 +09:00
termbits.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
thread_info.h sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
timer.h sh: SE7206 build fixes. 2006-12-06 10:45:37 +09:00
timex.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
titan.h sh: Titan board support. 2006-09-27 15:05:39 +09:00
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
topology.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
types.h [PATCH] Centralise definitions of sector_t and blkcnt_t 2006-12-04 19:41:15 -08:00
uaccess.h sh: __addr_ok() and other misc nommu fixups. 2006-09-27 17:25:07 +09:00
ubc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h sh: Add SH-2A platform headers. 2006-12-06 10:45:36 +09:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
voyagergx.h sh: Move voyagergx_reg.h to a more sensible place. 2006-09-27 17:17:27 +09:00
watchdog.h sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00