| /linux/arch/s390/kvm/ |
| H A D | intercept.c | 28 struct kvm_s390_sie_block *sie_block = vcpu->arch.sie_block; in kvm_s390_get_ilen() local 31 switch (vcpu->arch.sie_block->icptcode) { in kvm_s390_get_ilen() 38 ilen = insn_length(vcpu->arch.sie_block->ipa >> 8); in kvm_s390_get_ilen() 40 if (sie_block->icptstatus & 1) { in kvm_s390_get_ilen() 41 ilen = (sie_block->icptstatus >> 4) & 0x6; in kvm_s390_get_ilen() 48 ilen = vcpu->arch.sie_block->pgmilc & 0x6; in kvm_s390_get_ilen() 94 int viwhy = vcpu->arch.sie_block->ipb >> 16; in handle_validity() 111 vcpu->arch.sie_block->ipa, in handle_instruction() 112 vcpu->arch.sie_block->ipb); in handle_instruction() 114 switch (vcpu->arch.sie_block->ipa >> 8) { in handle_instruction() [all …]
|
| H A D | guestdbg.c | 62 u64 *cr9 = &vcpu->arch.sie_block->gcr[9]; in enable_all_hw_bp() 63 u64 *cr10 = &vcpu->arch.sie_block->gcr[10]; in enable_all_hw_bp() 64 u64 *cr11 = &vcpu->arch.sie_block->gcr[11]; in enable_all_hw_bp() 102 u64 *cr9 = &vcpu->arch.sie_block->gcr[9]; in enable_all_hw_wp() 103 u64 *cr10 = &vcpu->arch.sie_block->gcr[10]; in enable_all_hw_wp() 104 u64 *cr11 = &vcpu->arch.sie_block->gcr[11]; in enable_all_hw_wp() 132 vcpu->arch.guestdbg.cr0 = vcpu->arch.sie_block->gcr[0]; in kvm_s390_backup_guest_per_regs() 133 vcpu->arch.guestdbg.cr9 = vcpu->arch.sie_block->gcr[9]; in kvm_s390_backup_guest_per_regs() 134 vcpu->arch.guestdbg.cr10 = vcpu->arch.sie_block->gcr[10]; in kvm_s390_backup_guest_per_regs() 135 vcpu->arch.guestdbg.cr11 = vcpu->arch.sie_block->gcr[11]; in kvm_s390_backup_guest_per_regs() [all …]
|
| H A D | priv.c | 39 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri() 48 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa() 65 vcpu->arch.sie_block->ecb |= ECB_GS; in handle_gs() 66 vcpu->arch.sie_block->ecd |= ECD_HOSTREGMGMT; in handle_gs() 76 int code = vcpu->arch.sie_block->ipb & 0xff; in kvm_s390_handle_e3() 93 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_set_clock() 132 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_set_prefix() 170 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_store_prefix() 200 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_store_cpu_address() 234 vcpu->arch.sie_block->ictl |= ICTL_ISKE | ICTL_SSKE | ICTL_RRBE; in kvm_s390_skey_check_enable() [all …]
|
| H A D | kvm-s390.h | 54 #define IS_TE_ENABLED(vcpu) ((vcpu->arch.sie_block->ecb & ECB_TE)) 57 ((*(char *)phys_to_virt((vcpu)->arch.sie_block->itdba) == TDB_FORMAT1)) 87 d_vcpu->arch.sie_block->gpsw.mask, d_vcpu->arch.sie_block->gpsw.addr,\ 93 atomic_or(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_set_cpuflags() 98 atomic_andnot(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_clear_cpuflags() 103 return (atomic_read(&vcpu->arch.sie_block->cpuflags) & flags) == flags; in kvm_s390_test_cpuflags() 128 return vcpu->arch.sie_block->prefix << GUEST_PREFIX_SHIFT; in kvm_s390_get_prefix() 135 vcpu->arch.sie_block->prefix = prefix >> GUEST_PREFIX_SHIFT; in kvm_s390_set_prefix() 142 u32 base2 = vcpu->arch.sie_block->ipb >> 28; in kvm_s390_get_base_disp_s() 143 u32 disp2 = ((vcpu->arch.sie_block->ipb & 0x0fff0000) >> 16); in kvm_s390_get_base_disp_s() [all …]
|
| H A D | kvm-s390.c | 311 kvm_clock_sync_scb(vcpu->arch.sie_block, *delta); in kvm_clock_sync() 313 kvm->arch.epoch = vcpu->arch.sie_block->epoch; in kvm_clock_sync() 314 kvm->arch.epdx = vcpu->arch.sie_block->epdx; in kvm_clock_sync() 1120 vcpu->arch.sie_block->ecb2 |= ECB2_ZPCI_LSI; in kvm_s390_vcpu_pci_setup() 1121 vcpu->arch.sie_block->ecb3 |= ECB3_AISII + ECB3_AISI; in kvm_s390_vcpu_pci_setup() 3329 free_page((unsigned long)(vcpu->arch.sie_block)); in kvm_arch_vcpu_destroy() 3382 vcpu->arch.sie_block->scaoh = sca_phys >> 32; in sca_add_vcpu() 3383 vcpu->arch.sie_block->scaol = sca_phys & ESCA_SCAOL_MASK; in sca_add_vcpu() 3384 vcpu->arch.sie_block->ecb2 |= ECB2_ESCA; in sca_add_vcpu() 3390 sca->cpu[vcpu->vcpu_id].sda = virt_to_phys(vcpu->arch.sie_block); in sca_add_vcpu() [all …]
|
| H A D | interrupt.c | 98 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_EXT); in psw_extint_disabled() 103 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_IO); in psw_ioint_disabled() 108 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_MCHECK); in psw_mchk_disabled() 121 !(vcpu->arch.sie_block->gcr[0] & CR0_CLOCK_COMPARATOR_SUBMASK)) in ckc_interrupts_enabled() 132 const u64 ckc = vcpu->arch.sie_block->ckc; in ckc_irq_pending() 134 if (vcpu->arch.sie_block->gcr[0] & CR0_CLOCK_COMPARATOR_SIGN) { in ckc_irq_pending() 146 (vcpu->arch.sie_block->gcr[0] & CR0_CPU_TIMER_SUBMASK); in cpu_timer_interrupts_enabled() 303 if (!(vcpu->arch.sie_block->gcr[6] & isc_to_isc_bits(i))) in disable_iscs() 323 if (!(vcpu->arch.sie_block->gcr[0] & CR0_EXTERNAL_CALL_SUBMASK)) in deliverable_irqs() 325 if (!(vcpu->arch.sie_block->gcr[0] & CR0_EMERGENCY_SIGNAL_SUBMASK)) in deliverable_irqs() [all …]
|
| H A D | diag.c | 43 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages() 44 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE; in diag_release_pages() 92 u16 rx = (vcpu->arch.sie_block->ipa & 0xf0) >> 4; in __diag_page_ref_service() 93 u16 ry = (vcpu->arch.sie_block->ipa & 0x0f); in __diag_page_ref_service() 192 tid = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in __diag_time_slice_end_directed() 234 unsigned int reg = vcpu->arch.sie_block->ipa & 0xf; in __diag_ipl_functions() 306 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in kvm_s390_handle_diag()
|
| H A D | trace-s390.h | 44 struct kvm_s390_sie_block *sie_block), 45 TP_ARGS(id, vcpu, sie_block), 50 __field(struct kvm_s390_sie_block *, sie_block) 56 __entry->sie_block = sie_block; 60 __entry->id, __entry->vcpu, __entry->sie_block)
|
| H A D | sigp.c | 76 psw = &dst_vcpu->arch.sie_block->gpsw; in __sigp_conditional_emergency() 77 p_asn = dst_vcpu->arch.sie_block->gcr[4] & 0xffff; /* Primary ASN */ in __sigp_conditional_emergency() 78 s_asn = dst_vcpu->arch.sie_block->gcr[3] & 0xffff; /* Secondary ASN */ in __sigp_conditional_emergency() 427 int r1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4; in kvm_s390_handle_sigp() 428 int r3 = vcpu->arch.sie_block->ipa & 0x000f; in kvm_s390_handle_sigp() 435 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in kvm_s390_handle_sigp() 478 int r3 = vcpu->arch.sie_block->ipa & 0x000f; in kvm_s390_handle_sigp_pei()
|
| H A D | gaccess.h | 89 return _kvm_s390_logical_to_effective(&vcpu->arch.sie_block->gpsw, ga); in kvm_s390_logical_to_effective() 281 u8 access_key = psw_bits(vcpu->arch.sie_block->gpsw).key; in write_guest() 325 u8 access_key = psw_bits(vcpu->arch.sie_block->gpsw).key; in read_guest() 348 u8 access_key = psw_bits(vcpu->arch.sie_block->gpsw).key; in read_guest_instr()
|
| H A D | gaccess.c | 253 asce->val = vcpu->arch.sie_block->gcr[1]; in ar_translation() 256 asce->val = vcpu->arch.sie_block->gcr[7]; in ar_translation() 264 ald_addr = vcpu->arch.sie_block->gcr[5]; in ar_translation() 266 ald_addr = vcpu->arch.sie_block->gcr[2]; in ar_translation() 299 eax = (vcpu->arch.sie_block->gcr[8] >> 16) & 0xffff; in ar_translation() 386 teid->as = psw_bits(vcpu->arch.sie_block->gpsw).as; in trans_exc_ending() 414 struct psw_bits psw = psw_bits(vcpu->arch.sie_block->gpsw); in get_vcpu_asce() 427 asce->val = vcpu->arch.sie_block->gcr[1]; in get_vcpu_asce() 430 asce->val = vcpu->arch.sie_block->gcr[7]; in get_vcpu_asce() 433 asce->val = vcpu->arch.sie_block->gcr[13]; in get_vcpu_asce() [all …]
|
| H A D | pv.c | 246 free_page((unsigned long)sida_addr(vcpu->arch.sie_block)); in kvm_s390_pv_destroy_cpu() 247 vcpu->arch.sie_block->pv_handle_cpu = 0; in kvm_s390_pv_destroy_cpu() 248 vcpu->arch.sie_block->pv_handle_config = 0; in kvm_s390_pv_destroy_cpu() 250 vcpu->arch.sie_block->sdf = 0; in kvm_s390_pv_destroy_cpu() 256 vcpu->arch.sie_block->gbea = 1; in kvm_s390_pv_destroy_cpu() 281 uvcb.num = vcpu->arch.sie_block->icpua; in kvm_s390_pv_create_cpu() 282 uvcb.state_origin = virt_to_phys(vcpu->arch.sie_block); in kvm_s390_pv_create_cpu() 292 vcpu->arch.sie_block->sidad = virt_to_phys(sida_addr); in kvm_s390_pv_create_cpu() 311 vcpu->arch.sie_block->pv_handle_cpu = uvcb.cpu_handle; in kvm_s390_pv_create_cpu() 312 vcpu->arch.sie_block->pv_handle_config = kvm_s390_pv_get_handle(vcpu->kvm); in kvm_s390_pv_create_cpu() [all …]
|
| H A D | vsie.c | 326 int fmt_h = vcpu->arch.sie_block->crycbd & CRYCB_FORMAT_MASK; in shadow_crycb() 331 apie_h = vcpu->arch.sie_block->eca & ECA_APIE; in shadow_crycb() 354 ecb3_flags = scb_o->ecb3 & vcpu->arch.sie_block->ecb3 & in shadow_crycb() 356 ecd_flags = scb_o->ecd & vcpu->arch.sie_block->ecd & in shadow_crycb() 1048 cr0.val = vcpu->arch.sie_block->gcr[0]; in vsie_handle_mvpg() 1143 vcpu->arch.sie_block->fpf & FPF_BPBC) in do_vsie_run() 1152 vcpu->arch.sie_block->prog0c |= PROG_IN_SIE; in do_vsie_run() 1174 vcpu->arch.sie_block->prog0c &= ~PROG_IN_SIE; in do_vsie_run() 1239 asce.val = vcpu->arch.sie_block->gcr[1]; in acquire_gmap_shadow() 1240 cr0.val = vcpu->arch.sie_block->gcr[0]; in acquire_gmap_shadow() [all …]
|
| H A D | trace.h | 27 __entry->pswmask = vcpu->arch.sie_block->gpsw.mask; \ 28 __entry->pswaddr = vcpu->arch.sie_block->gpsw.addr; \
|
| H A D | gmap.c | 29 return vcpu->arch.sie_block->prog0c & PROG_IN_SIE; in kvm_s390_is_in_sie()
|
| /linux/tools/testing/selftests/kvm/s390/ |
| H A D | ucontrol_test.c | 107 struct kvm_s390_sie_block *sie_block; in FIXTURE() local 153 self->sie_block = __kvm_mmap(PAGE_SIZE, PROT_READ | PROT_WRITE, in FIXTURE_SETUP() 157 TH_LOG("VM created %p %p", self->run, self->sie_block); in FIXTURE_SETUP() 182 self->sie_block->cpuflags &= ~CPUSTAT_STOPPED; in FIXTURE_SETUP() 187 kvm_munmap(self->sie_block, PAGE_SIZE); in FIXTURE_TEARDOWN() 198 EXPECT_EQ(0, self->sie_block->ecb & ECB_SPECI); in TEST_F() 332 struct kvm_s390_sie_block *sie_block = self->sie_block; in uc_skey_enable() local 335 sie_block->cpuflags &= ~CPUSTAT_KSS; in uc_skey_enable() 337 sie_block->ictl &= ~(ICTL_ISKE | ICTL_SSKE | ICTL_RRBE); in uc_skey_enable() 346 struct kvm_s390_sie_block *sie_block = self->sie_block; in uc_handle_insn_ic() local [all …]
|
| /linux/tools/testing/selftests/kvm/include/s390/ |
| H A D | debug_print.h | 43 static inline void print_psw(struct kvm_run *run, struct kvm_s390_sie_block *sie_block) in print_psw() argument 50 sie_block->psw_mask, sie_block->psw_addr); in print_psw() 53 static inline void print_run(struct kvm_run *run, struct kvm_s390_sie_block *sie_block) in print_run() argument 56 print_hex("sie_block", (u64)sie_block); in print_run() 57 print_psw(run, sie_block); in print_run()
|
| /linux/arch/s390/include/asm/ |
| H A D | kvm_host_types.h | 109 #define sida_addr(sie_block) phys_to_virt((sie_block)->sidad & PAGE_MASK) argument 110 #define sida_size(sie_block) \ argument 111 ((((sie_block)->sidad & SIDAD_SIZE_MASK) + 1) * PAGE_SIZE) 339 struct kvm_s390_sie_block sie_block; member
|
| H A D | kvm_host.h | 417 struct kvm_s390_sie_block *sie_block; member 716 int __sie64a(phys_addr_t sie_block_phys, struct kvm_s390_sie_block *sie_block, u64 *rsa, 719 static inline int sie64a(struct kvm_s390_sie_block *sie_block, u64 *rsa, unsigned long gasce) in sie64a() argument 721 return __sie64a(virt_to_phys(sie_block), sie_block, rsa, gasce); in sie64a()
|
| /linux/arch/s390/kernel/ |
| H A D | perf_event.c | 26 static struct kvm_s390_sie_block *sie_block(struct pt_regs *regs) in sie_block() function 49 return sie_block(regs)->gpsw.mask & PSW_MASK_PSTATE; in guest_is_user_mode() 54 return sie_block(regs)->gpsw.addr; in instruction_pointer_guest()
|
| H A D | nmi.c | 338 struct kvm_s390_sie_block *sie_block = phys_to_virt(regs->gprs[14]); in s390_backup_mcck_info() local 340 if (sie_block == NULL) in s390_backup_mcck_info() 344 sie_page = container_of(sie_block, struct sie_page, sie_block); in s390_backup_mcck_info()
|
| /linux/drivers/s390/crypto/ |
| H A D | vfio_ap_ops.c | 594 if (!(vcpu->arch.sie_block->eca & ECA_AIV)) { in handle_pqap() 596 __func__, apqn, vcpu->arch.sie_block->eca); in handle_pqap()
|