Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:Update
s390-tools.15932
s390-tools-sles15sp2-23-zipl-add-SIGP_SET_ARCHI...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File s390-tools-sles15sp2-23-zipl-add-SIGP_SET_ARCHITECTURE-to-sigp.h-and-use-it.patch of Package s390-tools.15932
Subject: [PATCH] [FEAT VS1804] zipl: add SIGP_SET_ARCHITECTURE to sigp.h and use it From: Marc Hartmayer <mhartmay@linux.ibm.com> Summary: genprotimg: Introduce new tool for the creation of PV images Description: genprotimg takes a kernel, host-key documents, optionally an initrd, optionally a file with the kernel command line, and it generates a single, loadable image file. The image consists of a concatenation of a plain text boot loader, the encrypted components for kernel, initrd, and cmdline, and the integrity-protected PV header, containing metadata necessary for running the guest in PV mode. It's possible to use this image file as a kernel for zIPL or for a direct kernel boot using QEMU. Upstream-ID: 0e385a81caf7c266c0784613e0264c03271eb99a Problem-ID: VS1804 Upstream-Description: zipl: add SIGP_SET_ARCHITECTURE to sigp.h and use it This makes the code easier to read. Reviewed-by: Philipp Rudo <prudo@linux.ibm.com> Reviewed-by: Stefan Haberland <sth@linux.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> --- include/boot/sigp.h | 1 + zipl/boot/head.S | 6 ++++-- zipl/boot/stage3.c | 6 ++++-- zipl/boot/tape0.S | 6 ++++-- 4 files changed, 13 insertions(+), 6 deletions(-) --- a/include/boot/sigp.h +++ b/include/boot/sigp.h @@ -12,6 +12,7 @@ /* Signal Processor Order Codes */ #define SIGP_STOP_AND_STORE_STATUS 9 +#define SIGP_SET_ARCHITECTURE 18 #define SIGP_SET_MULTI_THREADING 22 #define SIGP_STORE_ASTATUS_AT_ADDRESS 23 --- a/zipl/boot/head.S +++ b/zipl/boot/head.S @@ -9,16 +9,18 @@ * it under the terms of the MIT license. See LICENSE for details. */ +#include "boot/sigp.h" + .section .text.start .globl _start _start: basr %r13,0 0: la %r7,2 /* First try code 2: */ la %r6,0 /* 64 bit psws are restored */ - sigp %r7,%r6,0x12 /* Switch to 64 bit */ + sigp %r7,%r6,SIGP_SET_ARCHITECTURE /* Switch to 64 bit */ bc 8,.Lswitched_64-0b(%r13) /* Accepted ? */ la %r7,1 /* Failed - try code 1 */ - sigp %r7,%r6,0x12 /* Switch to 64 bit */ + sigp %r7,%r6,SIGP_SET_ARCHITECTURE /* Switch to 64 bit */ .Lswitched_64: sam64 /* Switch to 64 bit addr mode */ basr %r13,0 --- a/zipl/boot/stage3.c +++ b/zipl/boot/stage3.c @@ -10,6 +10,7 @@ */ #include "libc.h" +#include "boot/sigp.h" #include "s390.h" #include "stage3.h" #include "error.h" @@ -194,11 +195,12 @@ static inline void __noreturn start_kern " sam31\n" " sr %r1,%r1\n" " sr %r2,%r2\n" - " sigp %r1,%r2,0x12\n" + " sigp %r1,%r2,%[order]\n" " lpsw 0\n" : [addr] "=&d" (addr), [code] "+&d" (code) - : [psw] "a" (psw) ); + : [psw] "a" (psw), + [order] "L" (SIGP_SET_ARCHITECTURE)); while (1); } --- a/zipl/boot/tape0.S +++ b/zipl/boot/tape0.S @@ -7,6 +7,8 @@ # it under the terms of the MIT license. See LICENSE for details. # +#include "boot/sigp.h" + IPL_BS = 1024 # block size for tape access IPL_OFF = 0x4000 # temporary kernel load addr COMMAND_LINE_SIZE = 896 # max command line length @@ -184,10 +186,10 @@ iplstart: 0: la %r7,2 #/* First try code 2: */ la %r6,0 #/* 64 bit psws are restored */ - sigp %r7,%r6,0x12 #/* Switch to 64 bit */ + sigp %r7,%r6,SIGP_SET_ARCHITECTURE #/* Switch to 64 bit */ bc 8,.Lswitched_64-0b(%r13) #/* Accepted ? */ la %r7,1 #/* Failed - try code 1 */ - sigp %r7,%r6,0x12 #/* Switch to 64 bit */ + sigp %r7,%r6,SIGP_SET_ARCHITECTURE #/* Switch to 64 bit */ .Lswitched_64: sam64 #/* Switch to 64 bit addr mode */ basr %r13,0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor