On Mon, 23 Jul 2012 17:27:47 +0300 Avi Kivity <avi@xxxxxxxxxx> wrote: > On 07/23/2012 04:55 PM, Cornelia Huck wrote: > >> > Basically, we have some flags in our control block we can set so that > >> > the cpu drops out of SIE whenever external/I/O/... interrupts are > >> > enabled and then have the host do the lowcore updates, psw swaps, etc. > >> > >> Can you write them from a different cpu and expect them to take effect? > >> > >> How do you emulate an interrupt with a large guest? You have to update > >> the flags in the control blocks for all vcpus; then restore them when > >> the interrupt is delivered? > > > > We may access the flags for any vcpu via the kvm_s390_float_interrupt > > structure which is contained in kvm->arch. > > > > We'll get control when a vcpu enters a wait state and try to deliver > > pending interrupts or set/clear the flags. Moreover, idle vcpus are on > > a wait queue and are the first target for getting an interrupt injected. > > Okay. And you can ask a vcpu to exit when it enables interrupts, > without interrupting it? Yes. See arch/s390/kvm/interrupt.c and the CPUSTAT_* flags. > > On x86, we have to IPI the vcpu so it drops to the host, ask it to let > us know when interrupts are enabled, and let it run again. > Cornelia -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html