qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3] dp8393x: don't force 32-bit register access


From: Mark Cave-Ayland
Subject: Re: [PATCH v3] dp8393x: don't force 32-bit register access
Date: Mon, 5 Jul 2021 20:33:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 05/07/2021 08:52, Mark Cave-Ayland wrote:

I think the problem is because of the interaction of .impl.max_access_size = 2 and the it_shift property specifying a stride of 4 bytes: when the 4 byte access is split into 2 x 2 byte accesses then for a read reg = addr >> s->it_shift causes the second access to be a duplicate of the first rather than containing zeros.

After some more experiments I'm fairly confident this is the issue: if you rely on applying it_shift within the MMIO access itself then you lose the zero extension of the result to the access size as done by the memory API.

I'll come up with a new version which I shall send as part of an updated and tested v2 of Phil's housekeeping patchset, since the endian changes were really helpful when studying the descriptors.


ATB,

Mark.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]