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-07-zipl-define-__section-m...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File s390-tools-sles15sp2-07-zipl-define-__section-macro-and-make-use-of-it.patch of Package s390-tools.19914
Subject: [PATCH] [FEAT VS1804] zipl: define __section macro and make use of 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: 154734efc7ffeb1e51dd2be62561a364fdc6117c Problem-ID: VS1804 Upstream-Description: zipl: define __section macro and make use of it Signed-off-by: Philipp Rudo <prudo@linux.ibm.com> Reviewed-by: Stefan Haberland <sth@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> --- include/lib/zt_common.h | 1 + zipl/boot/eckd2dump_mv.c | 8 ++++---- zipl/boot/eckd2dump_sv.c | 5 +++-- zipl/boot/fba2dump.c | 4 ++-- zipl/boot/stage2.c | 4 +++- zipl/boot/stage2dump.c | 5 +++-- zipl/boot/stage2dump.h | 3 +-- zipl/boot/tape2dump.c | 4 +++- 8 files changed, 20 insertions(+), 14 deletions(-) --- a/include/lib/zt_common.h +++ b/include/lib/zt_common.h @@ -31,6 +31,7 @@ #define __packed __attribute__((packed)) #define __aligned(x) __attribute__((aligned(x))) #define __may_alias __attribute__((may_alias)) +#define __section(x) __attribute__((__section__(#x))) typedef unsigned long long u64; typedef signed long long s64; --- a/zipl/boot/eckd2dump_mv.c +++ b/zipl/boot/eckd2dump_mv.c @@ -9,6 +9,8 @@ * it under the terms of the MIT license. See LICENSE for details. */ +#include "lib/zt_common.h" + #include "eckd2dump.h" #include "error.h" #include "stage2dump.h" @@ -19,8 +21,7 @@ /* * Magic number at start of dump record */ -uint64_t magic __attribute__((section(".stage2.head"))) - = 0x584d554c54363401ULL; /* XMULT64, version 1 */ +uint64_t __section(.stage2.head) magic = 0x584d554c54363401ULL; /* XMULT64, version 1 */ /* * Parameter format for ECKD MV dumper (13 bytes): @@ -59,8 +60,7 @@ struct mvdump_parm_table { (MAX_DUMP_VOLUMES * (sizeof(struct mvdump_param) + 1))]; } __packed; -static struct mvdump_parm_table mvdump_table - __attribute__((section(".eckd2dump_mv.tail"))); +static struct mvdump_parm_table __section(.eckd2dump_mv.tail) mvdump_table; static int volnr_current; --- a/zipl/boot/eckd2dump_sv.c +++ b/zipl/boot/eckd2dump_sv.c @@ -9,6 +9,8 @@ * it under the terms of the MIT license. See LICENSE for details. */ +#include "lib/zt_common.h" + #include "eckd2dump.h" #include "error.h" #include "stage2dump.h" @@ -16,8 +18,7 @@ /* * Magic number at start of dump record */ -uint64_t magic __attribute__((section(".stage2.head"))) = - 0x5845434b44363401ULL; /* "XECKD64", version 1 */ +uint64_t __section(.stage2.head) magic = 0x5845434b44363401ULL; /* "XECKD64", version 1 */ /* * ECKD parameter block passed by zipl --- a/zipl/boot/fba2dump.c +++ b/zipl/boot/fba2dump.c @@ -9,6 +9,7 @@ * it under the terms of the MIT license. See LICENSE for details. */ +#include "lib/zt_common.h" #include "error.h" #include "fba.h" #include "stage2dump.h" @@ -20,8 +21,7 @@ /* * Magic number at start of dump record */ -uint64_t magic __attribute__((section(".stage2.head"))) - = 0x5844464241363401ULL; /* XDFBA64, version 1 */ +uint64_t __section(.stage2.head) magic = 0x5844464241363401ULL; /* XDFBA64, version 1 */ /* * FBA dump device partition specification --- a/zipl/boot/stage2.c +++ b/zipl/boot/stage2.c @@ -9,6 +9,8 @@ * it under the terms of the MIT license. See LICENSE for details. */ +#include "lib/zt_common.h" + #include "error.h" #include "libc.h" #include "menu.h" @@ -141,4 +143,4 @@ void panic_notify(unsigned long UNUSED(r { } -uint64_t stage2_head __attribute__((section(".stage2.head"))); +uint64_t __section(.stage2.head) stage2_head; --- a/zipl/boot/stage2dump.c +++ b/zipl/boot/stage2dump.c @@ -11,6 +11,8 @@ #include <stdarg.h> +#include "lib/zt_common.h" + #include "error.h" #include "sclp.h" #include "stage2dump.h" @@ -34,8 +36,7 @@ struct ipib_info { /* * Tail parameters */ -struct stage2dump_parm_tail parm_tail - __attribute__ ((section(".stage2dump.tail"))) = { +struct stage2dump_parm_tail parm_tail = { .mem_upper_limit = 0xffffffffffffffffULL, }; --- a/zipl/boot/stage2dump.h +++ b/zipl/boot/stage2dump.h @@ -28,8 +28,7 @@ struct stage2dump_parm_tail { uint64_t mem_upper_limit; } __packed; -extern struct stage2dump_parm_tail parm_tail - __attribute__ ((section(".stage2dump.tail"))); +extern struct stage2dump_parm_tail __section(.stage2dump.tail) parm_tail; /* * S390 dump format defines --- a/zipl/boot/tape2dump.c +++ b/zipl/boot/tape2dump.c @@ -9,6 +9,8 @@ * it under the terms of the MIT license. See LICENSE for details. */ +#include "lib/zt_common.h" + #include "cio.h" #include "error.h" #include "libc.h" @@ -33,7 +35,7 @@ struct tape_head { uint64_t ccw2; } __packed; -struct tape_head tape_head __attribute__((section(".stage2.head"))) = { +struct tape_head __section(.stage2.head) tape_head = { .psw = 0x0008000080002018ULL, /* Start code at 0x2018 */ .ccw1 = 0x0700000060000001ULL, /* Rewind ccw */ .ccw2 = 0x0200200020003000ULL, /* CCW to load dump tool to 0x2000 */
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