1
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
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
adc.h
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
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
current.h
delay.h
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h
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
entry-macros.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
errno.h
fcntl.h
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
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
ipcbuf.h
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
local.h
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
msgbuf.h
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h
page.h sh: Preliminary support for SH-X2 MMU. 2006-12-06 10:45:37 +09:00
param.h
pci.h sh: Consolidated SH7751/SH7780 PCI support. 2006-09-27 16:43:28 +09:00
percpu.h
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
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
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
segment.h
semaphore-helper.h
semaphore.h
sembuf.h
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
shmbuf.h
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
siginfo.h
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
spinlock_types.h
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
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
termios.h
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
titan.h sh: Titan board support. 2006-09-27 15:05:39 +09:00
tlb.h
tlbflush.h
topology.h
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
ucontext.h
unaligned.h
unistd.h sh: Add SH-2A platform headers. 2006-12-06 10:45:36 +09:00
user.h
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