A write to IMC only cleared the bits in the mask. If the device was
asserting INTx for a cause that the write masked, the line stayed up
until the guest cleared the cause in ICR. The hardware deasserts INTx
as soon as no unmasked cause is left, and a guest may rely on that:
Windows masks all causes and unloads its driver when it shuts down, and
then spends its time in the handlers of whatever shares the interrupt.
Do what the comment in the code asked for.
Signed-off-by: Wanpeng Qian <wanpengqian@gmail.com>
Sponsored by: keelos.dev