|
From: | Wei Huang |
Subject: | Re: who's maintaining amd_iommu.c these days? |
Date: | Fri, 1 Apr 2022 11:35:37 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 |
On 4/1/22 11:14, Peter Maydell wrote:
On Fri, 1 Apr 2022 at 17:11, Wei Huang <wei.huang2@amd.com> wrote:On 3/31/22 21:09, Jason Wang wrote:On Fri, Apr 1, 2022 at 2:30 AM Peter Xu <peterx@redhat.com> wrote:On Thu, Mar 31, 2022 at 05:01:52PM +0100, Peter Maydell wrote:(4) The claimed bit layout of the event structure doesn't match up with the one in the spec document I found. This could be because I found a document for some other bit of hardware, of course.Could you elaborate? Are you referring to amdvi_setevent_bits(evt, info, 55, 8)?https://www.amd.com/system/files/TechDocs/48882_IOMMU.pdf was the spec I found through random googling, but the event structure layouts in chapter 2.5 of that document aren't at all like the one that amdvi_encode_event() is using. Maybe that's the wrong spec, as I say.
The spec is up-to-date. But it seems amdvi_setevent_bits(evt, info, 55, 8) is problematic. Use amdvi_log_illegaldevtab_error() as an example:
info |= AMDVI_EVENT_ILLEGAL_DEVTAB_ENTRY; amdvi_encode_event(evt, devid, addr, info); amdvi_log_event(s, evt);info is encoded with AMDVI_EVENT_ILLEGAL_DEVTAB_ENTRY (1U << 12) and is used by amdvi_encode_event() via amdvi_setevent_bits(evt, info, 55, 8) into event log bits[63:55]. This should instead be written into bits[63:48] to match ILLEGAL_DEV_TABLE_ENTRY event format in Chapter 2.5.2.
thanks -- PMM
[Prev in Thread] | Current Thread | [Next in Thread] |