/openbmc/qemu/target/hppa/ |
H A D | helper.c | 30 target_ulong psw; in cpu_hppa_get_psw() local 36 psw = (env->psw_cb >> 4) & mask1; in cpu_hppa_get_psw() 38 psw |= psw >> 3; in cpu_hppa_get_psw() 40 psw |= psw >> 6; in cpu_hppa_get_psw() 41 psw &= maskf; in cpu_hppa_get_psw() 43 psw |= psw >> 12; in cpu_hppa_get_psw() 45 psw |= env->psw_cb_msb << 39; in cpu_hppa_get_psw() 50 psw = (psw & 0xff00000000ull) | ((psw & 0xff) << 8); in cpu_hppa_get_psw() 52 psw = (psw & 0xff) << 8; in cpu_hppa_get_psw() 55 psw |= env->psw_n * PSW_N; in cpu_hppa_get_psw() [all …]
|
H A D | sys_helper.c | 66 target_ulong psw = env->psw; in HELPER() local 76 env->psw = (psw & ~PSW_SM) | (nsm & PSW_SM); in HELPER() 77 return psw & PSW_SM; in HELPER() 91 mask = gva_offset_mask(env->psw); in HELPER()
|
H A D | cpu.h | 211 uint32_t psw; /* All psw bits except the following: */ member 309 static inline uint64_t gva_offset_mask(target_ulong psw) in gva_offset_mask() argument 311 return (psw & PSW_W in gva_offset_mask() 316 static inline target_ulong hppa_form_gva_psw(target_ulong psw, uint64_t spc, in hppa_form_gva_psw() argument 320 return off & gva_offset_mask(psw); in hppa_form_gva_psw() 322 return spc | (off & gva_offset_mask(psw)); in hppa_form_gva_psw() 329 return hppa_form_gva_psw(env->psw, spc, off); in hppa_form_gva()
|
H A D | cpu.c | 46 return hppa_form_gva_psw(env->psw, (env->psw & PSW_C ? env->iasq_f : 0), in hppa_cpu_get_pc() 82 flags |= env->psw & (PSW_W | PSW_C | PSW_D | PSW_P); in cpu_get_tb_cpu_state() 136 if (env->psw & (ifetch ? PSW_C : PSW_D)) { in hppa_cpu_mmu_index() 137 return PRIV_P_TO_MMU_IDX(env->iaoq_f & 3, env->psw & PSW_P); in hppa_cpu_mmu_index() 140 return env->psw & PSW_W ? MMU_ABS_W_IDX : MMU_ABS_IDX; in hppa_cpu_mmu_index()
|
/openbmc/linux/arch/sh/drivers/ |
H A D | push-switch.c | 28 struct push_switch *psw = from_timer(psw, t, debounce); in switch_timer() local 30 schedule_work(&psw->work); in switch_timer() 35 struct push_switch *psw = container_of(work, struct push_switch, work); in switch_work_handler() local 36 struct platform_device *pdev = psw->pdev; in switch_work_handler() 38 psw->state = 0; in switch_work_handler() 46 struct push_switch *psw; in switch_drv_probe() local 49 psw = kzalloc(sizeof(struct push_switch), GFP_KERNEL); in switch_drv_probe() 50 if (unlikely(!psw)) in switch_drv_probe() 77 INIT_WORK(&psw->work, switch_work_handler); in switch_drv_probe() 78 timer_setup(&psw->debounce, switch_timer, 0); in switch_drv_probe() [all …]
|
/openbmc/qemu/target/rx/ |
H A D | cpu.h | 142 void rx_cpu_unpack_psw(CPURXState *env, uint32_t psw, int rte); 163 uint32_t psw = 0; in rx_cpu_pack_psw() local 164 psw = FIELD_DP32(psw, PSW, IPL, env->psw_ipl); in rx_cpu_pack_psw() 165 psw = FIELD_DP32(psw, PSW, PM, env->psw_pm); in rx_cpu_pack_psw() 166 psw = FIELD_DP32(psw, PSW, U, env->psw_u); in rx_cpu_pack_psw() 167 psw = FIELD_DP32(psw, PSW, I, env->psw_i); in rx_cpu_pack_psw() 168 psw = FIELD_DP32(psw, PSW, O, env->psw_o >> 31); in rx_cpu_pack_psw() 169 psw = FIELD_DP32(psw, PSW, S, env->psw_s >> 31); in rx_cpu_pack_psw() 170 psw = FIELD_DP32(psw, PSW, Z, env->psw_z == 0); in rx_cpu_pack_psw() 171 psw = FIELD_DP32(psw, PSW, C, env->psw_c); in rx_cpu_pack_psw() [all …]
|
H A D | helper.c | 26 void rx_cpu_unpack_psw(CPURXState *env, uint32_t psw, int rte) in rx_cpu_unpack_psw() argument 29 env->psw_ipl = FIELD_EX32(psw, PSW, IPL); in rx_cpu_unpack_psw() 32 env->psw_pm = FIELD_EX32(psw, PSW, PM); in rx_cpu_unpack_psw() 34 env->psw_u = FIELD_EX32(psw, PSW, U); in rx_cpu_unpack_psw() 35 env->psw_i = FIELD_EX32(psw, PSW, I); in rx_cpu_unpack_psw() 37 env->psw_o = FIELD_EX32(psw, PSW, O) << 31; in rx_cpu_unpack_psw() 38 env->psw_s = FIELD_EX32(psw, PSW, S) << 31; in rx_cpu_unpack_psw() 39 env->psw_z = 1 - FIELD_EX32(psw, PSW, Z); in rx_cpu_unpack_psw() 40 env->psw_c = FIELD_EX32(psw, PSW, C); in rx_cpu_unpack_psw()
|
/openbmc/linux/arch/s390/include/asm/ |
H A D | processor.h | 217 regs->psw.mask = PSW_USER_BITS | PSW_MASK_EA | PSW_MASK_BA; \ 218 regs->psw.addr = new_psw; \ 224 regs->psw.mask = PSW_USER_BITS | PSW_MASK_BA; \ 225 regs->psw.addr = new_psw; \ 246 #define KSTK_EIP(tsk) (task_pt_regs(tsk)->psw.addr) 299 static inline void __load_psw(psw_t psw) in __load_psw() argument 301 asm volatile("lpswe %0" : : "Q" (psw) : "cc"); in __load_psw() 310 psw_t psw __uninitialized; in __load_psw_mask() 313 psw.mask = mask; in __load_psw_mask() 320 : "=&d" (addr), "=Q" (psw.addr) : "Q" (psw) : "memory", "cc"); in __load_psw_mask() [all …]
|
/openbmc/linux/arch/s390/kernel/ |
H A D | dumpstack.c | 156 struct psw_bits *psw = &psw_bits(regs->psw); in show_registers() local 160 printk("%s PSW : %px %px", mode, (void *)regs->psw.mask, (void *)regs->psw.addr); in show_registers() 162 pr_cont(" (%pSR)", (void *)regs->psw.addr); in show_registers() 165 "P:%x AS:%x CC:%x PM:%x", psw->per, psw->dat, psw->io, psw->ext, in show_registers() 166 psw->key, psw->mcheck, psw->wait, psw->pstate, psw->as, psw->cc, psw->pm); in show_registers() 167 pr_cont(" RI:%x EA:%x\n", psw->ri, psw->eaba); in show_registers()
|
H A D | uprobes.c | 31 if (psw_bits(regs->psw).eaba == PSW_BITS_AMODE_24BIT) in arch_uprobe_pre_xol() 33 if (!is_compat_task() && psw_bits(regs->psw).eaba == PSW_BITS_AMODE_31BIT) in arch_uprobe_pre_xol() 36 auprobe->saved_per = psw_bits(regs->psw).per; in arch_uprobe_pre_xol() 39 regs->psw.addr = current->utask->xol_vaddr; in arch_uprobe_pre_xol() 57 if (!(regs->psw.mask & PSW_MASK_PER)) in check_per_event() 71 regs->psw.addr >= current->thread.per_user.start && in check_per_event() 72 regs->psw.addr <= current->thread.per_user.end) in check_per_event() 85 psw_bits(regs->psw).per = auprobe->saved_per; in arch_uprobe_post_xol() 89 regs->psw.addr += utask->vaddr - utask->xol_vaddr; in arch_uprobe_post_xol() 98 if (regs->psw.addr - utask->xol_vaddr == ilen) in arch_uprobe_post_xol() [all …]
|
H A D | signal.c | 127 user_sregs.regs.psw.mask = PSW_USER_BITS | in save_sigregs() 128 (regs->psw.mask & (PSW_MASK_USER | PSW_MASK_RI)); in save_sigregs() 129 user_sregs.regs.psw.addr = regs->psw.addr; in save_sigregs() 149 if (!is_ri_task(current) && (user_sregs.regs.psw.mask & PSW_MASK_RI)) in restore_sigregs() 157 regs->psw.mask = (regs->psw.mask & ~(PSW_MASK_USER | PSW_MASK_RI)) | in restore_sigregs() 158 (user_sregs.regs.psw.mask & (PSW_MASK_USER | PSW_MASK_RI)); in restore_sigregs() 160 if ((regs->psw.mask & PSW_MASK_ASC) == PSW_ASC_HOME) in restore_sigregs() 161 regs->psw.mask = PSW_ASC_PRIMARY | in restore_sigregs() 162 (regs->psw.mask & ~PSW_MASK_ASC); in restore_sigregs() 164 if (regs->psw.mask & PSW_MASK_EA) in restore_sigregs() [all …]
|
H A D | compat_signal.c | 72 user_sregs.regs.psw.mask = (__u32)(regs->psw.mask >> 32); in save_sigregs32() 73 user_sregs.regs.psw.mask &= PSW32_MASK_USER | PSW32_MASK_RI; in save_sigregs32() 74 user_sregs.regs.psw.mask |= PSW32_USER_BITS; in save_sigregs32() 75 user_sregs.regs.psw.addr = (__u32) regs->psw.addr | in save_sigregs32() 76 (__u32)(regs->psw.mask & PSW_MASK_BA); in save_sigregs32() 98 if (!is_ri_task(current) && (user_sregs.regs.psw.mask & PSW32_MASK_RI)) in restore_sigregs32() 106 regs->psw.mask = (regs->psw.mask & ~(PSW_MASK_USER | PSW_MASK_RI)) | in restore_sigregs32() 107 (__u64)(user_sregs.regs.psw.mask & PSW32_MASK_USER) << 32 | in restore_sigregs32() 108 (__u64)(user_sregs.regs.psw.mask & PSW32_MASK_RI) << 32 | in restore_sigregs32() 109 (__u64)(user_sregs.regs.psw.addr & PSW32_ADDR_AMODE); in restore_sigregs32() [all …]
|
H A D | kprobes.c | 236 kcb->kprobe_saved_imask = regs->psw.mask & in enable_singlestep() 241 regs->psw.mask |= PSW_MASK_PER; in enable_singlestep() 242 regs->psw.mask &= ~(PSW_MASK_IO | PSW_MASK_EXT); in enable_singlestep() 243 regs->psw.addr = ip; in enable_singlestep() 253 regs->psw.mask &= ~PSW_MASK_PER; in disable_singlestep() 254 regs->psw.mask |= kcb->kprobe_saved_imask; in disable_singlestep() 255 regs->psw.addr = ip; in disable_singlestep() 319 p = get_kprobe((void *)(regs->psw.addr - 2)); in kprobe_handler() 376 unsigned long ip = regs->psw.addr; in resume_execution() 419 if (regs->psw.mask & PSW_MASK_PER) in post_kprobe_handler() [all …]
|
/openbmc/linux/arch/s390/boot/ |
H A D | pgm_check_info.c | 149 struct psw_bits *psw = &psw_bits(S390_lowcore.psw_save_area); in print_pgm_check_info() local 164 psw->per, psw->dat, psw->io, psw->ext, psw->key, psw->mcheck, in print_pgm_check_info() 165 psw->wait, psw->pstate, psw->as, psw->cc, psw->pm, psw->ri, in print_pgm_check_info() 166 psw->eaba); in print_pgm_check_info()
|
/openbmc/qemu/linux-user/s390x/ |
H A D | cpu_loop.c | 80 env->psw.addr += env->int_svc_ilen; in cpu_loop() 85 env->psw.addr -= env->int_svc_ilen; in cpu_loop() 162 addr = env->psw.addr; in cpu_loop() 166 env->psw.addr += env->int_pgm_ilen; in cpu_loop() 189 env->psw.mask = regs->psw.mask; in target_cpu_copy_regs() 190 env->psw.addr = regs->psw.addr; in target_cpu_copy_regs()
|
H A D | signal.c | 37 target_psw_t psw; member 134 __put_user(psw_mask, &sregs->regs.psw.mask); in save_sigregs() 135 __put_user(env->psw.addr, &sregs->regs.psw.addr); in save_sigregs() 222 env->psw.mask = PSW_MASK_64 | PSW_MASK_32 | PSW_ASC_PRIMARY in setup_frame() 223 | (env->psw.mask & ~PSW_MASK_ASC); in setup_frame() 224 env->psw.addr = ka->_sa_handler; in setup_frame() 288 env->psw.mask = PSW_MASK_64 | PSW_MASK_32 | PSW_ASC_PRIMARY in setup_rt_frame() 289 | (env->psw.mask & ~PSW_MASK_ASC); in setup_rt_frame() 290 env->psw.addr = ka->_sa_handler; in setup_rt_frame() 307 prev_addr = env->psw.addr; in restore_sigregs() [all …]
|
/openbmc/qemu/target/s390x/tcg/ |
H A D | excp_helper.c | 43 env->psw.addr); in tcg_s390_program_interrupt() 159 if (!(env->psw.mask & PSW_MASK_64)) { in s390_cpu_tlb_fill() 165 if (!(env->psw.mask & PSW_MASK_64)) { in s390_cpu_tlb_fill() 255 env->psw.addr += ilen; in do_program_interrupt() 260 __func__, env->int_pgm_code, ilen, env->psw.mask, in do_program_interrupt() 261 env->psw.addr); in do_program_interrupt() 280 lowcore->program_old_psw.addr = cpu_to_be64(env->psw.addr); in do_program_interrupt() 300 lowcore->svc_old_psw.addr = cpu_to_be64(env->psw.addr + env->int_svc_ilen); in do_svc_interrupt() 327 if (!(env->psw.mask & PSW_MASK_EXT)) { in do_ext_interrupt() 376 lowcore->external_old_psw.addr = cpu_to_be64(env->psw.addr); in do_ext_interrupt() [all …]
|
H A D | cc_helper.c | 490 if (!(env->psw.mask & PSW_MASK_DAT)) { in HELPER() 496 env->psw.mask &= ~PSW_MASK_ASC; in HELPER() 497 env->psw.mask |= PSW_ASC_PRIMARY; in HELPER() 500 env->psw.mask &= ~PSW_MASK_ASC; in HELPER() 501 env->psw.mask |= PSW_ASC_SECONDARY; in HELPER() 504 if ((env->psw.mask & PSW_MASK_PSTATE) != 0) { in HELPER() 507 env->psw.mask &= ~PSW_MASK_ASC; in HELPER() 508 env->psw.mask |= PSW_ASC_HOME; in HELPER()
|
/openbmc/qemu/target/s390x/ |
H A D | cpu.c | 70 uint64_t old_mask = env->psw.mask; in s390_cpu_set_psw() 73 env->psw.addr = addr; in s390_cpu_set_psw() 74 env->psw.mask = mask; in s390_cpu_set_psw() 101 uint64_t r = env->psw.mask; in s390_cpu_get_psw_mask() 119 cpu->env.psw.addr = value; in s390_cpu_set_pc() 126 return cpu->env.psw.addr; in s390_cpu_get_pc() 211 env->psw.mask &= ~PSW_MASK_RI; in s390_cpu_reset_hold() 328 if (env->psw.addr & 1) { in cpu_get_tb_cpu_state() 337 *pc = env->psw.addr; in cpu_get_tb_cpu_state() 340 flags = (env->psw.mask >> FLAG_MASK_PSW_SHIFT) & FLAG_MASK_PSW; in cpu_get_tb_cpu_state() [all …]
|
H A D | helper.c | 47 uint64_t asc = env->psw.mask & PSW_MASK_ASC; in s390_cpu_get_phys_page_debug() 51 if (!(env->psw.mask & PSW_MASK_64)) { in s390_cpu_get_phys_page_debug() 93 if (is_special_wait_psw(cpu->env.psw.addr)) { in s390_handle_wait() 129 lowcore->restart_old_psw.addr = cpu_to_be64(env->psw.addr); in do_restart_interrupt() 149 if (!(env->psw.mask & PSW_MASK_PER)) { in s390_cpu_recompute_watchpoints() 180 PSW psw; /* 0x0100 */ member 224 sa->psw.addr = cpu_to_be64(cpu->env.psw.addr); in s390_store_status() 225 sa->psw.mask = cpu_to_be64(s390_cpu_get_psw_mask(&cpu->env)); in s390_store_status()
|
H A D | cpu-sysemu.c | 50 cpu->env.psw.mask = spsw & PSW_MASK_SHORT_CTRL; in s390_cpu_load_normal() 55 cpu->env.psw.mask ^= PSW_MASK_SHORTPSW; in s390_cpu_load_normal() 56 cpu->env.psw.addr = spsw & PSW_MASK_SHORT_ADDR; in s390_cpu_load_normal() 84 panic_info->u.s390.psw_mask = cpu->env.psw.mask; in s390_cpu_get_crash_info() 85 panic_info->u.s390.psw_addr = cpu->env.psw.addr; in s390_cpu_get_crash_info() 177 return cpu->halted && !(S390_CPU(cpu)->env.psw.mask & in disabled_wait() 241 if (!tcg_enabled() || !(cpu->env.psw.mask & PSW_MASK_WAIT)) { in s390_cpu_set_state()
|
/openbmc/linux/arch/sh/boards/mach-highlander/ |
H A D | psw.c | 19 struct push_switch *psw = platform_get_drvdata(pdev); in psw_irq_handler() local 27 if (psw->state) { in psw_irq_handler() 35 psw->state = !!(mask & (1 << psw_info->bit)); in psw_irq_handler() 36 if (psw->state) /* debounce */ in psw_irq_handler() 37 mod_timer(&psw->debounce, jiffies + 50); in psw_irq_handler()
|
/openbmc/qemu/tests/tcg/tricore/asm/ |
H A D | macros.h | 67 mfcr DREG_CALC_PSW, $psw; \ 108 #define TEST_D_D_PSW(insn, num, result, psw, rs1) \ argument 109 TEST_CASE_PSW(num, DREG_CALC_RESULT, result, psw, \ 124 #define TEST_D_DD_PSW(insn, num, result, psw, rs1, rs2) \ argument 125 TEST_CASE_PSW(num, DREG_CALC_RESULT, result, psw, \ 132 #define TEST_D_DDD_PSW(insn, num, result, psw, rs1, rs2, rs3) \ argument 133 TEST_CASE_PSW(num, DREG_CALC_RESULT, result, psw, \ 149 #define TEST_D_DDI_PSW(insn, num, result, psw, rs1, rs2, imm) \ argument 150 TEST_CASE_PSW(num, DREG_CALC_RESULT, result, psw, \
|
/openbmc/linux/arch/sh/boards/mach-landisk/ |
H A D | psw.c | 20 struct push_switch *psw = platform_get_drvdata(pdev); in psw_irq_handler() local 28 if (psw->state) { in psw_irq_handler() 35 psw->state = 1; in psw_irq_handler() 36 mod_timer(&psw->debounce, jiffies + 50); in psw_irq_handler()
|
/openbmc/linux/arch/s390/mm/ |
H A D | extable.c | 25 regs->psw.addr = extable_fixup(ex); in ex_handler_fixup() 34 regs->psw.addr = extable_fixup(ex); in ex_handler_ua_store() 46 regs->psw.addr = extable_fixup(ex); in ex_handler_ua_load_mem() 60 regs->psw.addr = extable_fixup(ex); in ex_handler_ua_load_reg()
|