Home
last modified time | relevance | path

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

/linux-6.12.1/arch/s390/kvm/
Dintercept.c27 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 …]
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 …]
Dkvm-s390.h42 #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 …]
Dpriv.c38 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 …]
Dkvm-s390.c310 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 …]
Dinterrupt.c152 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 …]
Ddiag.c25 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()
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)
Dgaccess.c242 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 …]
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()
Dpv.c84 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 …]
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()
Dvsie.c308 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 …]
Dtrace.h27 __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/
Ducontrol_test.c63 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/
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-6.12.1/arch/s390/include/asm/
Dkvm_host.h144 #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/
Dnmi.c274 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()
Dperf_event.c29 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/
Dvfio_ap_ops.c582 if (!(vcpu->arch.sie_block->eca & ECA_AIV)) { in handle_pqap()
584 __func__, apqn, vcpu->arch.sie_block->eca); in handle_pqap()