Path: blob/master/arch/s390/boot/compressed/head64.S
15126 views
/*1* Startup glue code to uncompress the kernel2*3* Copyright IBM Corp. 20104*5* Author(s): Martin Schwidefsky <[email protected]>6*/78#include <linux/init.h>9#include <asm/asm-offsets.h>10#include <asm/thread_info.h>11#include <asm/page.h>12#include "sizes.h"1314__HEAD15.globl startup_continue16startup_continue:17basr %r13,0 # get base18.LPG1:19# setup stack20lg %r15,.Lstack-.LPG1(%r13)21aghi %r15,-16022brasl %r14,decompress_kernel23# setup registers for memory mover & branch to target24lgr %r4,%r225lg %r2,.Loffset-.LPG1(%r13)26la %r4,0(%r2,%r4)27lg %r3,.Lmvsize-.LPG1(%r13)28lgr %r5,%r329# move the memory mover someplace safe30la %r1,0x20031mvc 0(mover_end-mover,%r1),mover-.LPG1(%r13)32# decompress image is started at 0x1100033lgr %r6,%r234br %r135mover:36mvcle %r2,%r4,037jo mover38br %r639mover_end:4041.align 842.Lstack:43.quad 0x8000 + (1<<(PAGE_SHIFT+THREAD_ORDER))44.Loffset:45.quad 0x1100046.Lmvsize:47.quad SZ__bss_start484950