On 27/11/2019 17:02, Jan Beulich wrote: > On 26.11.2019 16:01, Andrew Cooper wrote: >> @@ -560,18 +557,26 @@ static void parse_event_log_entry(struct amd_iommu >> *iommu, u32 entry[]) >> >> if ( code == IOMMU_EVENT_IO_PAGE_FAULT ) >> { >> - device_id = iommu_get_devid_from_event(entry[0]); >> - domain_id = get_field_from_reg_u32(entry[1], >> - IOMMU_EVENT_DOMAIN_ID_MASK, >> - IOMMU_EVENT_DOMAIN_ID_SHIFT); >> - flags = get_field_from_reg_u32(entry[1], >> - IOMMU_EVENT_FLAGS_MASK, >> - IOMMU_EVENT_FLAGS_SHIFT); >> - addr= (u64*) (entry + 2); >> - printk(XENLOG_ERR "AMD-Vi: " >> - "%s: domain = %d, device id = %#x, " >> - "fault address = %#"PRIx64", flags = %#x\n", >> - code_str, domain_id, device_id, *addr, flags); >> + unsigned int bdf; >> + uint16_t device_id = MASK_EXTR(entry[0], IOMMU_CMD_DEVICE_ID_MASK); > s/CMD/EVENT/ and then > Acked-by: Jan Beulich <jbeul...@suse.com>
Oops yes. That was a consequence of following #define iommu_get_devid_from_event iommu_get_devid_from_cmd to get the mask to use. These really need turning into structs, but that is a job for a different day. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel