On Fri, 20 Dec 2024 at 12:54, Anastasia Belova <abel...@astralinux.ru> wrote: > > 1 << 31 is casted to uint64_t while bitwise and with val. > So this value may become 0xffffffff80000000 but only > 31th "start" bit is required.
This can't happen, because the MemoryRegionOps uses the default max access size of 4 bytes, and so the high bytes of val will always be zero. But the extract API is clearer anyway, so the change is worthwhile. Applied to target-arm.next with a clarification to the commit message that there's no guest-visible wrong behaviour; thanks. -- PMM