Home
last modified time | relevance | path

Searched refs:sie_block (Results 1 – 22 of 22) sorted by relevance

/linux/arch/s390/kvm/
H A Dintercept.c28 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 Dguestdbg.c62 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 Dpriv.c39 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 Dkvm-s390.h54 #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 Dkvm-s390.c311 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 Dinterrupt.c98 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 Ddiag.c43 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 Dtrace-s390.h44 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 Dsigp.c76 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 Dgaccess.h89 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 Dgaccess.c253 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 Dpv.c246 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 Dvsie.c326 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 Dtrace.h27 __entry->pswmask = vcpu->arch.sie_block->gpsw.mask; \
28 __entry->pswaddr = vcpu->arch.sie_block->gpsw.addr; \
H A Dgmap.c29 return vcpu->arch.sie_block->prog0c & PROG_IN_SIE; in kvm_s390_is_in_sie()
/linux/tools/testing/selftests/kvm/s390/
H A Ducontrol_test.c107 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 Ddebug_print.h43 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 Dkvm_host_types.h109 #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 Dkvm_host.h417 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 Dperf_event.c26 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 Dnmi.c338 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 Dvfio_ap_ops.c594 if (!(vcpu->arch.sie_block->eca & ECA_AIV)) { in handle_pqap()
596 __func__, apqn, vcpu->arch.sie_block->eca); in handle_pqap()