Implement NE2000 ISA Ethernet NIC driver (AI)
Add a driver for NE2000-compatible ISA Ethernet cards based on the DP8390 controller. Features: - PROM-based MAC address detection and validation - Programmed I/O (PIO) remote DMA for data transfers - Ring buffer management for RX with wrap-around handling - IRQ 9-driven packet reception and transmission - Synchronous TX with timeout - Character device registration as 'eth' class (/dev/ethN) Probe verifies card presence by resetting the controller, configuring it for PROM reading, and checking the MAC is not all-0xFF/all-0x00 (which would indicate no hardware at the I/O base). NE2000 memory layout (16 KiB on-card RAM): - Pages 0x40-0x45: TX buffer (1536 bytes, 1 MTU frame) - Pages 0x46-0x7F: RX ring buffer (~14.5 KiB) Tested with QEMU: `-device ne2k_isa,iobase=0x300,irq=9` correctly detects the card and registers /dev/eth1. Without the NIC option, probe correctly reports 'not found'.
This commit is contained in:
30
build.log
30
build.log
@@ -1,3 +1,8 @@
|
||||
make: Warning: File 'Makefile' has modification time 48547 s in the future
|
||||
make[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 48547 s in the future
|
||||
make[2]: Warning: File 'CMakeFiles/apps.dir/progress.make' has modification time 48547 s in the future
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
make[2]: Warning: File 'CMakeFiles/apps.dir/progress.make' has modification time 48547 s in the future
|
||||
[ 3%] Building user-mode applications
|
||||
Building app: cat
|
||||
Built: /workspaces/claude-os/build/apps_bin/cat (310 bytes)
|
||||
@@ -28,11 +33,23 @@ Building app: sh
|
||||
| ^~~~
|
||||
1 warning generated.
|
||||
Built: /workspaces/claude-os/build/apps_bin/sh (3428 bytes)
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
[ 3%] Built target apps
|
||||
[ 6%] Generating CPIO initial ramdisk
|
||||
Generated initrd: 20288 bytes
|
||||
make[2]: Warning: File 'CMakeFiles/initrd.dir/progress.make' has modification time 48530 s in the future
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
make[2]: Warning: File 'CMakeFiles/initrd.dir/progress.make' has modification time 48530 s in the future
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
[ 6%] Built target initrd
|
||||
make[2]: Warning: File 'src/CMakeFiles/kernel.dir/build.make' has modification time 48529 s in the future
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
make[2]: Warning: File 'src/CMakeFiles/kernel.dir/build.make' has modification time 48529 s in the future
|
||||
[ 9%] Building C object src/CMakeFiles/kernel.dir/ne2000.c.o
|
||||
[ 12%] Linking C executable ../bin/kernel
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
[ 96%] Built target kernel
|
||||
make[2]: Warning: File 'CMakeFiles/iso.dir/progress.make' has modification time 48527 s in the future
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
make[2]: Warning: File 'CMakeFiles/iso.dir/progress.make' has modification time 48527 s in the future
|
||||
[100%] Generating bootable ISO image
|
||||
xorriso 1.5.6 : RockRidge filesystem manipulator, libburnia project.
|
||||
|
||||
@@ -40,14 +57,17 @@ Drive current: -outdev 'stdio:/workspaces/claude-os/release/claude-os.iso'
|
||||
Media current: stdio file, overwriteable
|
||||
Media status : is blank
|
||||
Media summary: 0 sessions, 0 data blocks, 0 data, 126g free
|
||||
Added to ISO image: directory '/'='/tmp/grub.bEiDnH'
|
||||
Added to ISO image: directory '/'='/tmp/grub.jahFGc'
|
||||
xorriso : UPDATE : 581 files added in 1 seconds
|
||||
Added to ISO image: directory '/'='/workspaces/claude-os/build/isodir'
|
||||
xorriso : UPDATE : 586 files added in 1 seconds
|
||||
xorriso : NOTE : Copying to System Area: 512 bytes from file '/usr/lib/grub/i386-pc/boot_hybrid.img'
|
||||
xorriso : UPDATE : Thank you for being patient. Working since 0 seconds.
|
||||
ISO image produced: 5924 sectors
|
||||
Written to medium : 5924 sectors at LBA 0
|
||||
ISO image produced: 5943 sectors
|
||||
Written to medium : 5943 sectors at LBA 0
|
||||
Writing to 'stdio:/workspaces/claude-os/release/claude-os.iso' completed successfully.
|
||||
|
||||
make[2]: warning: Clock skew detected. Your build may be incomplete.
|
||||
[100%] Built target iso
|
||||
make[1]: warning: Clock skew detected. Your build may be incomplete.
|
||||
make: warning: Clock skew detected. Your build may be incomplete.
|
||||
|
||||
Reference in New Issue
Block a user