diff options
Diffstat (limited to 'arch/s390/kernel/head.S')
-rw-r--r-- | arch/s390/kernel/head.S | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index 2d781bab37bb..900068d2bf92 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S | |||
@@ -449,10 +449,28 @@ ENTRY(start) | |||
449 | # | 449 | # |
450 | .org 0x10000 | 450 | .org 0x10000 |
451 | ENTRY(startup) | 451 | ENTRY(startup) |
452 | j .Lep_startup_normal | ||
453 | .org 0x10008 | ||
454 | # | ||
455 | # This is a list of s390 kernel entry points. At address 0x1000f the number of | ||
456 | # valid entry points is stored. | ||
457 | # | ||
458 | # IMPORTANT: Do not change this table, it is s390 kernel ABI! | ||
459 | # | ||
460 | .ascii "S390EP" | ||
461 | .byte 0x00,0x01 | ||
462 | # | ||
463 | # kdump startup-code at 0x10010, running in 64 bit absolute addressing mode | ||
464 | # | ||
465 | .org 0x10010 | ||
466 | ENTRY(startup_kdump) | ||
467 | j .Lep_startup_kdump | ||
468 | .Lep_startup_normal: | ||
452 | basr %r13,0 # get base | 469 | basr %r13,0 # get base |
453 | .LPG0: | 470 | .LPG0: |
454 | xc 0x200(256),0x200 # partially clear lowcore | 471 | xc 0x200(256),0x200 # partially clear lowcore |
455 | xc 0x300(256),0x300 | 472 | xc 0x300(256),0x300 |
473 | xc 0xe00(256),0xe00 | ||
456 | stck __LC_LAST_UPDATE_CLOCK | 474 | stck __LC_LAST_UPDATE_CLOCK |
457 | spt 5f-.LPG0(%r13) | 475 | spt 5f-.LPG0(%r13) |
458 | mvc __LC_LAST_UPDATE_TIMER(8),5f-.LPG0(%r13) | 476 | mvc __LC_LAST_UPDATE_TIMER(8),5f-.LPG0(%r13) |
@@ -534,6 +552,8 @@ ENTRY(startup) | |||
534 | .align 8 | 552 | .align 8 |
535 | 5: .long 0x7fffffff,0xffffffff | 553 | 5: .long 0x7fffffff,0xffffffff |
536 | 554 | ||
555 | #include "head_kdump.S" | ||
556 | |||
537 | # | 557 | # |
538 | # params at 10400 (setup.h) | 558 | # params at 10400 (setup.h) |
539 | # | 559 | # |
@@ -541,6 +561,8 @@ ENTRY(startup) | |||
541 | .long 0,0 # IPL_DEVICE | 561 | .long 0,0 # IPL_DEVICE |
542 | .long 0,0 # INITRD_START | 562 | .long 0,0 # INITRD_START |
543 | .long 0,0 # INITRD_SIZE | 563 | .long 0,0 # INITRD_SIZE |
564 | .long 0,0 # OLDMEM_BASE | ||
565 | .long 0,0 # OLDMEM_SIZE | ||
544 | 566 | ||
545 | .org COMMAND_LINE | 567 | .org COMMAND_LINE |
546 | .byte "root=/dev/ram0 ro" | 568 | .byte "root=/dev/ram0 ro" |