Skip to content

Conversation

@IanSeyler
Copy link
Member

Additions for multi-NIC support in the kernel. Closes #108

Copilot AI summary:

This pull request introduces significant updates to the network drivers in the project, focusing on the Intel NIC families (i8254x, i8257x, i8259x) and removing support for the Realtek r8169 driver. These changes aim to improve driver initialization, streamline descriptor handling, and enhance modularity by using a net_table for managing NIC-specific data. Additionally, minor updates were made to font data in the baremetal.fnt file.

Network Driver Updates

Removal of Realtek r8169 Driver:

  • The r8169.asm driver was commented out in src/drivers.asm, and its related device IDs were commented out in the driver ID list. This effectively removes support for the Realtek r8169 NIC. [1] [2]

Intel NIC Driver Enhancements:

  • Initialization Refactor: Updated initialization routines for i8254x, i8257x, and i8259x drivers to store NIC-specific data in a net_table. This includes driver tags, base memory addresses, and descriptor configurations. [1] [2] [3]
  • Descriptor Handling: Refactored RX and TX descriptor management to use offsets based on os_net_icount, enabling better scalability for multiple NICs. [1] [2] [3]
  • Polling and Transmission: Updated polling and transmission methods to use net_table entries for accessing NIC-specific data, removing hardcoded variables like i8254x_tx_lasttail. [1] [2] Fc1b2c1fL218R273)

Font Data Update

  • Added an extra db entry in baremetal.fnt to align font data structure.

Ian Seyler and others added 13 commits June 10, 2025 19:18
- Currently stops after 2 have been initialized
- Adjusted `i8254x` driver to support updated API
- fix ‘,’ in baremetal font
clear out old system variables
- Start on virtio-net rework
- Disable r8169 for now
- Enable per interface send lock
- Remove obsolete system variables
@IanSeyler IanSeyler self-assigned this Jun 17, 2025
@IanSeyler IanSeyler merged commit 32eb966 into master Jun 17, 2025
6 checks passed
@IanSeyler IanSeyler deleted the multi-net branch June 17, 2025 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-NIC support

2 participants