OSDN Git Service

hw/net/allwinner-sun8i-emac: Correctly byteswap descriptor fields
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 24 Apr 2023 16:50:53 +0000 (17:50 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 2 May 2023 14:47:41 +0000 (15:47 +0100)
commita4ae17e5ec512862bf73e40dfbb1e7db71f2c1e7
treebc5a014b8d2dfff4d738a4c5b9935b7f5fbf481e
parent3e20d90824c262de6887aa1bc52af94db69e4310
hw/net/allwinner-sun8i-emac: Correctly byteswap descriptor fields

In allwinner-sun8i-emac we just read directly from guest memory into
a host FrameDescriptor struct and back.  This only works on
little-endian hosts.  Reading and writing of descriptors is already
abstracted into functions; make those functions also handle the
byte-swapping so that TransferDescriptor structs as seen by the rest
of the code are always in host-order, and fix two places that were
doing ad-hoc descriptor reading without using the functions.

Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20230424165053.1428857-3-peter.maydell@linaro.org
hw/net/allwinner-sun8i-emac.c