IRTE[GALogIntr] bit should set when enabling guest_mode, which enables IOMMU to generate entry in GALog when IRTE[IsRun] is not set, and send an interrupt to notify IOMMU driver.
Unified · Split
| @@ -4452,6 +4452,7 @@ static int amd_ir_set_vcpu_affinity(struct irq_data *data, void *vcpu_info) · 4451 unmodified lines | ||
| 4452 | 4452 | /* Setting */ |
| 4453 | 4453 | irte->hi.fields.ga_root_ptr = (pi_data->base >> 12); |
| 4454 | 4454 | irte->hi.fields.vector = vcpu_pi_info->vector; |
| 4455 | + irte->lo.fields_vapic.ga_log_intr = 1; | |
| 4455 | 4456 | irte->lo.fields_vapic.guest_mode = 1; |
| 4456 | 4457 | irte->lo.fields_vapic.ga_tag = pi_data->ga_tag; |
| 4457 | 4458 | |