• Paul Mundt's avatar
    sh: Fixup various PAGE_SIZE == 4096 assumptions. · 510c72ad
    Paul Mundt authored
    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: default avatarPaul Mundt <lethal@linux-sh.org>
    510c72ad
relocate_kernel.S 1.67 KB