67 lines
2.4 KiB
Diff
67 lines
2.4 KiB
Diff
|
Subject: [PATCH] [FEAT VS1804] zipl: Define __noinline 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: 5eace91ee7bd76b8ab44291299ac313c87c9ecb8
|
||
|
Problem-ID: VS1804
|
||
|
|
||
|
Upstream-Description:
|
||
|
|
||
|
zipl: Define __noinline 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 +
|
||
|
libutil/util_panic_example.c | 2 +-
|
||
|
zipl/boot/libc.c | 2 +-
|
||
|
3 files changed, 3 insertions(+), 2 deletions(-)
|
||
|
|
||
|
--- a/include/lib/zt_common.h
|
||
|
+++ b/include/lib/zt_common.h
|
||
|
@@ -32,6 +32,7 @@
|
||
|
#define __aligned(x) __attribute__((aligned(x)))
|
||
|
#define __may_alias __attribute__((may_alias))
|
||
|
#define __section(x) __attribute__((__section__(#x)))
|
||
|
+#define __noinline __attribute__((__noinline__))
|
||
|
|
||
|
typedef unsigned long long u64;
|
||
|
typedef signed long long s64;
|
||
|
--- a/libutil/util_panic_example.c
|
||
|
+++ b/libutil/util_panic_example.c
|
||
|
@@ -15,10 +15,10 @@
|
||
|
#include <sys/resource.h>
|
||
|
#include <sys/time.h>
|
||
|
|
||
|
+#include "lib/zt_common.h"
|
||
|
#include "lib/util_panic.h"
|
||
|
|
||
|
/* Make functions noinline to have a nice backtrace */
|
||
|
-#define __noinline __attribute__((noinline))
|
||
|
|
||
|
/*
|
||
|
* Test util_panic()
|
||
|
--- a/zipl/boot/libc.c
|
||
|
+++ b/zipl/boot/libc.c
|
||
|
@@ -473,7 +473,7 @@ void pgm_check_handler_fn(void)
|
||
|
libc_stop(psw_old->addr);
|
||
|
}
|
||
|
|
||
|
-__attribute__ ((noinline)) void load_wait_psw(uint64_t psw_mask, struct psw_t *psw)
|
||
|
+void __noinline load_wait_psw(uint64_t psw_mask, struct psw_t *psw)
|
||
|
{
|
||
|
struct psw_t wait_psw = { .mask = psw_mask, .addr = 0 };
|
||
|
struct psw_t old_psw, *wait_psw_ptr = &wait_psw;
|