Lines Matching full:lc
390 struct lowcore *lc, *abs_lc; in setup_lowcore() local
396 lc = memblock_alloc_low(sizeof(*lc), sizeof(*lc)); in setup_lowcore()
397 if (!lc) in setup_lowcore()
399 __func__, sizeof(*lc), sizeof(*lc)); in setup_lowcore()
401 lc->pcpu = (unsigned long)per_cpu_ptr(&pcpu_devices, 0); in setup_lowcore()
402 lc->restart_psw.mask = PSW_KERNEL_BITS & ~PSW_MASK_DAT; in setup_lowcore()
403 lc->restart_psw.addr = __pa(restart_int_handler); in setup_lowcore()
404 lc->external_new_psw.mask = PSW_KERNEL_BITS; in setup_lowcore()
405 lc->external_new_psw.addr = (unsigned long) ext_int_handler; in setup_lowcore()
406 lc->svc_new_psw.mask = PSW_KERNEL_BITS; in setup_lowcore()
407 lc->svc_new_psw.addr = (unsigned long) system_call; in setup_lowcore()
408 lc->program_new_psw.mask = PSW_KERNEL_BITS; in setup_lowcore()
409 lc->program_new_psw.addr = (unsigned long) pgm_check_handler; in setup_lowcore()
410 lc->mcck_new_psw.mask = PSW_KERNEL_BITS; in setup_lowcore()
411 lc->mcck_new_psw.addr = (unsigned long) mcck_int_handler; in setup_lowcore()
412 lc->io_new_psw.mask = PSW_KERNEL_BITS; in setup_lowcore()
413 lc->io_new_psw.addr = (unsigned long) io_int_handler; in setup_lowcore()
414 lc->clock_comparator = clock_comparator_max; in setup_lowcore()
415 lc->current_task = (unsigned long)&init_task; in setup_lowcore()
416 lc->lpp = LPP_MAGIC; in setup_lowcore()
417 lc->preempt_count = get_lowcore()->preempt_count; in setup_lowcore()
418 nmi_alloc_mcesa_early(&lc->mcesad); in setup_lowcore()
419 lc->sys_enter_timer = get_lowcore()->sys_enter_timer; in setup_lowcore()
420 lc->exit_timer = get_lowcore()->exit_timer; in setup_lowcore()
421 lc->user_timer = get_lowcore()->user_timer; in setup_lowcore()
422 lc->system_timer = get_lowcore()->system_timer; in setup_lowcore()
423 lc->steal_timer = get_lowcore()->steal_timer; in setup_lowcore()
424 lc->last_update_timer = get_lowcore()->last_update_timer; in setup_lowcore()
425 lc->last_update_clock = get_lowcore()->last_update_clock; in setup_lowcore()
431 lc->mcck_stack = stack_alloc_early() + STACK_INIT_OFFSET; in setup_lowcore()
432 lc->async_stack = stack_alloc_early() + STACK_INIT_OFFSET; in setup_lowcore()
433 lc->nodat_stack = stack_alloc_early() + STACK_INIT_OFFSET; in setup_lowcore()
434 lc->kernel_stack = get_lowcore()->kernel_stack; in setup_lowcore()
440 lc->restart_stack = (unsigned long) restart_stack; in setup_lowcore()
441 lc->restart_fn = (unsigned long) do_restart; in setup_lowcore()
442 lc->restart_data = 0; in setup_lowcore()
443 lc->restart_source = -1U; in setup_lowcore()
444 lc->spinlock_lockval = arch_spin_lockval(0); in setup_lowcore()
445 lc->spinlock_index = 0; in setup_lowcore()
447 lc->return_lpswe = gen_lpswe(__LC_RETURN_PSW); in setup_lowcore()
448 lc->return_mcck_lpswe = gen_lpswe(__LC_RETURN_MCCK_PSW); in setup_lowcore()
449 lc->preempt_count = PREEMPT_DISABLED; in setup_lowcore()
450 lc->kernel_asce = get_lowcore()->kernel_asce; in setup_lowcore()
451 lc->user_asce = get_lowcore()->user_asce; in setup_lowcore()
453 system_ctlreg_init_save_area(lc); in setup_lowcore()
455 abs_lc->restart_stack = lc->restart_stack; in setup_lowcore()
456 abs_lc->restart_fn = lc->restart_fn; in setup_lowcore()
457 abs_lc->restart_data = lc->restart_data; in setup_lowcore()
458 abs_lc->restart_source = lc->restart_source; in setup_lowcore()
459 abs_lc->restart_psw = lc->restart_psw; in setup_lowcore()
461 abs_lc->program_new_psw = lc->program_new_psw; in setup_lowcore()
462 abs_lc->mcesad = lc->mcesad; in setup_lowcore()
465 set_prefix(__pa(lc)); in setup_lowcore()
466 lowcore_ptr[0] = lc; in setup_lowcore()