]> 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)
commit704a45a934eed65363e47528127b97f8054a9db1
tree720e232cb439255989b675d743e40380b3a5c37b
parent64f96ca09869611d6536fafbf4192301e5344016
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]