From: Janosch Frank <frankja@xxxxxxxxxxxxx> Let's also test the stop portion of the "stop and store status" sigp order. Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx> Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> Message-Id: <20200429143518.1360468-4-frankja@xxxxxxxxxxxxx> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> --- s390x/smp.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/s390x/smp.c b/s390x/smp.c index bf082d1..57eacb2 100644 --- a/s390x/smp.c +++ b/s390x/smp.c @@ -76,6 +76,18 @@ static void test_stop_store_status(void) struct lowcore *lc = (void *)0x0; report_prefix_push("stop store status"); + report_prefix_push("running"); + smp_cpu_restart(1); + lc->prefix_sa = 0; + lc->grs_sa[15] = 0; + smp_cpu_stop_store_status(1); + mb(); + report(lc->prefix_sa == (uint32_t)(uintptr_t)cpu->lowcore, "prefix"); + report(lc->grs_sa[15], "stack"); + report(smp_cpu_stopped(1), "cpu stopped"); + report_prefix_pop(); + + report_prefix_push("stopped"); lc->prefix_sa = 0; lc->grs_sa[15] = 0; smp_cpu_stop_store_status(1); @@ -83,6 +95,8 @@ static void test_stop_store_status(void) report(lc->prefix_sa == (uint32_t)(uintptr_t)cpu->lowcore, "prefix"); report(lc->grs_sa[15], "stack"); report_prefix_pop(); + + report_prefix_pop(); } static void test_store_status(void) -- 2.25.3