Cross testing emulated instructions has in the past brought up some issues on all available IBM Z hypervisors. So let's upstream the last part of multiboot: sclp interrupts and line mode console. SMP tests are a great way to excercise external interruptions, cpu resets and sigp. The smp library is always initialized and provides very rudimentary CPU management for now. v2: * Fixed cr0 masks * Replaced gotos with loops * Addressed other review comments Janosch Frank (6): s390x: Use interrupts in SCLP and add locking s390x: Add linemode console s390x: Add linemode buffer to fix newline on every print s390x: Add initial smp code s390x: Prepare for external calls s390x: SMP test lib/s390x/asm/arch_def.h | 13 ++ lib/s390x/asm/interrupt.h | 5 + lib/s390x/asm/sigp.h | 28 +++- lib/s390x/interrupt.c | 28 +++- lib/s390x/io.c | 5 +- lib/s390x/sclp-console.c | 243 ++++++++++++++++++++++++++++++--- lib/s390x/sclp.c | 55 +++++++- lib/s390x/sclp.h | 59 +++++++- lib/s390x/smp.c | 276 ++++++++++++++++++++++++++++++++++++++ lib/s390x/smp.h | 51 +++++++ s390x/Makefile | 2 + s390x/cstart64.S | 7 + s390x/smp.c | 242 +++++++++++++++++++++++++++++++++ s390x/unittests.cfg | 4 + 14 files changed, 991 insertions(+), 27 deletions(-) create mode 100644 lib/s390x/smp.c create mode 100644 lib/s390x/smp.h create mode 100644 s390x/smp.c -- 2.17.0