1*b3bdfdf1SHeiko Carstens/* SPDX-License-Identifier: GPL-2.0 */ 2*b3bdfdf1SHeiko Carstens/* 3*b3bdfdf1SHeiko Carstens * Copyright IBM Corp. 1999, 2010 4*b3bdfdf1SHeiko Carstens * 5*b3bdfdf1SHeiko Carstens * Author(s): Hartmut Penner <hp@de.ibm.com> 6*b3bdfdf1SHeiko Carstens * Martin Schwidefsky <schwidefsky@de.ibm.com> 7*b3bdfdf1SHeiko Carstens * Rob van der Heij <rvdhei@iae.nl> 8*b3bdfdf1SHeiko Carstens * 9*b3bdfdf1SHeiko Carstens */ 10*b3bdfdf1SHeiko Carstens 11*b3bdfdf1SHeiko Carstens#include <linux/init.h> 12*b3bdfdf1SHeiko Carstens#include <linux/linkage.h> 13*b3bdfdf1SHeiko Carstens#include <asm/lowcore.h> 14*b3bdfdf1SHeiko Carstens#include <asm/asm-offsets.h> 15*b3bdfdf1SHeiko Carstens#include <asm/thread_info.h> 16*b3bdfdf1SHeiko Carstens#include <asm/page.h> 17*b3bdfdf1SHeiko Carstens#include <asm/ptrace.h> 18*b3bdfdf1SHeiko Carstens 19*b3bdfdf1SHeiko Carstens__HEAD 20*b3bdfdf1SHeiko CarstensSYM_CODE_START(startup_continue) 21*b3bdfdf1SHeiko Carstens# 22*b3bdfdf1SHeiko Carstens# Setup stack 23*b3bdfdf1SHeiko Carstens# 24*b3bdfdf1SHeiko Carstens GET_LC %r2 25*b3bdfdf1SHeiko Carstens larl %r14,init_task 26*b3bdfdf1SHeiko Carstens stg %r14,__LC_CURRENT(%r2) 27*b3bdfdf1SHeiko Carstens larl %r15,init_thread_union+STACK_INIT_OFFSET 28*b3bdfdf1SHeiko Carstens stg %r15,__LC_KERNEL_STACK(%r2) 29*b3bdfdf1SHeiko Carstens brasl %r14,sclp_early_adjust_va # allow sclp_early_printk 30*b3bdfdf1SHeiko Carstens brasl %r14,startup_init # s390 specific early init 31*b3bdfdf1SHeiko Carstens brasl %r14,start_kernel # common init code 32*b3bdfdf1SHeiko Carstens# 33*b3bdfdf1SHeiko Carstens# We returned from start_kernel ?!? PANIK 34*b3bdfdf1SHeiko Carstens# 35*b3bdfdf1SHeiko Carstens basr %r13,0 36*b3bdfdf1SHeiko Carstens lpswe dw_psw-.(%r13) # load disabled wait psw 37*b3bdfdf1SHeiko CarstensSYM_CODE_END(startup_continue) 38*b3bdfdf1SHeiko Carstens 39*b3bdfdf1SHeiko Carstens .balign 16 40*b3bdfdf1SHeiko CarstensSYM_DATA_LOCAL(dw_psw, .quad 0x0002000180000000,0x0000000000000000) 41