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 <[email protected]>
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
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel