Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:FrontRunner
s390-tools.19914
s390-tools-sles15sp2-28-zipl-move-loaders-layou...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File s390-tools-sles15sp2-28-zipl-move-loaders-layout-definitions-into-separate-h.patch of Package s390-tools.19914
Subject: [PATCH] [FEAT VS1804] zipl: move loaders layout definitions into separate header 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: 97ab8fb4e98c84a89d421c08b392db665125a3c0 Problem-ID: VS1804 Upstream-Description: zipl: move loaders layout definitions into separate header Move the loaders (stage2/stage3) layout values to `include/boot/loaders_layout.h` and use the `_AC` macro for the constants. This allows the reuse of the definitions, e.g. in assembler files, and later for the creation of linker scripts. Reviewed-by: Stefan Haberland <sth@linux.ibm.com> Reviewed-by: Philipp Rudo <prudo@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/loaders_layout.h | 32 ++++++++++++++++++++++++++++++++ zipl/include/zipl.h | 14 +------------- 2 files changed, 33 insertions(+), 13 deletions(-) --- /dev/null +++ b/include/boot/loaders_layout.h @@ -0,0 +1,32 @@ +/* + * zipl stage2/stage3 layout definitions + * + * 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. + * + */ + +#ifndef LOADERS_LAYOUT_H +#define LOADERS_LAYOUT_H + +#include "lib/zt_common.h" +#include "linux_layout.h" + +#define STAGE3_ENTRY _AC(0xa000, UL) + +#define STAGE2_LOAD_ADDRESS _AC(0x2000, UL) +#define STAGE3_LOAD_ADDRESS STAGE3_ENTRY +#define IMAGE_LOAD_ADDRESS IMAGE_ENTRY + +#define STAGE3_HEAP_SIZE _AC(0x4000, UL) +#define STAGE3_HEAP_ADDRESS _AC(0x2000, UL) +#define STAGE3_STACK_SIZE _AC(0x1000, UL) +#define STAGE3_STACK_ADDRESS _AC(0xF000, UL) +#define STAGE3_PARAMS_ADDRESS _AC(0x9000, UL) + + +#ifndef __ASSEMBLER__ +#endif /* __ASSEMBLER__ */ +#endif /* LOADERS_LAYOUT_H */ --- a/zipl/include/zipl.h +++ b/zipl/include/zipl.h @@ -14,30 +14,18 @@ #include <stdint.h> #include "lib/zt_common.h" -#include "boot/linux_layout.h" +#include "boot/loaders_layout.h" #define ZIPL_MAGIC "zIPL" #define ZIPL_MAGIC_SIZE 4 #define DISK_LAYOUT_ID 0x00000001 -#define STAGE3_ENTRY 0xa000UL - -#define STAGE2_LOAD_ADDRESS 0x2000UL -#define STAGE3_LOAD_ADDRESS STAGE3_ENTRY -#define IMAGE_LOAD_ADDRESS IMAGE_ENTRY - #define ADDRESS_LIMIT 0x80000000UL #define ADDRESS_LIMIT_KDUMP 0x2000000UL /* HSA size: 32 MiB */ #define UNSPECIFIED_ADDRESS -1UL #define MAXIMUM_PARMLINE_SIZE 0x380UL #define MAXIMUM_PHYSICAL_BLOCKSIZE 0x1000UL -#define STAGE3_HEAP_SIZE 0x4000UL -#define STAGE3_HEAP_ADDRESS 0x2000UL -#define STAGE3_STACK_SIZE 0x1000UL -#define STAGE3_STACK_ADDRESS 0xF000UL -#define STAGE3_PARAMS_ADDRESS 0x9000UL - #define PSW_ADDRESS_MASK 0x000000007fffffffUL #define PSW_LOAD 0x0008000080000000UL #define PSW_DISABLED_WAIT 0x000a000000000000UL
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