Use per-CPU flags and callbacks for Program, Extern, and I/O interrupts instead of global variables. This allows for more accurate error handling; a CPU waiting for an interrupt will not have it "stolen" by a different CPU that was not supposed to wait for one, and now two CPUs can wait for interrupts at the same time. Also fix skey.c to be compatible with the new interrupt handling. Add some utility functions to manipulate bits in the PSW mask, to improve readability. Claudio Imbrenda (3): lib: s390x: add functions to set and clear PSW bits s390x: skey.c: rework the interrupt handler lib: s390x: better smp interrupt checks lib/s390x/asm/arch_def.h | 75 +++++++++++++++++++++++++++++++++++----- lib/s390x/asm/pgtable.h | 2 -- lib/s390x/smp.h | 8 +---- lib/s390x/interrupt.c | 57 ++++++++++++++++++++++-------- lib/s390x/mmu.c | 14 +------- lib/s390x/sclp.c | 7 +--- lib/s390x/smp.c | 11 ++++++ s390x/diag288.c | 6 ++-- s390x/selftest.c | 4 +-- s390x/skey.c | 24 +++++-------- s390x/skrf.c | 12 ++----- s390x/smp.c | 18 ++-------- 12 files changed, 141 insertions(+), 97 deletions(-) -- 2.36.1