Upon migration, we expect storage keys being set by the guest to be preserved, so add a test for it. We keep 128 pages and set predictable storage keys. Then, we migrate and check they can be read back and the respective access restrictions are in place when the access key in the PSW doesn't match. TCG currently doesn't implement key-controlled protection, hence add the relevant tests as xfails. To this end, a check_pgm_int_xfail() is useful, which is also added in this series. Nico Boehr (2): lib: s390x: introduce check_pgm_int_code_xfail() s390x: add migration test for storage keys lib/s390x/asm/interrupt.h | 1 + lib/s390x/interrupt.c | 9 +++- s390x/Makefile | 1 + s390x/migration-skey.c | 98 +++++++++++++++++++++++++++++++++++++++ s390x/unittests.cfg | 4 ++ 5 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 s390x/migration-skey.c -- 2.31.1