I'm back :D
Ok, I will start to create a new target for LB.
Board with following features.
Cyrix Media GXM CPU up to 300MHz.
NSC CS5530 or Cyrix CX5530 Southbridge NSC SuperIO PC97137 Cyberpro 500x Video Chipset
Lan (sometimes on board) realtek 8139 DOC Support PC104 Connector Sound on board and so on ...
what do you think is the best target to start?
AMD has sometimes the same features and the same chipsets.
Thanks chris
Christian Sühs wrote:
I'm back :D
Ok, I will start to create a new target for LB.
Board with following features.
Cyrix Media GXM CPU up to 300MHz.
NSC CS5530 or Cyrix CX5530 Southbridge NSC SuperIO PC97137 Cyberpro 500x Video Chipset
Lan (sometimes on board) realtek 8139 DOC Support PC104 Connector Sound on board and so on ...
what do you think is the best target to start?
AMD has sometimes the same features and the same chipsets.
Thanks chris
I'm not sure what board to use, but this would be nice to have
thanks
ron
Cyrix Media GXM CPU up to 300MHz.
NSC CS5530 or Cyrix CX5530 Southbridge NSC SuperIO PC97137 Cyberpro 500x Video Chipset
Lan (sometimes on board) realtek 8139 DOC Support PC104 Connector Sound on board and so on ...
what do you think is the best target to start?
AMD has sometimes the same features and the same chipsets.
Thanks chris
I'm not sure what board to use, but this would be nice to have
Well, I have looked on the source, and it seems that the eaglelion/5bcm use the same hardware. Now I will have a try with that settings and see what happens :D
More later,
regards chris
thanks
ron
Well, I have looked on the source, and it seems that the eaglelion/5bcm use the same hardware. Now I will have a try with that settings and see what happens :D
First test with same settings as for eaglelion/5bcm
It seems that LB boots nearly correct, but after the bootloader calls filo the Board stops any output. Filo produce no output, too. I'm not sure, but filo tries to bring up the vga console and fails. Or is there any other reason why filo could fail?
What does filo first?
Also the serial output says, that LB fails to copy the IRQ Table. I think that is not good :D and could be the main reason. Because of the IRQs for IDE.
Any Hints?
Here are the results ;) (attachment)
thanks chris
LinuxBIOS-1.1.8.0Fallback Thu Apr 20 15:51:26 CEST 2006 starting... Setting up default parameters for memory Sizing memory Probing for DIMM0 Found DIMM0 Page Size: 00001000 Component Banks: 4 Module Banks: 1 DIMM size: 04000000 Probing for DIMM1 MC_BANK_CFG = 00701420 Copying LinuxBIOS to ram. Jumping to LinuxBIOS. LinuxBIOS-1.1.8.0Fallback Thu Apr 20 15:51:26 CEST 2006 booting... clocks_per_usec: 375 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 [1078/0001] enabled PCI: 00:09.0 [10ea/5000] enabled PCI: 00:12.0 [1078/0100] enabled PCI: 00:12.1 [1078/0101] enabled PCI: 00:12.2 [1078/0102] enabled PCI: 00:12.3 [1078/0103] enabled PCI: 00:12.4 [1078/0104] enabled PCI: 00:13.0 [0e11/a0f8] enabled PNP: 002e.0 enabled PNP: 002e.1 enabled PNP: 002e.2 enabled PNP: 002e.3 disabled PNP: 002e.4 enabled PNP: 002e.5 enabled PNP: 002e.6 enabled PNP: 002e.7 enabled PNP: 002e.8 enabled PCI: 00:12.1 disabled PCI: 00:12.2 enabled PCI: 00:12.3 disabled PCI: 00:12.4 disabled PCI: pci_scan_bus returning with max=00 done Allocating resources... Reading resources... Done reading resources. Setting resources... BC_DRAM_TOP = 0x03bfffff MC_GBASE_ADD = 0x00000078 I would set ram size to 60 Mbytes PCI: 00:09.0 10 <- [0x00fd000000 - 0x00fdffffff] mem PCI: 00:09.0 30 <- [0x00fe000000 - 0x00fe00ffff] romem PCI: 00:12.1 10 <- [0x00fe012000 - 0x00fe0120ff] mem PCI: 00:12.2 20 <- [0x0000001000 - 0x000000107f] io PCI: 00:12.3 10 <- [0x00fe013000 - 0x00fe01307f] mem PCI: 00:12.4 10 <- [0x00fe010000 - 0x00fe010fff] mem PCI: 00:13.0 10 <- [0x00fe011000 - 0x00fe011fff] mem Done setting resources. Done allocating resources. Enabling resourcess... PCI: 00:00.0 cmd <- 147 PCI: 00:09.0 cmd <- 142 PCI: 00:12.0 cmd <- 14f PCI: 00:12.2 missing enable_resources PCI: 00:12.1 cmd <- 142 PCI: 00:12.2 cmd <- 141 PCI: 00:12.3 cmd <- 142 PCI: 00:12.4 cmd <- 142 PCI: 00:13.0 cmd <- 142 done. Initializing devices... Root Device init PCI: 00:00.0 init northbridge: northbridge_init() PCI: 00:12.0 init PNP: 002e.0 init PNP: 002e.1 init PNP: 002e.2 init PNP: 002e.4 init PNP: 002e.5 init PNP: 002e.6 init PNP: 002e.7 init PNP: 002e.8 init PCI: 00:09.0 init PCI: 00:12.1 init PCI: 00:12.2 init PCI: 00:12.3 init PCI: 00:12.4 init PCI: 00:13.0 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...failed Moving GDT to 0x500...ok Wrote linuxbios table at: 00000530 - 000006c4 checksum a262
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.3
33:stream_init() - rom_stream: 0xfffe0000 - 0xfffeffff Found ELF candiate at offset 0 New segment addr 0x100000 size 0x23d00 offset 0xa0 filesize 0x9c68 (cleaned up) New segment addr 0x100000 size 0x23d00 offset 0xa0 filesize 0x9c68 New segment addr 0x123d00 size 0x48 offset 0x9d20 filesize 0x48 (cleaned up) New segment addr 0x123d00 size 0x48 offset 0x9d20 filesize 0x48 Dropping non PT_LOAD segment Loading Segment: addr: 0x0000000000100000 memsz: 0x0000000000023d00 filesz: 0x0000000000009c68 Clearing Segment: addr: 0x0000000000109c68 memsz: 0x000000000001a098 Loading Segment: addr: 0x0000000000123d00 memsz: 0x0000000000000048 filesz: 0x0000000000000048 Jumping to boot code at 0x1078c4
PCI: 00:13.0 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...failed
What could be a reason for that?
Moving GDT to 0x500...ok Wrote linuxbios table at: 00000530 - 000006c4 checksum a262
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman.
...
Loading Segment: addr: 0x0000000000100000 memsz: 0x0000000000023d00 filesz: 0x0000000000009c68 Clearing Segment: addr: 0x0000000000109c68 memsz: 0x000000000001a098 Loading Segment: addr: 0x0000000000123d00 memsz: 0x0000000000000048 filesz: 0x0000000000000048 Jumping to boot code at 0x1078c4
Filo tries first to init vga and serial, disabling vga makes no different, it fails too.
Serial needs an IRQ, right?
Is there any callback from filo to LB? Needs filo the LB Irq Table on 0xf0000 to initialise?
chris
* Christian Sühs chris@suehsi.de [060421 15:27]:
PCI: 00:13.0 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...failed
What could be a reason for that?
CONFIG_COMPRESS is enabled. PIRQ tables are obsolete when you use ACPI, so if possible, go ACPI.
Stefan Reinauer schrieb:
- Christian Sühs chris@suehsi.de [060421 15:27]:
PCI: 00:13.0 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...failed
What could be a reason for that?
CONFIG_COMPRESS is enabled. PIRQ tables are obsolete when you use ACPI, so if possible, go ACPI.
Jup ;)
but now it works :D I don't know, what I have made wrong or what I have changed. It seems that false filo settings have made the trouble.
However, the board starts with eaglelion/5bcm target.
Ok, now I need the best way to get vga working. Any ideas? There is a Cyberpro 5000 on the board, normaly the vgabios is included in the factory bios. I think the chip is on the pci bus. Could I try the emulator to load the vgabios?
chris
Ok, now I need the best way to get vga working. Any ideas? There is a Cyberpro 5000 on the board, normaly the vgabios is included in the factory bios. I think the chip is on the pci bus. Could I try the emulator to load the vgabios?
Get linux up and get a serial console going. Then lspci (or do this from fuctory bios) to see what vga chip you have and where it is. If you don't have a copy of the vga binary then you will either need to rip it out of the fuctory bios image or boot under fuctory and then copy it from memory. The wiki has info on doing this.
Then you can test the bios on the target under the emulator. If it works then you can add the bios into your Linuxbios image and set the rom address accordingly so the emulator will run it on boot.
If it dosen't work.... Well then you get to debug it...*grin*
-- Richard A. Smith
Get linux up and get a serial console going. Then lspci (or do this from fuctory bios) to see what vga chip you have and where it is. If
Ok cat /proc/pci
gives an Intergraphics Cyberpro 5000 rev.2 on BUS 0, Device 9 That should be PCI.
you don't have a copy of the vga binary then you will either need to rip it out of the fuctory bios image or boot under fuctory and then copy it from memory. The wiki has info on doing this.
Of course, I have ripped the fuctory bios, yesterday :D
Then you can test the bios on the target under the emulator. If it
Mmmmmh, the test program under utils/x86emu? I can't compile this :(
to few arguments in pci_write() bla, blub
or an other program?
works then you can add the bios into your Linuxbios image and set the rom address accordingly so the emulator will run it on boot.
If it dosen't work.... Well then you get to debug it...*grin*
It will work :D
chris
-- Richard A. Smith
Then you can test the bios on the target under the emulator. If it
Mmmmmh, the test program under utils/x86emu? I can't compile this :(
to few arguments in pci_write() bla, blub or an other program?
Do you have the pci-utils dev sutff installed?
I just pulled a fresh copy last night. I'll see if I can build it.
-- Richard A. Smith
Do you have the pci-utils dev sutff installed?
I just pulled a fresh copy last night. I'll see if I can build it.
Builds Ok for me. Post up your build output.
-- Richard A. Smith
Richard Smith schrieb:
Do you have the pci-utils dev sutff installed?
I just pulled a fresh copy last night. I'll see if I can build it.
Builds Ok for me. Post up your build output.
Well, pci_userspace.c makes trouble.
All calls to pci_get_dev fails with to few arguments, because of the IF Versions check to libpci
but I should have the right version, because pci/pci.h declared the function with 5 arguments, but the check fails and try to compile with 4 arguments.
However, I have commented the IF stuff and it compiles fine. Now I will have a test and hope it works :D
chris
-- Richard A. Smith
However, I have commented the IF stuff and it compiles fine. Now I will have a test and hope it works :D
---------------------------
Ok, ./testbios -s 20k aw512n.bin running file aw512n.bin No base specified. defaulting to 0xc0000 No initial code segment specified. defaulting to 0xc000 No initial instruction pointer specified. defaulting to 0x0003 inb(0x0080) = 0x92 updating int vector 0x0
----------------------
no more :D --> is that right?
while the program runs, I have switched around the consoles, but all seems normal. Restarting X, normal too.
<STRG>C
program stops, all is normal ;)
What do this piece of code?
changing the running code in rom to the files code?
chris
* Richard Smith smithbone@gmail.com [060421 18:52]:
Then you can test the bios on the target under the emulator. If it
Mmmmmh, the test program under utils/x86emu? I can't compile this :(
to few arguments in pci_write() bla, blub or an other program?
Do you have the pci-utils dev sutff installed?
I just pulled a fresh copy last night. I'll see if I can build it.
newer versions of pciutils want the pci domain in addition to bus:dev:fn
Stefan
newer versions of pciutils want the pci domain in addition to bus:dev:fn
Oh yeah I remember that now. His pciutils library is too old and there isn't an easy way to detect which one is in use. 64-bit systems require the newer pciutils IIRC.
Wasn't their some option in the makefile to choose what lib to use?
-- Richard A. Smith
* Richard Smith smithbone@gmail.com [060422 00:26]:
newer versions of pciutils want the pci domain in addition to bus:dev:fn
Oh yeah I remember that now. His pciutils library is too old and there isn't an easy way to detect which one is in use. 64-bit systems require the newer pciutils IIRC.
Wasn't their some option in the makefile to choose what lib to use?
There's this macro in pci-userspace.c: #define LIBPCI_CHECK_VERSION(major,minor,micro) \ ( (LIBPCI_MAJOR_VERSION > (major)) || \ (LIBPCI_MAJOR_VERSION == (major) && LIBPCI_MINOR_VERSION > (minor)) || \ (LIBPCI_MAJOR_VERSION == (major) && LIBPCI_MINOR_VERSION == (minor)) && \ LIBPCI_MICRO_VERSION >= (micro) )
but for some reason it doesn't seem to work.. I guess LIBPCI_MAJOR_VERSION et al are not set correctly anymore or something in most recent pciutil version
Christian, what pciutils/libpci version are you using?
Stefan Reinauer schrieb:
- Richard Smith smithbone@gmail.com [060422 00:26]:
newer versions of pciutils want the pci domain in addition to bus:dev:fn
Oh yeah I remember that now. His pciutils library is too old and there isn't an easy way to detect which one is in use. 64-bit systems require the newer pciutils IIRC.
Wasn't their some option in the makefile to choose what lib to use?
There's this macro in pci-userspace.c: #define LIBPCI_CHECK_VERSION(major,minor,micro) \ ( (LIBPCI_MAJOR_VERSION > (major)) || \ (LIBPCI_MAJOR_VERSION == (major) && LIBPCI_MINOR_VERSION > (minor)) || \ (LIBPCI_MAJOR_VERSION == (major) && LIBPCI_MINOR_VERSION == (minor)) && \ LIBPCI_MICRO_VERSION >= (micro) )
but for some reason it doesn't seem to work.. I guess LIBPCI_MAJOR_VERSION et al are not set correctly anymore or something in most recent pciutil version
Christian, what pciutils/libpci version are you using?
I have pciutils-2.2.1 installed. I should have > 2.1.99 ;) to compile testbios. I will have a look to a newer version and try it again also I will check the settings to LIBPCI_MAJOR_VERSION
chris
you don't have a copy of the vga binary then you will either need to rip it out of the fuctory bios image or boot under fuctory and then copy it from memory. The wiki has info on doing this.
Then you can test the bios on the target under the emulator. If it
How? The whole bios? or the vgabios.bin only.
I get this rare output (describe before), if I try to start testbios with the vgabios only. Means, the extracted vgabios only :D
chris
Christian Sühs wrote:
PCI: 00:13.0 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...failed
you need to make sure shadow bios is enabled, OR just build it with CONFIG_COMPRESS=0. IF you build with CONFIG_COMPRESS=0, you will still get this message, but it does not matter. =
Filo tries first to init vga and serial, disabling vga makes no different, it fails too.
Serial needs an IRQ, right?
not for filo.
be sure to rebuild filo completely if you turn off vga in config. OR I can send you a known-good serial-only filo
Is there any callback from filo to LB?
no. LB does not have callbacks.
Needs filo the LB Irq Table on 0xf0000 to initialise?
no.
thanks
ron