Hi,
here's a first patch for the 440BX code and the Tyan S1846 and the 82371EB southbridge which gets my Tyan S1846 a lot further in the boot process.
However, it cannot boot a payload, yet.
It seems the major problem was that I did ram_check() on the whole range from 0 - 64 MB (in my case; I use a 64 MB DIMM for testing). This cannot work of course, as the range from 640 KB - 1 MB is _not_ RAM but rather reserved for all kinds of other stuff (thanks Stefan for pointing this out!).
Leaving out that range, but checking the rest of RAM, I get a "DRAM range verified", so it seems RAM init _does_ work after all. (it's hardcoded to my board and setup of course, but that'll be fixed)
I've tried setting up the PCI devices correctly in Config.lb, but I'm absolutely not sure that I got it all right. Can somebody please check this and let me know of any stupid errors I made?
Here's the lspci output from the Tyan S1846:
00:00.0 0600: 8086:7190 (rev 03) 00:01.0 0604: 8086:7191 (rev 03) 00:07.0 0601: 8086:7110 (rev 02) 00:07.1 0101: 8086:7111 (rev 01) 00:07.2 0c03: 8086:7112 (rev 01) 00:07.3 0680: 8086:7113 (rev 02) 00:10.0 0300: 5333:5631 (rev 06) 00:11.0 0200: 10ec:8029
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) 00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) 00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02) 00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01) 00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02) 00:10.0 VGA compatible controller: S3 Inc. 86c325 [ViRGE] (rev 06) 00:11.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
-[0000:00]-+-00.0 Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge +-01.0-[0000:01]-- +-07.0 Intel Corporation 82371AB/EB/MB PIIX4 ISA +-07.1 Intel Corporation 82371AB/EB/MB PIIX4 IDE +-07.2 Intel Corporation 82371AB/EB/MB PIIX4 USB +-07.3 Intel Corporation 82371AB/EB/MB PIIX4 ACPI +-10.0 S3 Inc. 86c325 [ViRGE] -11.0 Realtek Semiconductor Co., Ltd. RTL-8029(AS)
(5333:5631 and 10ec:8029 are add-on cards -- VGA and Ethernet)
And this is my current try to setup Config.lb:
chip northbridge/intel/i440bx # Northbridge device pci_domain 0 on device pci 0.0 on end # Host bridge device pci 1.0 off end # PCI bridge TODO: AGP bridge? # device pci 7.0 on end # ISA bridge chip southbridge/intel/i82371eb # Southbridge device pci 7.0 on # ISA bridge ??? chip superio/nsc/pc87309 # Super I/O device pnp 2e.0 on end # Floppy device pnp 2e.1 on end # Parallel port device pnp 2e.2 on end # Com2 device pnp 2e.3 on # Com1 io 0x60 = 0x3f8 irq 0x70 = 4 end device pnp 2e.4 on end # Power mgmt. device pnp 2e.5 on end # Mouse device pnp 2e.6 on # Keyboard io 0x60 = 0x60 io 0x62 = 0x64 irq 0x70 = 1 irq 0x72 = 12 # ??? end end device pci 7.1 on end # IDE device pci 7.2 on end # USB device pci 7.3 on end # ACPI end end end chip cpu/intel/slot_2 end end
Does that look correct?
Also, a full boot log is attached. The PCI init _seems_ to work, at least partially.
The current end of the story is that elfboot cannot find the payload, not sure why. Wrong PCI init? Wrong RAM init? Wrong payload location?
Thanks, Uwe.