qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 5/8] pc-bios: s390x: Move panic() into header and add infinit


From: Cornelia Huck
Subject: Re: [PATCH 5/8] pc-bios: s390x: Move panic() into header and add infinite loop
Date: Thu, 14 May 2020 13:49:14 +0200

On Thu, 14 May 2020 13:27:20 +0200
Janosch Frank <address@hidden> wrote:

> On 4/7/20 9:25 AM, Cornelia Huck wrote:
> > On Tue, 24 Mar 2020 11:08:44 -0400
> > Janosch Frank <address@hidden> wrote:
> >   
> >> panic() was defined for the ccw and net bios, i.e. twice, so it's
> >> cleaner to rather put it into the header.  
> > 
> > They were also slightly different, so unifying them makes sense.
> >   
> >>
> >> 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 <address@hidden>
> >> Reviewed-by: Pierre Morel <address@hidden>
> >> ---
> >>  pc-bios/s390-ccw/main.c     | 7 -------
> >>  pc-bios/s390-ccw/netmain.c  | 8 --------
> >>  pc-bios/s390-ccw/s390-ccw.h | 7 ++++++-
> >>  pc-bios/s390-ccw/start.S    | 5 +++--
> >>  4 files changed, 9 insertions(+), 18 deletions(-)
> >>  
> >   
> >> @@ -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 aa8fceb19da2164a..35be141d8da38d07 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
> >>  
> >>  
> >>  /*  
> > 
> > Possibly dumb question: Does checking code now figure out correctly
> > that code flow does not continue after disabled_wait()?
> >   
> 
> Which checking code?

Things like e.g. Coverity.

> I could certainly add "__attribute__ ((__noreturn__))" if needed.

Probably would not hurt.

Attachment: pgpwKy6RLFO5_.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]