Commit 2e2493c6 authored by Alexander Gordeev's avatar Alexander Gordeev
Browse files

s390/setup: rearrange absolute lowcore initialization



Make the absolute lowcore assignments immediately follow
the boot CPU lowcore same member assignments. This way
readability improves when reading from up to down, with
no out of order mcck stack allocation in-between.

Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
parent 57ad19bc
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -474,19 +474,18 @@ static void __init setup_lowcore_dat_off(void)
	lc->restart_data = 0;
	lc->restart_source = -1U;

	mcck_stack = (unsigned long)memblock_alloc(THREAD_SIZE, THREAD_SIZE);
	if (!mcck_stack)
		panic("%s: Failed to allocate %lu bytes align=0x%lx\n",
		      __func__, THREAD_SIZE, THREAD_SIZE);
	lc->mcck_stack = mcck_stack + STACK_INIT_OFFSET;

	/* Setup absolute zero lowcore */
	put_abs_lowcore(restart_stack, lc->restart_stack);
	put_abs_lowcore(restart_fn, lc->restart_fn);
	put_abs_lowcore(restart_data, lc->restart_data);
	put_abs_lowcore(restart_source, lc->restart_source);
	put_abs_lowcore(restart_psw, lc->restart_psw);

	mcck_stack = (unsigned long)memblock_alloc(THREAD_SIZE, THREAD_SIZE);
	if (!mcck_stack)
		panic("%s: Failed to allocate %lu bytes align=0x%lx\n",
		      __func__, THREAD_SIZE, THREAD_SIZE);
	lc->mcck_stack = mcck_stack + STACK_INIT_OFFSET;

	lc->spinlock_lockval = arch_spin_lockval(0);
	lc->spinlock_index = 0;
	arch_spin_lock_setup(0);