> > This only disable soft interrupt for kvmppc_restart_interrupt() that > > restarts interrupts if they were meant for the host: > > > > a. SOFT_DISABLE_INTS() only for BOOKE_INTERRUPT_EXTERNAL | > > BOOKE_INTERRUPT_DECREMENTER | BOOKE_INTERRUPT_DOORBELL > > Those aren't the only exceptions that can end up going to the host. We > could get a TLB miss that results in a heavyweight MMIO exit, etc. > > > And shouldn't we handle kvmppc_restart_interrupt() like the original > > HOST flow? > > > > #define MASKABLE_EXCEPTION(trapnum, intnum, label, hdlr, > > ack) \ > > > > START_EXCEPTION(label); \ > > NORMAL_EXCEPTION_PROLOG(trapnum, intnum, > > PROLOG_ADDITION_MASKABLE)\ > > EXCEPTION_COMMON(trapnum, PACA_EXGEN, > > *INTS_DISABLE*) \ > > ... > > Could you elaborate on what you mean?
I think Tiejun was saying that host has flags and replays only EE/DEC/DBELL interrupts. There is special macro masked_interrupt_book3e in those exception handlers that sets paca->irq_happened. The list of replied interrupts is limited to asynchronous noncritical interrupts which can be masked by MSR[EE] (therefore no TLB miss). Now on KVM book3e we don't want to put them in the irq_happened lazy state but rather to execute them directly, so there is no reason for exception handling symmetry between host and guest. -Mike _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev