]> git.ipfire.org Git - thirdparty/qemu.git/commit
i82596: Added core infrastructure and helper functions
authorSoumyajyotii Ssarkar <soumyajyotisarkar23@gmail.com>
Mon, 3 Nov 2025 11:27:22 +0000 (16:57 +0530)
committerHelge Deller <deller@gmx.de>
Tue, 4 Nov 2025 15:14:51 +0000 (16:14 +0100)
commitcbf62eef84ab6bd1be3a03269b4a4e9df529985f
tree4bb7bdd3b7355f2d0ee9c3d9ad0d1eb92aae81a9
parentb2d0bf872d4a40c5f1e326b4bd5aa42ba98567f0
i82596: Added core infrastructure and helper functions

As a part of GSOC 2025 I have done a massive rewrite of what was the
82596 NIC. This has been done to add the missing functionality according
to the 82596 Manual and making the code production ready.

This patch adds:
- comprehensive 82596 constants and configuration macros
- address translation for segmented/linear memory modes
- error recording and statistics tracking infrastructure
- CRC-16/32 calculation and appending functions
- CSMA/CD collision detection and backoff logic
- bus throttle timer framework
- enhanced reset with full state initialization
- receive_iov and polling support functions
- updated VMState for migration of all new fields

Note:
This patch primarily includes placeholder code.
To achieve full 82596 emulation, the complete 82596 patch series is
required.  Nevertheless, QEMU is able to load and boot successfully with
this patch.

Signed-off-by: Soumyajyotii Ssarkar <soumyajyotisarkar23@gmail.com>
Tested-by: Helge Deller <deller@gmx.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Helge Deller <deller@gmx.de>
hw/net/i82596.c
hw/net/i82596.h
hw/net/lasi_i82596.c