1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (c) 2017 Red Hat Inc 4 * 5 * Authors: 6 * David Hildenbrand <david@redhat.com> 7 */ 8 #include <libcflat.h> 9 #include <kbuild.h> 10 #include <asm/arch_def.h> 11 #include <sie.h> 12 13 int main(void) 14 { 15 OFFSET(GEN_LC_EXT_INT_PARAM, lowcore, ext_int_param); 16 OFFSET(GEN_LC_CPU_ADDR, lowcore, cpu_addr); 17 OFFSET(GEN_LC_EXT_INT_CODE, lowcore, ext_int_code); 18 OFFSET(GEN_LC_SVC_INT_ID, lowcore, svc_int_id); 19 OFFSET(GEN_LC_SVC_INT_CODE, lowcore, svc_int_code); 20 OFFSET(GEN_LC_PGM_INT_ID, lowcore, pgm_int_id); 21 OFFSET(GEN_LC_PGM_INT_CODE, lowcore, pgm_int_code); 22 OFFSET(GEN_LC_DXC_VXC, lowcore, dxc_vxc); 23 OFFSET(GEN_LC_MON_CLASS_NB, lowcore, mon_class_nb); 24 OFFSET(GEN_LC_PER_CODE, lowcore, per_code); 25 OFFSET(GEN_LC_PER_ATMID, lowcore, per_atmid); 26 OFFSET(GEN_LC_PER_ADDR, lowcore, per_addr); 27 OFFSET(GEN_LC_EXC_ACC_ID, lowcore, exc_acc_id); 28 OFFSET(GEN_LC_PER_ACC_ID, lowcore, per_acc_id); 29 OFFSET(GEN_LC_OP_ACC_ID, lowcore, op_acc_id); 30 OFFSET(GEN_LC_ARCH_MODE_ID, lowcore, arch_mode_id); 31 OFFSET(GEN_LC_TRANS_EXC_ID, lowcore, trans_exc_id); 32 OFFSET(GEN_LC_MON_CODE, lowcore, mon_code); 33 OFFSET(GEN_LC_SUBSYS_ID_WORD, lowcore, subsys_id_word); 34 OFFSET(GEN_LC_IO_INT_PARAM, lowcore, io_int_param); 35 OFFSET(GEN_LC_IO_INT_WORD, lowcore, io_int_word); 36 OFFSET(GEN_LC_STFL, lowcore, stfl); 37 OFFSET(GEN_LC_MCCK_INT_CODE, lowcore, mcck_int_code); 38 OFFSET(GEN_LC_EXT_DAMAGE_CODE, lowcore, ext_damage_code); 39 OFFSET(GEN_LC_FAILING_STORAGE_ADDR, lowcore, failing_storage_addr); 40 OFFSET(GEN_LC_EMON_CA_ORIGIN, lowcore, emon_ca_origin); 41 OFFSET(GEN_LC_EMON_CA_SIZE, lowcore, emon_ca_size); 42 OFFSET(GEN_LC_EMON_EXC_COUNT, lowcore, emon_exc_count); 43 OFFSET(GEN_LC_BREAKING_EVENT_ADDR, lowcore, breaking_event_addr); 44 OFFSET(GEN_LC_RESTART_OLD_PSW, lowcore, restart_old_psw); 45 OFFSET(GEN_LC_EXT_OLD_PSW, lowcore, ext_old_psw); 46 OFFSET(GEN_LC_SVC_OLD_PSW, lowcore, svc_old_psw); 47 OFFSET(GEN_LC_PGM_OLD_PSW, lowcore, pgm_old_psw); 48 OFFSET(GEN_LC_MCCK_OLD_PSW, lowcore, mcck_old_psw); 49 OFFSET(GEN_LC_IO_OLD_PSW, lowcore, io_old_psw); 50 OFFSET(GEN_LC_RESTART_NEW_PSW, lowcore, restart_new_psw); 51 OFFSET(GEN_LC_EXT_NEW_PSW, lowcore, ext_new_psw); 52 OFFSET(GEN_LC_SVC_NEW_PSW, lowcore, svc_new_psw); 53 OFFSET(GEN_LC_PGM_NEW_PSW, lowcore, pgm_new_psw); 54 OFFSET(GEN_LC_MCCK_NEW_PSW, lowcore, mcck_new_psw); 55 OFFSET(GEN_LC_IO_NEW_PSW, lowcore, io_new_psw); 56 OFFSET(GEN_LC_SW_INT_GRS, lowcore, sw_int_grs); 57 OFFSET(GEN_LC_SW_INT_CRS, lowcore, sw_int_crs); 58 OFFSET(GEN_LC_SW_INT_PSW, lowcore, sw_int_psw); 59 OFFSET(GEN_LC_MCCK_EXT_SA_ADDR, lowcore, mcck_ext_sa_addr); 60 OFFSET(GEN_LC_FPRS_SA, lowcore, fprs_sa); 61 OFFSET(GEN_LC_GRS_SA, lowcore, grs_sa); 62 OFFSET(GEN_LC_PSW_SA, lowcore, psw_sa); 63 OFFSET(GEN_LC_PREFIX_SA, lowcore, prefix_sa); 64 OFFSET(GEN_LC_FPC_SA, lowcore, fpc_sa); 65 OFFSET(GEN_LC_TOD_PR_SA, lowcore, tod_pr_sa); 66 OFFSET(GEN_LC_CPUTM_SA, lowcore, cputm_sa); 67 OFFSET(GEN_LC_CC_SA, lowcore, cc_sa); 68 OFFSET(GEN_LC_ARS_SA, lowcore, ars_sa); 69 OFFSET(GEN_LC_CRS_SA, lowcore, crs_sa); 70 OFFSET(GEN_LC_PGM_INT_TDB, lowcore, pgm_int_tdb); 71 OFFSET(__SF_SIE_CONTROL, stack_frame, argument_area[0]); 72 OFFSET(__SF_SIE_SAVEAREA, stack_frame, argument_area[1]); 73 OFFSET(__SF_SIE_REASON, stack_frame, argument_area[2]); 74 OFFSET(__SF_SIE_FLAGS, stack_frame, argument_area[3]); 75 OFFSET(SIE_SAVEAREA_HOST_GRS, vm_save_area, host.grs[0]); 76 OFFSET(SIE_SAVEAREA_HOST_FPRS, vm_save_area, host.fprs[0]); 77 OFFSET(SIE_SAVEAREA_HOST_FPC, vm_save_area, host.fpc); 78 OFFSET(SIE_SAVEAREA_HOST_ASCE, vm_save_area, host.asce); 79 OFFSET(SIE_SAVEAREA_GUEST_GRS, vm_save_area, guest.grs[0]); 80 OFFSET(SIE_SAVEAREA_GUEST_FPRS, vm_save_area, guest.fprs[0]); 81 OFFSET(SIE_SAVEAREA_GUEST_FPC, vm_save_area, guest.fpc); 82 OFFSET(SIE_SAVEAREA_GUEST_ASCE, vm_save_area, guest.asce); 83 OFFSET(STACK_FRAME_INT_BACKCHAIN, stack_frame_int, back_chain); 84 OFFSET(STACK_FRAME_INT_FPC, stack_frame_int, fpc); 85 OFFSET(STACK_FRAME_INT_FPRS, stack_frame_int, fprs); 86 OFFSET(STACK_FRAME_INT_CRS, stack_frame_int, crs); 87 OFFSET(STACK_FRAME_INT_GRS0, stack_frame_int, grs0); 88 OFFSET(STACK_FRAME_INT_GRS1, stack_frame_int, grs1); 89 DEFINE(STACK_FRAME_INT_SIZE, sizeof(struct stack_frame_int)); 90 91 return 0; 92 } 93