[kvm-unit-tests PATCH v3 1/9] s390x: smp: Cleanup smp.c

Janosch Frank
2020-01-17T10:46:54Z

Let's remove a lot of badly formatted code by introducing the
wait_for_flag() function.

Also let's remove some stray spaces.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
---
s390x/smp.c | 42 +++++++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/s390x/smp.c b/s390x/smp.c
index ab7e46c..8d8e3a5 100644
--- a/s390x/smp.c
+++ b/s390x/smp.c
@@ -22,6 +22,13 @@

static int testflag = 0;

+static void wait_for_flag(void)
+{
+ while (!testflag) {
+ mb();
+ }
+}
+
static void cpu_loop(void)
{
for (;;) {}
@@ -30,20 +37,17 @@ static void cpu_loop(void)
static void test_func(void)
{
testflag = 1;
- mb();
cpu_loop();
}

static void test_start(void)
{
struct psw psw;
- psw.mask = extract_psw_mask();
+ psw.mask = extract_psw_mask();
psw.addr = (unsigned long)test_func;

smp_cpu_setup(1, psw);
- while (!testflag) {
- mb();
- }
+ wait_for_flag();
report(1, "start");
}

@@ -115,24 +119,24 @@ static void ecall(void)
testflag = 1;
while (lc->ext_int_code != 0x1202) { mb(); }
report(1, "ecall");
- testflag= 1;
+ testflag = 1;
}

static void test_ecall(void)
{
struct psw psw;
- psw.mask = extract_psw_mask();
+ psw.mask = extract_psw_mask();
psw.addr = (unsigned long)ecall;

report_prefix_push("ecall");
- testflag= 0;
+ testflag = 0;
smp_cpu_destroy(1);

smp_cpu_setup(1, psw);
- while (!testflag) { mb(); }
- testflag= 0;
+ wait_for_flag();
+ testflag = 0;
sigp(1, SIGP_EXTERNAL_CALL, 0, NULL);
- while(!testflag) {mb();}
+ wait_for_flag();
smp_cpu_stop(1);
report_prefix_pop();
}
@@ -147,7 +151,7 @@ static void emcall(void)
mask = extract_psw_mask();
mask |= PSW_MASK_EXT;
load_psw_mask(mask);
- testflag= 1;
+ testflag = 1;
while (lc->ext_int_code != 0x1201) { mb(); }
report(1, "ecall");
testflag = 1;
@@ -156,18 +160,18 @@ static void emcall(void)
static void test_emcall(void)
{
struct psw psw;
- psw.mask = extract_psw_mask();
+ psw.mask = extract_psw_mask();
psw.addr = (unsigned long)emcall;

report_prefix_push("emcall");
- testflag= 0;
+ testflag = 0;
smp_cpu_destroy(1);

smp_cpu_setup(1, psw);
- while (!testflag) { mb(); }
- testflag= 0;
+ wait_for_flag();
+ testflag = 0;
sigp(1, SIGP_EMERGENCY_SIGNAL, 0, NULL);
- while(!testflag) { mb(); }
+ wait_for_flag();
smp_cpu_stop(1);
report_prefix_pop();
}
@@ -177,7 +181,7 @@ static void test_reset_initial(void)
struct cpu_status *status = alloc_pages(0);
struct psw psw;

- psw.mask = extract_psw_mask();
+ psw.mask = extract_psw_mask();
psw.addr = (unsigned long)test_func;

report_prefix_push("reset initial");
@@ -208,7 +212,7 @@ static void test_reset(void)
{
struct psw psw;

- psw.mask = extract_psw_mask();
+ psw.mask = extract_psw_mask();
psw.addr = (unsigned long)test_func;

report_prefix_push("cpu reset");
--
2.20.1