@@ -550,11 +550,15 @@ static void test_init(void)
"storage below 2GB");
uvcb_init.stor_origin = tmp;
- smp_cpu_setup(1, PSW_WITH_CUR_MASK(cpu_loop));
- rc = uv_call(0, (uint64_t)&uvcb_init);
- report(rc == 1 && uvcb_init.header.rc == 0x102,
- "too many running cpus");
- smp_cpu_stop(1);
+ if (smp_query_num_cpus() > 1) {
+ smp_cpu_setup(1, PSW_WITH_CUR_MASK(cpu_loop));
+ rc = uv_call(0, (uint64_t)&uvcb_init);
+ report(rc == 1 && uvcb_init.header.rc == 0x102,
+ "too many running cpus");
+ smp_cpu_stop(1);
+ } else {
+ report_skip("Not enough cpus for 0x102 test");
+ }
rc = uv_call(0, (uint64_t)&uvcb_init);
report(rc == 0 && uvcb_init.header.rc == UVC_RC_EXECUTED, "successful");