xref: /openbmc/linux/arch/s390/kernel/head64.S (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds/*
3a53c8fabSHeiko Carstens * Copyright IBM Corp. 1999, 2010
41da177e4SLinus Torvalds *
50ad775dbSHeiko Carstens *   Author(s):	Hartmut Penner <hp@de.ibm.com>
60ad775dbSHeiko Carstens *		Martin Schwidefsky <schwidefsky@de.ibm.com>
70ad775dbSHeiko Carstens *		Rob van der Heij <rvdhei@iae.nl>
80ad775dbSHeiko Carstens *
91da177e4SLinus Torvalds */
101da177e4SLinus Torvalds
111844c9bcSMartin Schwidefsky#include <linux/init.h>
12144d634aSJan Glauber#include <linux/linkage.h>
131844c9bcSMartin Schwidefsky#include <asm/asm-offsets.h>
141844c9bcSMartin Schwidefsky#include <asm/thread_info.h>
151844c9bcSMartin Schwidefsky#include <asm/page.h>
164e62d458SVasily Gorbik#include <asm/ptrace.h>
17b1b70306SHeiko Carstens
181844c9bcSMartin Schwidefsky__HEAD
19*05d0935dSHeiko CarstensSYM_CODE_START(startup_continue)
20d7e7fbbaSVasily Gorbik	larl	%r1,tod_clock_base
216e2ef5e4SMartin Schwidefsky	mvc	0(16,%r1),__LC_BOOT_CLOCK
22e87bfe51SHeiko Carstens#
23e87bfe51SHeiko Carstens# Setup stack
24e87bfe51SHeiko Carstens#
25d5c352cdSHeiko Carstens	larl	%r14,init_task
26e87bfe51SHeiko Carstens	stg	%r14,__LC_CURRENT
27c2c3258fSHeiko Carstens	larl	%r15,init_thread_union+STACK_INIT_OFFSET
28cfea9bc7SHeiko Carstens	stg	%r15,__LC_KERNEL_STACK
29639886b7SAlexander Gordeev	brasl	%r14,sclp_early_adjust_va	# allow sclp_early_printk
30c2313594SVasily Gorbik	brasl	%r14,startup_init		# s390 specific early init
31c2313594SVasily Gorbik	brasl	%r14,start_kernel		# common init code
32c9497864SVasily Gorbik#
33c9497864SVasily Gorbik# We returned from start_kernel ?!? PANIK
34c9497864SVasily Gorbik#
35c9497864SVasily Gorbik	basr	%r13,0
36*05d0935dSHeiko Carstens	lpswe	dw_psw-.(%r13)		# load disabled wait psw
37*05d0935dSHeiko CarstensSYM_CODE_END(startup_continue)
38c9497864SVasily Gorbik
391da177e4SLinus Torvalds	.balign	16
40*05d0935dSHeiko CarstensSYM_DATA_LOCAL(dw_psw,	.quad 0x0002000180000000,0x0000000000000000)
41