]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: lwIP TCP/IP stack integration with E1000 netif
authorTulio A M Mendes <[email protected]>
Wed, 11 Feb 2026 23:43:33 +0000 (20:43 -0300)
committerTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 02:20:50 +0000 (23:20 -0300)
commit1304d7fef58ad0ad8f150b8297977d710c1605be
tree988b6fd27582d5a89ba4420e8f4ff72ead370614
parent9aef0328561e6d5fcf261c4b5a9c3c44c4d1ea7f
feat: lwIP TCP/IP stack integration with E1000 netif

- third_party/lwip/ added to .gitignore (cloned separately)
- src/net/lwip_port/lwipopts.h: NO_SYS=1 config, IPv4 only, TCP+UDP+ICMP+ARP
- src/net/lwip_port/arch/cc.h: compiler/type defines for lwIP on x86
- src/net/lwip_port/sys_arch.c: sys_now() using kernel tick counter
- src/net/e1000_netif.c: lwIP netif driver bridging E1000 hardware
  net_init() configures IP 10.0.2.15/24, gw 10.0.2.2 (QEMU user-mode)
  net_poll() feeds RX packets to lwIP + processes timeouts
- include/net.h: public API (net_init, net_poll, net_get_netif)
- include/utils.h + src/kernel/utils.c: added memmove, memcmp, strncpy,
  strtol, __memcpy_chk, __ctype_b_loc stubs needed by lwIP
- Makefile: lwIP core+ipv4+ethernet sources compiled with relaxed warnings,
  include paths for lwip_port and lwip/src/include
- src/kernel/main.c: net_poll() in idle loop
- src/kernel/init.c: net_init() after e1000_init()
- 19/19 smoke tests pass, cppcheck clean
.gitignore
Makefile
include/net.h [new file with mode: 0644]
include/utils.h
src/kernel/init.c
src/kernel/main.c
src/kernel/utils.c
src/net/e1000_netif.c [new file with mode: 0644]
src/net/lwip_port/arch/cc.h [new file with mode: 0644]
src/net/lwip_port/lwipopts.h [new file with mode: 0644]
src/net/lwip_port/sys_arch.c [new file with mode: 0644]