On 17.06.14 09:36, Stefan Hajnoczi wrote:
On Fri, Jun 13, 2014 at 01:18:00PM +0200, Greg Kurz wrote:
This version merges the changes requested during the v7 review, remarks from
ppc64 dump support review (yes, we talked about virtio there) and the work on
virtio subsections migration. Also two new patches have been added:
- patch #1 is a preliminary fix for virtio-serial posted by Alexander Graf
- patch #9 prepares the work on the virtio_is_big_endian() helper
The most significant changes are:
- introduction of a new CPU method for virtio
- endianness is taken from CPU that resets the device
- fastpath virtio memory accessors for fixed endian targets
- VMState based virtio subsections (compatibility friendly)
I'm surprised it's not enough for the virtio device to have an
endianness field (big/little). It seems these patches make endianness
depend on the CPUState through which the device is being accessed.
Can you explain why it's necessary to check the CPUState?
They only check CPUState at the point in time of reset, as that's the
only case where we can derive the implicit endian configuration from :).
After reset, endianness is a simple field in the state struct.
Alex