[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/29] hw/net/xilinx_ethlite: Correct maximum RX buffer size
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 14/29] hw/net/xilinx_ethlite: Correct maximum RX buffer size |
Date: |
Tue, 31 Dec 2024 21:22:13 +0100 |
The current max RX bufsize is set to 0x800. This is
invalid, since it contains the MMIO registers region.
Add the correct definition (valid for both TX & RX,
see datasheet p. 20, Table 11 "XPS Ethernet Lite MAC
Memory Map") and use it.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20241112181044.92193-6-philmd@linaro.org>
---
hw/net/xilinx_ethlite.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/hw/net/xilinx_ethlite.c b/hw/net/xilinx_ethlite.c
index 330dccb83df..d54f96df243 100644
--- a/hw/net/xilinx_ethlite.c
+++ b/hw/net/xilinx_ethlite.c
@@ -3,6 +3,9 @@
*
* Copyright (c) 2009 Edgar E. Iglesias.
*
+ * DS580: https://docs.amd.com/v/u/en-US/xps_ethernetlite
+ * LogiCORE IP XPS Ethernet Lite Media Access Controller
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
deal
* in the Software without restriction, including without limitation the rights
@@ -33,6 +36,7 @@
#include "trace.h"
#define R_TX_BUF0 0
+#define BUFSZ_MAX 0x07e4
#define R_TX_LEN0 (0x07f4 / 4)
#define R_TX_GIE0 (0x07f8 / 4)
#define R_TX_CTRL0 (0x07fc / 4)
@@ -191,7 +195,7 @@ static ssize_t eth_rx(NetClientState *nc, const uint8_t
*buf, size_t size)
return -1;
}
- if (size > (R_MAX - R_RX_BUF0 - rxbase) * 4) {
+ if (size >= BUFSZ_MAX) {
trace_ethlite_pkt_size_too_big(size);
return -1;
}
--
2.47.1
- [PULL 04/29] hw/usb/uhci: checkpatch cleanup, (continued)
- [PULL 04/29] hw/usb/uhci: checkpatch cleanup, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 05/29] hw/usb/uhci: Introduce and use register defines, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 06/29] hw/microblaze: Propagate CPU endianness to microblaze_load_kernel(), Philippe Mathieu-Daudé, 2024/12/31
- [PULL 07/29] hw/i386: Mark devices as little-endian, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 08/29] hw/tricore: Mark devices as little-endian, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 09/29] hw/openrisc: Mark devices as big-endian, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 10/29] hw/sparc: Mark devices as big-endian, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 11/29] hw/net/xilinx_ethlite: Convert some debug logs to trace events, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 12/29] hw/net/xilinx_ethlite: Remove unuseful debug logs, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 13/29] hw/net/xilinx_ethlite: Update QOM style, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 14/29] hw/net/xilinx_ethlite: Correct maximum RX buffer size,
Philippe Mathieu-Daudé <=
- [PULL 15/29] hw/net/xilinx_ethlite: Rename rxbuf -> port_index, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 16/29] fw_cfg: Don't set callback_opaque NULL in fw_cfg_modify_bytes_read(), Philippe Mathieu-Daudé, 2024/12/31
- [PULL 17/29] hw/misc/vmcoreinfo: Declare QOM type using DEFINE_TYPES macro, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 18/29] hw/misc/vmcoreinfo: Rename opaque pointer as 'opaque', Philippe Mathieu-Daudé, 2024/12/31
- [PULL 19/29] hw/i386/amd_iommu: Simplify non-KVM checks on XTSup feature, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 20/29] hw/block/virtio-blk: Replaces request free function with g_free, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 22/29] hw/usb/hcd-xhci: Unimplemented/guest error logging for port MMIO, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 21/29] hw/usb/hcd-xhci-pci: Move msi/msix properties from NEC to superclass, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 23/29] ui & main loop: Redesign of system-specific main thread event handling, Philippe Mathieu-Daudé, 2024/12/31
- [PULL 24/29] hw/display/apple-gfx: Introduce ParavirtualizedGraphics.Framework support, Philippe Mathieu-Daudé, 2024/12/31