On 20.01.20 15:49, Janosch Frank wrote: > On 1/20/20 1:10 PM, David Hildenbrand wrote: >> On 17.01.20 11:46, Janosch Frank wrote: >>> All CRs are set to 0 and CRs 0 and 14 are set to pre-defined values, >>> so we also need to test 1-13 and 15 for 0. >>> >>> And while we're at it, let's also set some values to cr 1, 7 and 13, so >>> we can actually be sure that they will be zeroed. >>> >>> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> >>> --- >>> s390x/smp.c | 18 +++++++++++++++++- >>> 1 file changed, 17 insertions(+), 1 deletion(-) >>> >>> diff --git a/s390x/smp.c b/s390x/smp.c >>> index c12a3db..1385488 100644 >>> --- a/s390x/smp.c >>> +++ b/s390x/smp.c >>> @@ -169,16 +169,30 @@ static void test_emcall(void) >>> report_prefix_pop(); >>> } >>> >>> +/* Used to dirty registers of cpu #1 before it is reset */ >>> +static void test_func_initial(void) >>> +{ >>> + lctlg(1, 0x42000UL); >>> + lctlg(7, 0x43000UL); >>> + lctlg(13, 0x44000UL); >>> + mb(); >>> + testflag = 1; >>> +} >>> + >>> static void test_reset_initial(void) >>> { >>> struct cpu_status *status = alloc_pages(0); >>> + uint64_t nullp[12] = {}; >>> struct psw psw; >>> >>> psw.mask = extract_psw_mask(); >>> - psw.addr = (unsigned long)test_func; >>> + psw.addr = (unsigned long)test_func_initial; >>> >>> report_prefix_push("reset initial"); >>> + testflag = 0; >>> + mb(); >> >> maybe use a set_flag() function like >> >> mb(); >> testflag = val; >> mb(); >> >> and use it everywhere you set the flag? (e.g., in test_func_initial()) > > Hmm, so basically a set_test_flag() function in a new patch :) > Ok, I'll have a look. Sorry that this patch set keeps exploding :) -- Thanks, David / dhildenb