[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/14] pc-bios: s390x: Move panic() into header and add infinite l
From: |
Cornelia Huck |
Subject: |
[PULL 07/14] pc-bios: s390x: Move panic() into header and add infinite loop |
Date: |
Fri, 3 Jul 2020 12:06:43 +0200 |
From: Janosch Frank <frankja@linux.ibm.com>
panic() was defined for the ccw and net bios, i.e. twice, so it's
cleaner to rather put it into the header.
Also let's add an infinite loop into the assembly of disabled_wait() so
the caller doesn't need to take care of it.
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20200624075226.92728-9-frankja@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
pc-bios/s390-ccw/main.c | 7 -------
pc-bios/s390-ccw/netmain.c | 8 --------
pc-bios/s390-ccw/s390-ccw.h | 9 +++++++--
pc-bios/s390-ccw/start.S | 5 +++--
4 files changed, 10 insertions(+), 19 deletions(-)
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index 8b912454c940..146a50760bc7 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -46,13 +46,6 @@ void write_iplb_location(void)
lowcore->ptr_iplb = ptr2u32(&iplb);
}
-void panic(const char *string)
-{
- sclp_print(string);
- disabled_wait();
- while (1) { }
-}
-
unsigned int get_loadparm_index(void)
{
return atoui(loadparm_str);
diff --git a/pc-bios/s390-ccw/netmain.c b/pc-bios/s390-ccw/netmain.c
index f1ee63577ad7..056e93a818fd 100644
--- a/pc-bios/s390-ccw/netmain.c
+++ b/pc-bios/s390-ccw/netmain.c
@@ -439,14 +439,6 @@ static int net_try_direct_tftp_load(filename_ip_t *fn_ip)
return rc;
}
-void panic(const char *string)
-{
- sclp_print(string);
- for (;;) {
- disabled_wait();
- }
-}
-
void write_subsystem_identification(void)
{
SubChannelId *schid = (SubChannelId *) 184;
diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h
index c5820e43aed1..36b884ccedf2 100644
--- a/pc-bios/s390-ccw/s390-ccw.h
+++ b/pc-bios/s390-ccw/s390-ccw.h
@@ -50,12 +50,11 @@ typedef unsigned long long __u64;
#include "iplb.h"
/* start.s */
-void disabled_wait(void);
+void disabled_wait(void) __attribute__ ((__noreturn__));
void consume_sclp_int(void);
void consume_io_int(void);
/* main.c */
-void panic(const char *string);
void write_subsystem_identification(void);
void write_iplb_location(void);
extern char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
@@ -91,6 +90,12 @@ bool menu_is_enabled_enum(void);
#define MAX_BOOT_ENTRIES 31
+static inline void panic(const char *string)
+{
+ sclp_print(string);
+ disabled_wait();
+}
+
static inline void fill_hex(char *out, unsigned char val)
{
const char hex[] = "0123456789abcdef";
diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S
index aa8fceb19da2..ce519300a1f3 100644
--- a/pc-bios/s390-ccw/start.S
+++ b/pc-bios/s390-ccw/start.S
@@ -47,8 +47,9 @@ memsetxc:
*/
.globl disabled_wait
disabled_wait:
- larl %r1,disabled_wait_psw
- lpswe 0(%r1)
+ larl %r1,disabled_wait_psw
+ lpswe 0(%r1)
+1: j 1b
/*
--
2.25.4
- [PULL 00/14] s390x update, Cornelia Huck, 2020/07/03
- [PULL 01/14] pc-bios: s390x: cio.c cleanup and compile fix, Cornelia Huck, 2020/07/03
- [PULL 02/14] pc-bios: s390x: Consolidate timing functions into time.h, Cornelia Huck, 2020/07/03
- [PULL 03/14] pc-bios: s390x: Move sleep and yield to helper.h, Cornelia Huck, 2020/07/03
- [PULL 04/14] pc-bios: s390x: Get rid of magic offsets into the lowcore, Cornelia Huck, 2020/07/03
- [PULL 05/14] pc-bios: s390x: Rename PSW_MASK_ZMODE to PSW_MASK_64, Cornelia Huck, 2020/07/03
- [PULL 06/14] pc-bios: s390x: Use PSW masks where possible and introduce PSW_MASK_SHORT_ADDR, Cornelia Huck, 2020/07/03
- [PULL 07/14] pc-bios: s390x: Move panic() into header and add infinite loop,
Cornelia Huck <=
- [PULL 08/14] pc-bios: s390x: Use ebcdic2ascii table, Cornelia Huck, 2020/07/03
- [PULL 09/14] pc-bios: s390x: Make u32 ptr check explicit, Cornelia Huck, 2020/07/03
- [PULL 10/14] pc-bios/s390-ccw: Generate and include dependency files in the Makefile, Cornelia Huck, 2020/07/03
- [PULL 11/14] pc-bios/s390: Update s390-ccw bios binaries with the latest changes, Cornelia Huck, 2020/07/03
- [PULL 12/14] target/s390x: Fix SQXBR, Cornelia Huck, 2020/07/03
- [PULL 14/14] s390x/pci: fix set_ind_atomic, Cornelia Huck, 2020/07/03
- [PULL 13/14] virtio-ccw: fix virtio_set_ind_atomic, Cornelia Huck, 2020/07/03