/linux-6.12.1/arch/s390/kvm/ |
D | intercept.c | 27 struct kvm_s390_sie_block *sie_block = vcpu->arch.sie_block; in kvm_s390_get_ilen() local 30 switch (vcpu->arch.sie_block->icptcode) { in kvm_s390_get_ilen() 37 ilen = insn_length(vcpu->arch.sie_block->ipa >> 8); in kvm_s390_get_ilen() 39 if (sie_block->icptstatus & 1) { in kvm_s390_get_ilen() 40 ilen = (sie_block->icptstatus >> 4) & 0x6; in kvm_s390_get_ilen() 47 ilen = vcpu->arch.sie_block->pgmilc & 0x6; in kvm_s390_get_ilen() 93 int viwhy = vcpu->arch.sie_block->ipb >> 16; in handle_validity() 110 vcpu->arch.sie_block->ipa, in handle_instruction() 111 vcpu->arch.sie_block->ipb); in handle_instruction() 113 switch (vcpu->arch.sie_block->ipa >> 8) { in handle_instruction() [all …]
|
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 …]
|
D | kvm-s390.h | 42 #define IS_TE_ENABLED(vcpu) ((vcpu->arch.sie_block->ecb & ECB_TE)) 45 ((*(char *)phys_to_virt((vcpu)->arch.sie_block->itdba) == TDB_FORMAT1)) 75 d_vcpu->arch.sie_block->gpsw.mask, d_vcpu->arch.sie_block->gpsw.addr,\ 81 atomic_or(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_set_cpuflags() 86 atomic_andnot(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_clear_cpuflags() 91 return (atomic_read(&vcpu->arch.sie_block->cpuflags) & flags) == flags; in kvm_s390_test_cpuflags() 118 return vcpu->arch.sie_block->prefix << GUEST_PREFIX_SHIFT; in kvm_s390_get_prefix() 125 vcpu->arch.sie_block->prefix = prefix >> GUEST_PREFIX_SHIFT; in kvm_s390_set_prefix() 132 u32 base2 = vcpu->arch.sie_block->ipb >> 28; in kvm_s390_get_base_disp_s() 133 u32 disp2 = ((vcpu->arch.sie_block->ipb & 0x0fff0000) >> 16); in kvm_s390_get_base_disp_s() [all …]
|
D | priv.c | 38 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri() 47 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa() 64 vcpu->arch.sie_block->ecb |= ECB_GS; in handle_gs() 65 vcpu->arch.sie_block->ecd |= ECD_HOSTREGMGMT; in handle_gs() 75 int code = vcpu->arch.sie_block->ipb & 0xff; in kvm_s390_handle_e3() 92 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_set_clock() 131 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_set_prefix() 169 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_store_prefix() 199 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_store_cpu_address() 233 vcpu->arch.sie_block->ictl |= ICTL_ISKE | ICTL_SSKE | ICTL_RRBE; in kvm_s390_skey_check_enable() [all …]
|
D | kvm-s390.c | 310 kvm_clock_sync_scb(vcpu->arch.sie_block, *delta); in kvm_clock_sync() 312 kvm->arch.epoch = vcpu->arch.sie_block->epoch; in kvm_clock_sync() 313 kvm->arch.epdx = vcpu->arch.sie_block->epdx; in kvm_clock_sync() 1106 vcpu->arch.sie_block->ecb2 |= ECB2_ZPCI_LSI; in kvm_s390_vcpu_pci_setup() 1107 vcpu->arch.sie_block->ecb3 |= ECB3_AISII + ECB3_AISI; in kvm_s390_vcpu_pci_setup() 3455 free_page((unsigned long)(vcpu->arch.sie_block)); in kvm_arch_vcpu_destroy() 3526 vcpu->arch.sie_block->scaoh = sca_phys >> 32; in sca_add_vcpu() 3527 vcpu->arch.sie_block->scaol = sca_phys; in sca_add_vcpu() 3535 sca->cpu[vcpu->vcpu_id].sda = virt_to_phys(vcpu->arch.sie_block); in sca_add_vcpu() 3536 vcpu->arch.sie_block->scaoh = sca_phys >> 32; in sca_add_vcpu() [all …]
|
D | interrupt.c | 152 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_EXT); in psw_extint_disabled() 157 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_IO); in psw_ioint_disabled() 162 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_MCHECK); in psw_mchk_disabled() 175 !(vcpu->arch.sie_block->gcr[0] & CR0_CLOCK_COMPARATOR_SUBMASK)) in ckc_interrupts_enabled() 186 const u64 ckc = vcpu->arch.sie_block->ckc; in ckc_irq_pending() 188 if (vcpu->arch.sie_block->gcr[0] & CR0_CLOCK_COMPARATOR_SIGN) { in ckc_irq_pending() 200 (vcpu->arch.sie_block->gcr[0] & CR0_CPU_TIMER_SUBMASK); in cpu_timer_interrupts_enabled() 357 if (!(vcpu->arch.sie_block->gcr[6] & isc_to_isc_bits(i))) in disable_iscs() 377 if (!(vcpu->arch.sie_block->gcr[0] & CR0_EXTERNAL_CALL_SUBMASK)) in deliverable_irqs() 379 if (!(vcpu->arch.sie_block->gcr[0] & CR0_EMERGENCY_SIGNAL_SUBMASK)) in deliverable_irqs() [all …]
|
D | diag.c | 25 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages() 26 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE; in diag_release_pages() 72 u16 rx = (vcpu->arch.sie_block->ipa & 0xf0) >> 4; in __diag_page_ref_service() 73 u16 ry = (vcpu->arch.sie_block->ipa & 0x0f); in __diag_page_ref_service() 172 tid = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in __diag_time_slice_end_directed() 214 unsigned int reg = vcpu->arch.sie_block->ipa & 0xf; in __diag_ipl_functions() 286 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in kvm_s390_handle_diag()
|
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)
|
D | gaccess.c | 242 asce->val = vcpu->arch.sie_block->gcr[1]; in ar_translation() 245 asce->val = vcpu->arch.sie_block->gcr[7]; in ar_translation() 253 ald_addr = vcpu->arch.sie_block->gcr[5]; in ar_translation() 255 ald_addr = vcpu->arch.sie_block->gcr[2]; in ar_translation() 288 eax = (vcpu->arch.sie_block->gcr[8] >> 16) & 0xffff; in ar_translation() 375 teid->as = psw_bits(vcpu->arch.sie_block->gpsw).as; in trans_exc_ending() 403 struct psw_bits psw = psw_bits(vcpu->arch.sie_block->gpsw); in get_vcpu_asce() 416 asce->val = vcpu->arch.sie_block->gcr[1]; in get_vcpu_asce() 419 asce->val = vcpu->arch.sie_block->gcr[7]; in get_vcpu_asce() 422 asce->val = vcpu->arch.sie_block->gcr[13]; in get_vcpu_asce() [all …]
|
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()
|
D | pv.c | 84 free_page((unsigned long)sida_addr(vcpu->arch.sie_block)); in kvm_s390_pv_destroy_cpu() 85 vcpu->arch.sie_block->pv_handle_cpu = 0; in kvm_s390_pv_destroy_cpu() 86 vcpu->arch.sie_block->pv_handle_config = 0; in kvm_s390_pv_destroy_cpu() 88 vcpu->arch.sie_block->sdf = 0; in kvm_s390_pv_destroy_cpu() 94 vcpu->arch.sie_block->gbea = 1; in kvm_s390_pv_destroy_cpu() 119 uvcb.num = vcpu->arch.sie_block->icpua; in kvm_s390_pv_create_cpu() 120 uvcb.state_origin = virt_to_phys(vcpu->arch.sie_block); in kvm_s390_pv_create_cpu() 130 vcpu->arch.sie_block->sidad = virt_to_phys(sida_addr); in kvm_s390_pv_create_cpu() 149 vcpu->arch.sie_block->pv_handle_cpu = uvcb.cpu_handle; in kvm_s390_pv_create_cpu() 150 vcpu->arch.sie_block->pv_handle_config = kvm_s390_pv_get_handle(vcpu->kvm); in kvm_s390_pv_create_cpu() [all …]
|
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()
|
D | vsie.c | 308 int fmt_h = vcpu->arch.sie_block->crycbd & CRYCB_FORMAT_MASK; in shadow_crycb() 313 apie_h = vcpu->arch.sie_block->eca & ECA_APIE; in shadow_crycb() 336 ecb3_flags = scb_o->ecb3 & vcpu->arch.sie_block->ecb3 & in shadow_crycb() 338 ecd_flags = scb_o->ecd & vcpu->arch.sie_block->ecd & ECD_ECC; in shadow_crycb() 1043 cr0.val = vcpu->arch.sie_block->gcr[0]; in vsie_handle_mvpg() 1137 vcpu->arch.sie_block->fpf & FPF_BPBC) in do_vsie_run() 1150 vcpu->arch.sie_block->prog0c |= PROG_IN_SIE; in do_vsie_run() 1155 vcpu->arch.sie_block->prog0c &= ~PROG_IN_SIE; in do_vsie_run() 1216 asce = vcpu->arch.sie_block->gcr[1]; in acquire_gmap_shadow() 1217 cr0.val = vcpu->arch.sie_block->gcr[0]; in acquire_gmap_shadow() [all …]
|
D | trace.h | 27 __entry->pswmask = vcpu->arch.sie_block->gpsw.mask; \ 28 __entry->pswaddr = vcpu->arch.sie_block->gpsw.addr; \
|
/linux-6.12.1/tools/testing/selftests/kvm/s390x/ |
D | ucontrol_test.c | 63 struct kvm_s390_sie_block *sie_block; in FIXTURE() local 109 self->sie_block = (struct kvm_s390_sie_block *)mmap(NULL, PAGE_SIZE, in FIXTURE_SETUP() 112 ASSERT_NE(self->sie_block, MAP_FAILED); in FIXTURE_SETUP() 114 TH_LOG("VM created %p %p", self->run, self->sie_block); in FIXTURE_SETUP() 139 self->sie_block->cpuflags &= ~CPUSTAT_STOPPED; in FIXTURE_SETUP() 144 munmap(self->sie_block, PAGE_SIZE); in FIXTURE_TEARDOWN() 155 EXPECT_EQ(0, self->sie_block->ecb & ECB_SPECI); in TEST_F() 230 struct kvm_s390_sie_block *sie_block = self->sie_block; in uc_handle_sieic() local 245 TEST_FAIL("sie exception on %.4x%.8x", sie_block->ipa, sie_block->ipb); in uc_handle_sieic() 272 print_run(self->run, self->sie_block); in uc_run_once() [all …]
|
/linux-6.12.1/tools/testing/selftests/kvm/include/s390x/ |
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-6.12.1/arch/s390/include/asm/ |
D | kvm_host.h | 144 #define sida_addr(sie_block) phys_to_virt((sie_block)->sidad & PAGE_MASK) argument 145 #define sida_size(sie_block) \ argument 146 ((((sie_block)->sidad & SIDAD_SIZE_MASK) + 1) * PAGE_SIZE) 373 struct kvm_s390_sie_block sie_block; member 741 struct kvm_s390_sie_block *sie_block; member 1032 int __sie64a(phys_addr_t sie_block_phys, struct kvm_s390_sie_block *sie_block, u64 *rsa, 1035 static inline int sie64a(struct kvm_s390_sie_block *sie_block, u64 *rsa, unsigned long gasce) in sie64a() argument 1037 return __sie64a(virt_to_phys(sie_block), sie_block, rsa, gasce); in sie64a()
|
/linux-6.12.1/arch/s390/kernel/ |
D | nmi.c | 274 struct kvm_s390_sie_block *sie_block = phys_to_virt(regs->gprs[14]); in s390_backup_mcck_info() local 276 if (sie_block == NULL) in s390_backup_mcck_info() 280 sie_page = container_of(sie_block, struct sie_page, sie_block); in s390_backup_mcck_info()
|
D | perf_event.c | 29 static struct kvm_s390_sie_block *sie_block(struct pt_regs *regs) in sie_block() function 52 return sie_block(regs)->gpsw.mask & PSW_MASK_PSTATE; in guest_is_user_mode() 57 return sie_block(regs)->gpsw.addr; in instruction_pointer_guest()
|
/linux-6.12.1/drivers/s390/crypto/ |
D | vfio_ap_ops.c | 582 if (!(vcpu->arch.sie_block->eca & ECA_AIV)) { in handle_pqap() 584 __func__, apqn, vcpu->arch.sie_block->eca); in handle_pqap()
|