Lines Matching refs:sa
61 struct save_area *sa; in save_area_alloc() local
63 sa = (void *) memblock_phys_alloc(sizeof(*sa), 8); in save_area_alloc()
64 if (!sa) in save_area_alloc()
68 list_add(&sa->list, &dump_save_areas); in save_area_alloc()
70 list_add_tail(&sa->list, &dump_save_areas); in save_area_alloc()
71 return sa; in save_area_alloc()
85 void __init save_area_add_regs(struct save_area *sa, void *regs) in save_area_add_regs() argument
90 memcpy(&sa->psw, &lc->psw_save_area, sizeof(sa->psw)); in save_area_add_regs()
91 memcpy(&sa->ctrs, &lc->cregs_save_area, sizeof(sa->ctrs)); in save_area_add_regs()
92 memcpy(&sa->gprs, &lc->gpregs_save_area, sizeof(sa->gprs)); in save_area_add_regs()
93 memcpy(&sa->acrs, &lc->access_regs_save_area, sizeof(sa->acrs)); in save_area_add_regs()
94 memcpy(&sa->fprs, &lc->floating_pt_save_area, sizeof(sa->fprs)); in save_area_add_regs()
95 memcpy(&sa->fpc, &lc->fpt_creg_save_area, sizeof(sa->fpc)); in save_area_add_regs()
96 memcpy(&sa->prefix, &lc->prefixreg_save_area, sizeof(sa->prefix)); in save_area_add_regs()
97 memcpy(&sa->todpreg, &lc->tod_progreg_save_area, sizeof(sa->todpreg)); in save_area_add_regs()
98 memcpy(&sa->timer, &lc->cpu_timer_save_area, sizeof(sa->timer)); in save_area_add_regs()
99 memcpy(&sa->todcmp, &lc->clock_comp_save_area, sizeof(sa->todcmp)); in save_area_add_regs()
105 void __init save_area_add_vxrs(struct save_area *sa, __vector128 *vxrs) in save_area_add_vxrs() argument
111 memcpy(&sa->vxrs_low[i], &vxrs[i].u[2], 8); in save_area_add_vxrs()
113 memcpy(sa->vxrs_high, vxrs + 16, 16 * sizeof(__vector128)); in save_area_add_vxrs()
358 static void *fill_cpu_elf_notes(void *ptr, int cpu, struct save_area *sa) in fill_cpu_elf_notes() argument
365 memcpy(&nt_prstatus.pr_reg.gprs, sa->gprs, sizeof(sa->gprs)); in fill_cpu_elf_notes()
366 memcpy(&nt_prstatus.pr_reg.psw, sa->psw, sizeof(sa->psw)); in fill_cpu_elf_notes()
367 memcpy(&nt_prstatus.pr_reg.acrs, sa->acrs, sizeof(sa->acrs)); in fill_cpu_elf_notes()
371 memcpy(&nt_fpregset.fpc, &sa->fpc, sizeof(sa->fpc)); in fill_cpu_elf_notes()
372 memcpy(&nt_fpregset.fprs, &sa->fprs, sizeof(sa->fprs)); in fill_cpu_elf_notes()
376 ptr = nt_init(ptr, NT_S390_TIMER, &sa->timer, sizeof(sa->timer)); in fill_cpu_elf_notes()
377 ptr = nt_init(ptr, NT_S390_TODCMP, &sa->todcmp, sizeof(sa->todcmp)); in fill_cpu_elf_notes()
378 ptr = nt_init(ptr, NT_S390_TODPREG, &sa->todpreg, sizeof(sa->todpreg)); in fill_cpu_elf_notes()
379 ptr = nt_init(ptr, NT_S390_CTRS, &sa->ctrs, sizeof(sa->ctrs)); in fill_cpu_elf_notes()
380 ptr = nt_init(ptr, NT_S390_PREFIX, &sa->prefix, sizeof(sa->prefix)); in fill_cpu_elf_notes()
383 &sa->vxrs_high, sizeof(sa->vxrs_high)); in fill_cpu_elf_notes()
385 &sa->vxrs_low, sizeof(sa->vxrs_low)); in fill_cpu_elf_notes()
395 struct save_area *sa = NULL; in get_cpu_elf_notes_size() local
400 size += nt_size(NT_S390_TIMER, sizeof(sa->timer)); in get_cpu_elf_notes_size()
401 size += nt_size(NT_S390_TODCMP, sizeof(sa->todcmp)); in get_cpu_elf_notes_size()
402 size += nt_size(NT_S390_TODPREG, sizeof(sa->todpreg)); in get_cpu_elf_notes_size()
403 size += nt_size(NT_S390_CTRS, sizeof(sa->ctrs)); in get_cpu_elf_notes_size()
404 size += nt_size(NT_S390_PREFIX, sizeof(sa->prefix)); in get_cpu_elf_notes_size()
406 size += nt_size(NT_S390_VXRS_HIGH, sizeof(sa->vxrs_high)); in get_cpu_elf_notes_size()
407 size += nt_size(NT_S390_VXRS_LOW, sizeof(sa->vxrs_low)); in get_cpu_elf_notes_size()
535 struct save_area *sa; in get_cpu_cnt() local
538 list_for_each_entry(sa, &dump_save_areas, list) in get_cpu_cnt()
539 if (sa->prefix != 0) in get_cpu_cnt()
583 struct save_area *sa; in notes_init() local
590 list_for_each_entry(sa, &dump_save_areas, list) in notes_init()
591 if (sa->prefix != 0) in notes_init()
592 ptr = fill_cpu_elf_notes(ptr, cpu++, sa); in notes_init()