I switched from the rtl8139 to the rhine VT6102 debugging, since this is actually working well enough for etherboot to successfully get a bootfile.
Within linux the via-rhine.c reports when debugging is turned up: eth0: Something Wicked happened! 00000040.
This bit (40) represents a PCI Bus Error.
Here's our linuxbios/etherboot/kernel output (see below).
Any advice appreciated.
-Dave
LinuxBIOS-1.1.8.0Normal Thu Sep 15 14:55:02 PDT 2005 starting... MISC FIXUP Done Enabling SMBUS Enable skipped ENABLING MAINBOARD DEVICES MAINBOARD ENABLED ENABLING SHADOW RAM SHADOW RAM ENABLED ENABLING SDRAM SETTING NORTHBRIDGE FUNCTION2 REGS djb_replicate_award2_regs starting 00000200 is the cpu controller djb_replicate_award2_regs returning 00:06 11 59 22 06 00 00 02 00 00 00 06 00 00 00 00 10:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50:a8 be ef 88 30 28 00 69 00 30 00 00 00 b2 88 c7 60:ff ff 00 ff ff 00 ff 00 00 00 00 00 00 00 00 00 70:bb cc bb cc 70 08 30 00 00 00 00 00 00 00 00 00 80:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Setting SDRAM registers djb_replicate_award3_regs starting 00000300 is the dram controller djb_replicate_award3_regs returning 00:06 11 59 32 06 00 00 02 00 00 00 06 00 00 00 00 10:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40:01 01 01 01 01 01 01 01 45 00 00 00 00 00 00 00 50:e0 00 00 00 01 0a a5 1a 10 00 00 00 00 00 00 00 60:01 00 00 00 00 99 82 00 85 8f 65 10 00 00 80 00 70:7a 77 3b 3e 94 00 0e 12 13 11 a1 62 00 00 00 00 80:00 00 30 00 00 ff 01 00 00 00 00 00 00 00 00 00 90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0:00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 b0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0:aa 00 aa 00 99 00 00 00 ee 00 ee 00 10 11 00 00 f0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ENABLING SDRAM 00000200 is the dram function 00000300 is the dram function QUICK CHECKING SDRAM MAIN is DONE Copying LinuxBIOS into ram. Jumping to LinuxBIOS. LinuzBIOS-1.1.8.0Normal Thu Sep 15 14:55:02 PDT 2005 booting... Enumerating buses... Finding PCI configuration type. PCI: Using configuration type 1 PCI_DOMAIN: 0000 enabled PCI: pci_scan_bus for bus 0 PCI: 00:00.0 [1106/0259] enabled PCI: 00:00.1 [1106/1259] enabled PCI: 00:00.2 [1106/2259] enabled PCI: 00:00.3 [1106/3259] enabled PCI: 00:00.4 [1106/4259] enabled PCI: 00:00.7 [1106/7259] enabled PCI: 00:01.0 [1106/b198] enabled PCI: 00:0d.0 [1106/3044] enabled PCI: 00:0f.0 [1106/3149] enabled PCI: 00:0f.1 [1106/0571] enabled PCI: 00:10.0 [1106/3038] enabled PCI: 00:10.1 [1106/3038] enabled PCI: 00:10.2 [1106/3038] enabled PCI: 00:10.3 [1106/3038] enabled PCI: 00:10.4 [1106/3104] enabled PCI: 00:11.0 [1106/3227] enabled PCI: 00:11.5 [1106/3059] enabled PCI: 00:11.6 [1106/3068] enabled PCI: 00:12.0 [1106/3065] enabled PCI: 00:14.0 [10ec/8139] enabled PCI: pci_scan_bus for bus 1 PCI: pci_scan_bus returning with max=01 PCI: pci_scan_bus returning with max=01 done Allocating resources... Reading resources... (DA) pci_bridge_read_bases 1c = f0 (DA) pci_bridge_read_bases 1d = 0 PCI: 00:01.0 1c <- [0x00fffff000 - 0x00ffffefff] bus 1 io PCI: 00:01.0 24 <- [0x00fff00000 - 0x00ffefffff] bus 1 prefmem PCI: 00:01.0 20 <- [0x00fff00000 - 0x00ffefffff] bus 1 mem Done reading resources. Setting resources... ERROR! register 0x5c is not set! ERROR! register 0x5d is not set! I would set ram size to 0x200000 Kbytes PCI: 00:00.0 10 <- [0x00e0000000 - 0x00efffffff] prefmem PCI: 00:0d.0 10 <- [0x00f0004000 - 0x00f00047ff] mem PCI: 00:0d.0 14 <- [0x0000002400 - 0x000000247f] io PCI: 00:0f.0 10 <- [0x0000002820 - 0x0000002827] io PCI: 00:0f.0 14 <- [0x0000002840 - 0x0000002843] io PCI: 00:0f.0 18 <- [0x0000002830 - 0x0000002837] io PCI: 00:0f.0 1c <- [0x0000002850 - 0x0000002853] io PCI: 00:0f.0 20 <- [0x0000002800 - 0x000000280f] io PCI: 00:0f.0 24 <- [0x0000001000 - 0x00000010ff] io PCI: 00:0f.1 20 <- [0x0000002810 - 0x000000281f] io PCI: 00:10.0 20 <- [0x0000002480 - 0x000000249f] io PCI: 00:10.1 20 <- [0x00000024a0 - 0x00000024bf] io PCI: 00:10.2 20 <- [0x00000024c0 - 0x00000024df] io PCI: 00:10.3 20 <- [0x00000024e0 - 0x00000024ff] io PCI: 00:10.4 10 <- [0x00f0005000 - 0x00f00050ff] mem PCI: 00:11.5 10 <- [0x0000001400 - 0x00000014ff] io PCI: 00:11.6 10 <- [0x0000001800 - 0x00000018ff] io PCI: 00:12.0 10 <- [0x0000001c00 - 0x0000001cff] io PCI: 00:12.0 14 <- [0x00f0006000 - 0x00f00060ff] mem PCI: 00:14.0 10 <- [0x0000002000 - 0x00000020ff] io PCI: 00:14.0 14 <- [0x00f0007000 - 0x00f00070ff] mem PCI: 00:14.0 30 <- [0x00f0000000 - 0x00f0003fff] romem Done setting resources. Done allocating resources. Enabling resourcess... PCI: 00:00.0 subsystem <- 00/00 PCI: 00:00.0 cmd <- 146 PCI: 00:00.1 subsystem <- 00/00 PCI: 00:00.1 cmd <- 146 PCI: 00:00.2 cmd <- 146 PCI: 00:00.3 cmd <- 146 PCI: 00:00.4 cmd <- 146 PCI: 00:00.7 cmd <- 146 PCI: 00:01.0 bridge ctrl <- 0003 PCI: 00:01.0 cmd <- 147 PCI: 00:0d.0 cmd <- 1c3 PCI: 00:0f.0 cmd <- 141 PCI: 00:0f.1 cmd <- 1c1 PCI: 00:10.0 cmd <- 141 PCI: 00:10.1 cmd <- 141 PCI: 00:10.2 cmd <- 141 PCI: 00:10.3 cmd <- 141 PCI: 00:10.4 cmd <- 142 PCI: 00:11.0 cmd <- 1c7 PCI: 00:11.5 cmd <- 141 PCI: 00:11.6 cmd <- 141 PCI: 00:12.0 cmd <- 1c3 PCI: 00:14.0 cmd <- 143 done. Initializing devices... Root Device init PCI: 00:00.0 init PCI: 00:00.1 init PCI: 00:00.2 init PCI: 00:00.3 init PCI: 00:00.4 init PCI: 00:00.7 init PCI: 00:0d.0 init PCI: 00:0f.0 init PCI: 00:0f.1 init Enabling VIA IDE. enables in reg 0x40 0x38 enables in reg 0x40 read back as 0x3b enables in reg 0x9 0x8a enables in reg 0x9 read back as 0x8f command in reg 0x4 0x81 command in reg 0x4 reads back as 0x7 PCI: 00:10.0 init Configuring VIA USB 1.1 PCI: 00:10.1 init Configuring VIA USB 1.1 PCI: 00:10.2 init Configuring VIA USB 1.1 PCI: 00:10.3 init Configuring VIA USB 1.1 PCI: 00:10.4 init PCI: 00:11.0 init vt8237 init pci_routing_fixup: dev is 000161b8 setting firewire Assigning IRQ 11 to 0:d.0 Readback = 11 setting usb setting vt8237 setting ethernet Assigning IRQ 10 to 0:12.0 Readback = 10 setting vga setting pci slot Assigning IRQ 11 to 0:14.0 Readback = 11 setting cardbus slot setting riser slot PCI: 00:11.5 init PCI: 00:11.6 init PCI: 00:12.0 init Configuring VIA Rhine LAN PCI: 00:14.0 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...done Checking IRQ routing table consistency... Inconsistent IRQ routing table size (0x70/0xa0) check_pirq_routing_table() - irq_routing_table located at: 0x000f0000 /code/bootfiles/LinuxBIOSv2/src/arch/i386/boot/pirq_routing.c: 36:check_pirq_routin4 done. Wrote linuxbios table at: 00000500 - 00000b3c checksum 9389
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.3
23:stream_init() - rom_stream: 0xfff80000 - 0xfffcffff Found ELF candiate at offset 0 New segment addr 0x94000 size 0x7088 offset 0x80 filesize 0x3580 (cleaned up) New segment addr 0x94000 size 0x7088 offset 0x80 filesize 0x3580 Dropping non PT_LOAD segment Loading Segment: addr: 0x0000000000094000 memsz: 0x0000000000007088 filesz: 0x000000000 Clearing Segment: addr: 0x0000000000097580 memsz: 0x0000000000003b08 Jumping to boot code at 0x94000 ROM segment 0x0000 length 0x0000 reloc 0x9400 Etherboot 5.0.10 (GPL) ELF for [VIA 86C100] Probing...[VIA 86C100]Found VIA 6102 ROM address 0x0000 rhine.c v1.0.0 2000-01-07 Enabling Sticky Bit Workaround for Chip_id: 0x0000 IO address 1C00 Ethernet Address: 00:40:63:DE:5A:01 Analyzing Media type,this will take several seconds........CPU 1391 Mhz OK Linespeed=100Mbs Fullduplex The PCI BIOS has not enabled this device! Updating PCI command 0143->0147. pci_bus 00 pci_device_fn 90 Searching for server (BOOTP)... .Me: 172.30.6.88, Server: 172.30.6.100, Gateway 172.30.6.254 Loading 172.30.6.100:bootfile_cn400_dave ...(ELF)... .................................e rhine disable Unknown bootloader class! type=00096f3a data=00000060 Firmware type: LinuxBIOS Linux version 2.4.26 (root@linuxcm) (gcc version 3.2.2) #22 Thu Sep 15 15:14:56 PDT 205 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 0000000000000ba4 (reserved) BIOS-e820: 0000000000000ba4 - 00000000000a0000 (usable) BIOS-e820: 00000000000f0000 - 00000000000f0400 (reserved) BIOS-e820: 0000000000100000 - 0000000001b34000 (usable) 27MB LOWMEM available. hm, page 00000000 reserved twice. On node 0 totalpages: 6964 zone(0): 4096 pages. zone(1): 2868 pages. zone(2): 0 pages. Kernel command line: root=/dev/ram console=ttyS0,115200 console=tty0 Initializing CPU#0 Detected 1333.468 MHz processor. Console: colour dummy device 80x25 Calibrating delay loop... 2637.82 BogoMIPS Memory: 24676k/27856k available (1350k kernel code, 2792k reserved, 296k data, 276k in) Dentry cache hash table entries: 4096 (order: 3, 32768 bytes) Inode cache hash table entries: 2048 (order: 2, 16384 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 8192 (order: 3, 32768 bytes) CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line) CPU: L2 Cache: 64K (32 bytes/line) CPU: Centaur VIA Nehemiah stepping 08 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) mtrr: detected mtrr type: Intel PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Using IRQ router VIA [1106/3227] at 00:11.0 Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd Detected PS/2 Mouse Port. pty: 256 Unix98 ptys configured keyboard: Timeout - AT keyboard not present?(ed) keyboard: Timeout - AT keyboard not present?(f4) Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A Real Time Clock Driver v1.10f RAMDISK driver initialized: 16 RAM disks of 32768K size 1024 blocksize loop: loaded (max 8 devices) via-rhine.c:v1.10-LK1.1.19 July-12-2003 Written by Donald Becker http://www.scyld.com/network/via-rhine.html via-rhine: Reset succeeded. eth0: VIA VT6102 Rhine-II at 0x1c00, 00:40:63:de:5a:01, IRQ 10. eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 45e1. 8139too Fast Ethernet driver 0.9.26 PCI: Found IRQ 11 for device 00:14.0 PCI: Sharing IRQ 11 with 00:0d.0 eth1: RealTek RTL8139 at 0xc2800000, 00:03:70:00:41:3e, IRQ 11 Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx usb.c: registered new driver usbdevfs usb.c: registered new driver hub host/usb-uhci.c: $Revision: 1.275 $ time 15:15:02 Sep 15 2005 host/usb-uhci.c: High bandwidth mode enabled host/usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik vojtech@suse.cz hid-core.c: USB HID support drivers mice: PS/2 mouse device common for all mice NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 2048 bind 4096) ip_conntrack version 2.1 (217 buckets, 1736 max) - 288 bytes per conntrack ip_tables: (C) 2000-2002 Netfilter core team NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: Ethernet Bridge 008 for NET4.0 802.1Q VLAN Support v1.8 Ben Greear greearb@candelatech.com All bugs added by David S. Miller davem@redhat.com RAMDISK: Compressed image found at block 0 Freeing initrd memory: 346k freed VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 276k freed nxtvinit:ifconfieth0: Reset succeeded. g eth0 0.0.0.0 eth0: Setting full-duplex based on MII #1 link partner capability of 45e1. 06 11 27 32 c7 00 10 02 00 00 01 06 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 54 7f f0 00 00 00 00 00 0c 20 08 00 04 00 00 08 ff fd 09 00 00 a0 cb 00 03 00 00 01 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 20 84 55 00 f2 30 00 00 01 04 00 00 00 18 00 00 00 01 40 88 b0 c0 0f 00 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 nxtvinit:ash
BusyBox v0.60.3 (2005.09.15-18:50+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands.
sh: can't access tty; job control turned off # eth0: Something Wicked happened! 00000040.