aboutsummaryrefslogtreecommitdiff
path: root/hw/virtio/virtio-iommu-pci.c
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2023-11-24 19:33:25 +0100
committerPeter Maydell <peter.maydell@linaro.org>2023-11-27 15:27:38 +0000
commit8729856c1904c11a9b016cba600767f814e237b1 (patch)
tree509aeea6aa98da80053064bab25fcda55ec2936f /hw/virtio/virtio-iommu-pci.c
parent75d0e6b5c6deb08dd6cc184adba3668055680e7b (diff)
downloadqemu-8729856c1904c11a9b016cba600767f814e237b1.zip
qemu-8729856c1904c11a9b016cba600767f814e237b1.tar.gz
qemu-8729856c1904c11a9b016cba600767f814e237b1.tar.bz2
hw/net/can/xlnx-zynqmp: Avoid underflow while popping RX FIFO
Per https://docs.xilinx.com/r/en-US/ug1085-zynq-ultrascale-trm/Message-Format Message Format The same message format is used for RXFIFO, TXFIFO, and TXHPB. Each message includes four words (16 bytes). Software must read and write all four words regardless of the actual number of data bytes and valid fields in the message. There is no mention in this reference manual about what the hardware does when not all four words are read. To fix the reported underflow behavior, I choose to fill the 4 frame data registers when the first register (ID) is accessed, which is how I expect hardware would do. Reported-by: Qiang Liu <cyruscyliu@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com> Reviewed-by: Vikram Garhwal <vikram.garhwal@amd.com> Message-id: 20231124183325.95392-3-philmd@linaro.org Fixes: 98e5d7a2b7 ("hw/net/can: Introduce Xilinx ZynqMP CAN controller") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1427 Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com> Reviewed-by: Vikram Garhwal <vikram.garhwal@amd.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/virtio/virtio-iommu-pci.c')
0 files changed, 0 insertions, 0 deletions