Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/s390/kernel/head64.S
26424 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* Copyright IBM Corp. 1999, 2010
4
*
5
* Author(s): Hartmut Penner <[email protected]>
6
* Martin Schwidefsky <[email protected]>
7
* Rob van der Heij <[email protected]>
8
*
9
*/
10
11
#include <linux/init.h>
12
#include <linux/linkage.h>
13
#include <asm/lowcore.h>
14
#include <asm/asm-offsets.h>
15
#include <asm/thread_info.h>
16
#include <asm/page.h>
17
#include <asm/ptrace.h>
18
19
__HEAD
20
SYM_CODE_START(startup_continue)
21
#
22
# Setup stack
23
#
24
GET_LC %r2
25
larl %r14,init_task
26
stg %r14,__LC_CURRENT(%r2)
27
larl %r15,init_thread_union+STACK_INIT_OFFSET
28
stg %r15,__LC_KERNEL_STACK(%r2)
29
brasl %r14,sclp_early_adjust_va # allow sclp_early_printk
30
brasl %r14,startup_init # s390 specific early init
31
brasl %r14,start_kernel # common init code
32
#
33
# We returned from start_kernel ?!? PANIK
34
#
35
basr %r13,0
36
lpswe dw_psw-.(%r13) # load disabled wait psw
37
SYM_CODE_END(startup_continue)
38
39
.balign 16
40
SYM_DATA_LOCAL(dw_psw, .quad 0x0002000180000000,0x0000000000000000)
41
42