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'.
74 lines
4.3 KiB
Plaintext
74 lines
4.3 KiB
Plaintext
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)
|
|
Building app: diskpart
|
|
/usr/bin/ld: warning: /workspaces/claude-os/build/apps_bin/diskpart.elf has a LOAD segment with RWX permissions
|
|
Built: /workspaces/claude-os/build/apps_bin/diskpart (8406 bytes)
|
|
Building app: env-test
|
|
/usr/bin/ld: warning: /workspaces/claude-os/build/apps_bin/env-test.elf has a LOAD segment with RWX permissions
|
|
Built: /workspaces/claude-os/build/apps_bin/env-test (389 bytes)
|
|
Building app: fork-test
|
|
Built: /workspaces/claude-os/build/apps_bin/fork-test (132 bytes)
|
|
Building app: hello-world
|
|
Built: /workspaces/claude-os/build/apps_bin/hello-world (49 bytes)
|
|
Building app: ls
|
|
Built: /workspaces/claude-os/build/apps_bin/ls (250 bytes)
|
|
Building app: mkfs.fat32
|
|
/workspaces/claude-os/apps/mkfs.fat32/mkfs.fat32.c:56:13: warning: unused function 'print_hex' [-Wunused-function]
|
|
56 | static void print_hex(uint32_t val) {
|
|
| ^~~~~~~~~
|
|
1 warning generated.
|
|
/usr/bin/ld: warning: /workspaces/claude-os/build/apps_bin/mkfs.fat32.elf has a LOAD segment with RWX permissions
|
|
Built: /workspaces/claude-os/build/apps_bin/mkfs.fat32 (5121 bytes)
|
|
Building app: mount
|
|
Built: /workspaces/claude-os/build/apps_bin/mount (992 bytes)
|
|
Building app: sh
|
|
/workspaces/claude-os/apps/sh/sh.c:167:17: warning: unused variable 'type' [-Wunused-variable]
|
|
167 | int32_t type = readdir(resolved, 0, name);
|
|
| ^~~~
|
|
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
|
|
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.
|
|
|
|
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.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: 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.
|