Files
s390-tools/genprotimg/boot/head.S
Marc Hartmayer 3c661da4ee genprotimg: boot: make boot loader -march=z900 compatible
Replace the `lgfi` opcode with equivalents as z900 has no support for
it.

While at it, fix a comment in `genprotimg/boot/head.S` and remove a
useless label in `genprotimg/boot/stage3b_reloc.S`.

Closes: https://github.com/ibm-s390-tools/s390-tools/issues/86
Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
2021-02-19 13:43:41 +01:00

32 lines
686 B
ArmAsm

/*
* Entry code for stage 3a and stage 3b boot loader
*
* Copyright IBM Corp. 2020
*
* s390-tools is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#include "common_memory_layout.h"
#include "boot/s390.h"
#include "boot/sigp.h"
.section .text.start
.globl _start
_start:
/* Might be called after a diag308 so better set
* architecture and addressing mode
*/
lhi %r1, 1
sigp %r1, %r0, SIGP_SET_ARCHITECTURE
sam64
/* Initialize stack */
basr %r13, 0
.Lbase: llgf %r15, .Lstack - .Lbase(%r13)
brasl %r14, initialize
.Lstack: .long STACK_ADDRESS + STACK_SIZE - STACK_FRAME_OVERHEAD
.previous