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>
This commit is contained in:
Philipp Rudo
2019-10-08 19:44:11 +02:00
committed by Jan Höppner
parent 86856f98db
commit 5eace91ee7
3 changed files with 3 additions and 2 deletions

View File

@@ -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;

View File

@@ -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()

View File

@@ -345,7 +345,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;