On 07/25/2017 07:47 AM, Benjamin Herrenschmidt wrote: > On Tue, 2017-07-25 at 14:18 +1000, David Gibson wrote: >>> Well, at this point I think nothing will set that flag.... It's there >>> for workaround around HW bugs on some chips. At least in full emu it >>> shouldn't happen unless we try to emulate those bugs. Hopefully direct >>> MMIO will just work. >> >> Hm. That doesn't seem like a good match for a per-irq state >> structure. > > The flag is returned to the guest on a per-IRQ basis, so are the LSI > etc... flags, but at the HW level, indeed, they correspond to > attributes of blocks of interrupts. > > It might be easier in qemu to keep that in the per-source flags > though.
Theses flags are at the source level : XIVE_SRC_H_INT_ESB XIVE_SRC_TRIGGER XIVE_SRC_STORE_EOI The XIVE_SRC_LSI flag is only returned in the GET_SOURCE_INFO hcall but, internally, we use the ICSIRQState flags XICS_FLAGS_IRQ_LSI to store the information per-irq. Thanks, C. > Especially when we start having actual HW interrupts under the > hood with KVM. it's easier to keep the state self contained > for each of them. > > Ben. >