diff options
Diffstat (limited to 'arch/s390/kernel/head.S')
-rw-r--r-- | arch/s390/kernel/head.S | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index 1046c2c9f8d1..22596d70fc2e 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S | |||
@@ -23,6 +23,7 @@ | |||
23 | * | 23 | * |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include <linux/init.h> | ||
26 | #include <asm/setup.h> | 27 | #include <asm/setup.h> |
27 | #include <asm/lowcore.h> | 28 | #include <asm/lowcore.h> |
28 | #include <asm/asm-offsets.h> | 29 | #include <asm/asm-offsets.h> |
@@ -35,7 +36,7 @@ | |||
35 | #define ARCH_OFFSET 0 | 36 | #define ARCH_OFFSET 0 |
36 | #endif | 37 | #endif |
37 | 38 | ||
38 | .section ".text.head","ax" | 39 | __HEAD |
39 | #ifndef CONFIG_IPL | 40 | #ifndef CONFIG_IPL |
40 | .org 0 | 41 | .org 0 |
41 | .long 0x00080000,0x80000000+startup # Just a restart PSW | 42 | .long 0x00080000,0x80000000+startup # Just a restart PSW |
@@ -471,7 +472,12 @@ startup:basr %r13,0 # get base | |||
471 | .LPG0: | 472 | .LPG0: |
472 | xc 0x200(256),0x200 # partially clear lowcore | 473 | xc 0x200(256),0x200 # partially clear lowcore |
473 | xc 0x300(256),0x300 | 474 | xc 0x300(256),0x300 |
474 | 475 | l %r1,5f-.LPG0(%r13) | |
476 | stck 0(%r1) | ||
477 | spt 6f-.LPG0(%r13) | ||
478 | mvc __LC_LAST_UPDATE_CLOCK(8),0(%r1) | ||
479 | mvc __LC_LAST_UPDATE_TIMER(8),6f-.LPG0(%r13) | ||
480 | mvc __LC_EXIT_TIMER(8),5f-.LPG0(%r13) | ||
475 | #ifndef CONFIG_MARCH_G5 | 481 | #ifndef CONFIG_MARCH_G5 |
476 | # check processor version against MARCH_{G5,Z900,Z990,Z9_109,Z10} | 482 | # check processor version against MARCH_{G5,Z900,Z990,Z9_109,Z10} |
477 | stidp __LC_CPUID # store cpuid | 483 | stidp __LC_CPUID # store cpuid |
@@ -496,9 +502,13 @@ startup:basr %r13,0 # get base | |||
496 | brct %r0,0b | 502 | brct %r0,0b |
497 | #endif | 503 | #endif |
498 | 504 | ||
499 | l %r13,0f-.LPG0(%r13) | 505 | l %r13,4f-.LPG0(%r13) |
500 | b 0(%r13) | 506 | b 0(%r13) |
501 | 0: .long startup_continue | 507 | .align 4 |
508 | 4: .long startup_continue | ||
509 | 5: .long sched_clock_base_cc | ||
510 | .align 8 | ||
511 | 6: .long 0x7fffffff,0xffffffff | ||
502 | 512 | ||
503 | # | 513 | # |
504 | # params at 10400 (setup.h) | 514 | # params at 10400 (setup.h) |