On 2018-12-18 10:26, Janosch Frank wrote: > We need to properly implement interrupt handling for SCLP, because on > z/VM and LPAR SCLP calls are not synchronous! > > Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> > --- > lib/s390x/asm/arch_def.h | 1 + > lib/s390x/asm/interrupt.h | 2 ++ > lib/s390x/interrupt.c | 12 ++++++++++-- > lib/s390x/io.c | 2 +- > lib/s390x/sclp-console.c | 3 +++ > lib/s390x/sclp.c | 39 +++++++++++++++++++++++++++++++++++++-- > lib/s390x/sclp.h | 4 ++++ > 7 files changed, 58 insertions(+), 5 deletions(-) [...] > diff --git a/lib/s390x/sclp.c b/lib/s390x/sclp.c > index 7f556e5..eed51ef 100644 > --- a/lib/s390x/sclp.c > +++ b/lib/s390x/sclp.c > @@ -14,6 +14,7 @@ > #include <asm/page.h> > #include <asm/arch_def.h> > #include <asm/interrupt.h> > +#include <asm/barrier.h> > #include "sclp.h" > #include <alloc_phys.h> > > @@ -24,6 +25,7 @@ static uint64_t max_ram_size; > static uint64_t ram_size; > > char _sccb[PAGE_SIZE] __attribute__((__aligned__(4096))); > +volatile bool sclp_busy; I think this should rather be static (since you provide a "sclp_mark_busy" function to access it from other files Thomas