Hello,
I want to make /dev/bios work because LinuxBIOS flash utils just write whereas /dev/bios is IMO a elegant way to read/write/>? to many bios.
My mainboard bios is a SST29EE020 (which is supported to write)
I do a setpci -s 0:11.0 40b.54 that's ok considering my lspci' output:
Device: 00:00.0 Class: Host bridge Vendor: VIA Technologies, Inc. Device: VT8601 [Apollo ProMedia] SVendor: VIA Technologies, Inc. SDevice: 6010 Rev: 05 00: 06 11 01 06 06 00 90 a2 05 00 00 06 00 08 00 00 10: 08 00 00 d0 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 06 11 10 60 30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00
Device: 00:01.0 Class: PCI bridge Vendor: VIA Technologies, Inc. Device: VT8601 [Apollo ProMedia AGP] 00: 06 11 01 86 07 00 30 a2 00 00 04 06 00 00 01 00 10: 00 00 00 00 00 00 00 00 00 01 01 00 f0 00 00 00 20: 00 e0 f0 e2 f0 ff 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 0c 00
Device: 00:11.0 Class: ISA bridge Vendor: VIA Technologies, Inc. Device: VT8231 [PCI-to-ISA Bridge] SVendor: VIA Technologies, Inc. SDevice: 6010 Rev: 10 00: 06 11 31 82 87 00 10 02 10 00 01 06 00 00 80 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 06 11 10 60 30: 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
Device: 00:11.1 Class: IDE interface Vendor: VIA Technologies, Inc. Device: VT82C586/B/686A/B PIPC Bus Master IDE SVendor: VIA Technologies, Inc. SDevice: 6010 Rev: 06 ProgIf: 8a 00: 06 11 71 05 07 00 90 02 06 8a 01 01 00 20 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 01 d0 00 00 00 00 00 00 00 00 00 00 06 11 10 60 30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 00 00 00
Device: 00:11.2 Class: USB Controller Vendor: VIA Technologies, Inc. Device: USB SVendor: VIA Technologies, Inc. (Wrong ID) SDevice: USB Controller Rev: 1e 00: 06 11 38 30 07 00 10 02 1e 00 03 0c 08 20 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 01 d4 00 00 00 00 00 00 00 00 00 00 25 09 34 12 30: 00 00 00 00 80 00 00 00 00 00 00 00 03 04 00 00
Device: 00:11.3 Class: USB Controller Vendor: VIA Technologies, Inc. Device: USB SVendor: VIA Technologies, Inc. (Wrong ID) SDevice: USB Controller Rev: 1e 00: 06 11 38 30 07 00 10 02 1e 00 03 0c 08 20 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 01 d8 00 00 00 00 00 00 00 00 00 00 25 09 34 12 30: 00 00 00 00 80 00 00 00 00 00 00 00 03 04 00 00
Device: 00:11.4 Class: Bridge Vendor: VIA Technologies, Inc. Device: VT8235 ACPI SVendor: VIA Technologies, Inc. SDevice: 6010 Rev: 10 00: 06 11 35 82 00 00 90 02 10 00 80 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 06 11 10 60 30: 00 00 00 00 68 00 00 00 00 00 00 00 00 00 00 00
Device: 00:11.5 Class: Multimedia audio controller Vendor: VIA Technologies, Inc. Device: VT82C686 AC97 Audio Controller SVendor: VIA Technologies, Inc. SDevice: 6010 Rev: 40 00: 06 11 58 30 01 00 10 02 40 00 01 04 00 00 00 00 10: 01 dc 00 00 01 e0 00 00 01 e4 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 10 60 30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 03 00 00
Device: 00:12.0 Class: Ethernet controller Vendor: VIA Technologies, Inc. Device: VT6102 [Rhine-II] SVendor: VIA Technologies, Inc. SDevice: VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 Rev: 51 00: 06 11 65 30 07 00 10 02 51 00 00 02 08 20 00 00 10: 01 e8 00 00 00 00 00 e3 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 02 01 30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 03 08
Device: 01:00.0 Class: VGA compatible controller Vendor: Trident Microsystems Device: CyberBlade/i1 SVendor: Trident Microsystems SDevice: CyberBlade/i1 Rev: 6a 00: 23 10 00 85 07 00 b0 02 6a 00 00 03 00 20 00 00 10: 00 00 80 e1 00 00 00 e2 00 00 00 e1 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 23 10 00 85 30: 00 00 00 00 80 00 00 00 00 00 00 00 0b 01 00 00
i do insmod bios ; dmesg| tail -3 says :
BIOS driver v0.3.2 (writing disabled) for 2.4.20-8 BIOS: host bridge is 1106, 601, 0 BIOS: isa bridge is 1106, 8231, 88 BIOS: 256k flashchip (ID 0x10bf) found at physical address 0xfff80000 (va=0xc80db000+0x180000).
so that seems to me quite ok but doing cat /proc/bios i got Erreur de segmentation (Segfault) and then doing dmesg| tail -30, I got:
BIOS driver v0.3.2 (writing disabled) for 2.4.20-8 BIOS: host bridge is 1106, 601, 0 BIOS: isa bridge is 1106, 8231, 88 BIOS: 256k flashchip (ID 0x10bf) found at physical address 0xfff80000 (va=0xc80db000+0x180000). invalid operand: 0000 bios via82cxxx_audio uart401 ac97_codec sound soundcore parport_pc lp parport autofs via-rhine mii ipt_REJECT iptable_filter ip_tables keybdev mousedev hid in CPU: 0 EIP: 0060:[<c80d43ea>] Not tainted EFLAGS: 00010283
EIP is at bios_read_proc [bios] 0xaa (2.4.20-8) eax: 000000cb ebx: 00000000 ecx: 000000cb edx: 00000000 esi: 00000001 edi: 00000c00 ebp: 00000030 esp: c7433f30 ds: 0068 es: 0068 ss: 0068 Process cat (pid: 2983, stackpage=c7433000) Stack: c5a7d0b6 c80d6eee c80d6ea4 c80d6d6b 00000005 00000000 00000001 c6cd5d40 00000c00 c5a7d000 00001000 c01602e6 c5a7d000 c7433f88 00000000 00000c00 c7433f84 00000000 c7432000 c6cd5d40 00000000 00000001 c5a7d000 0804cd48 Call Trace: [<c80d6eee>] .rodata.str1.1 [bios] 0x9ce (0xc7433f34)) [<c80d6ea4>] .rodata.str1.1 [bios] 0x984 (0xc7433f38)) [<c80d6d6b>] .rodata.str1.1 [bios] 0x84b (0xc7433f3c)) [<c01602e6>] proc_file_read [kernel] 0xb6 (0xc7433f5c)) [<c013fa25>] sys_read [kernel] 0x85 (0xc7433f9c)) [<c0109103>] system_call [kernel] 0x33 (0xc7433fc0))
Code: 0f 4f 44 24 3c 83 c4 1c 5b 5e 5f 5d c3 0f b7 85 74 99 0d c8
What went wrong ? Plus what is strange is that it can anyway read the bios with cat /dev/bios which is truely 262144 bytes but I'am wondering if it's clean or not, maybe i'am reading another bios. On this point actually, I can't exactly figure out how i could say to dev/bios read this bios or read that one. It so up levelled :) Am wandering where I can parameter it :)
Please explain me, I founding a big hope and true interest on dev/bios.
thanks in advance
mathieu
On 22 Apr 2004, Mathieu Deschamps wrote:
I want to make /dev/bios work because LinuxBIOS flash utils just write whereas /dev/bios is IMO a elegant way to read/write/>? to many bios.
If you're going to do that why not just use MTD? If it works it is pretty ideal.
ron
Le jeu 22/04/2004 à 15:51, ron minnich a écrit :
On 22 Apr 2004, Mathieu Deschamps wrote:
I want to make /dev/bios work because LinuxBIOS flash utils just write whereas /dev/bios is IMO a elegant way to read/write/>? to many bios.
If you're going to do that why not just use MTD? If it works it is pretty ideal.
ron
short answer: True this is the final goal.
other answer: This because of I gave myself several milestone before getting a LinuxBios booting my littlish kernel on DOC for embedded station.
First get my main bios open and same other bios chip mounted onto a PCI novotech card with a DIP to PLCC adapter, if it's possible.
I want to make it with dev/bios and the make a backup copy of my SST bios chip. I have done already one with someone that let me use his eeprom programmer, and well that horrible to handle, what a nightmare !!
So long live dev/bios and its cat /dev/bios > /dev/otherbios because I have never seen a such simple call doing so much that's truely elegant.
So I was saying, I want to make a(nother) backup copy with it, thus validating dev/bios : and if this new bios boots i'll go on
Burn onto it my linuxbios.bin with no payload, debug with serial port, understand, correct buggy things. When it seems to be all right, i'll go on.
I'll build a new linuxbios with a Hard disk IDE kernel payload , VGA support, Network support ... understand ... correct things... go on
Endly, I'll build a new lb : a kernel payload for a DOC onto a PCI card DOC slot. In the Doc I'll try to put the main bios this aims : 1 flash chip centralizing bios and os a shared goal I believe :) And to be able to upgrade OS and bios on the same go (would be a plus)...Server centralize various linuxbios to distribute to clients is also to courageous aim fo me.
In fact , we don't know how up this could go, so I let try to combine and see how far the rabbit hole runs ...
Oh ...nearly forgot, i try also to clean my source tree, and to document my work also to submit it to linuxbios community .
mathieu
On Thu, Apr 22, 2004 at 04:42:48PM +0200, Mathieu Deschamps wrote:
I want to make /dev/bios work because LinuxBIOS flash utils just write whereas /dev/bios is IMO a elegant way to read/write/>? to many bios.
If you're going to do that why not just use MTD? If it works it is pretty ideal.
short answer: True this is the final goal.
other answer: This because of I gave myself several milestone before getting a LinuxBios booting my littlish kernel on DOC for embedded station.
MTD is for all Memory Technology Devices - not just DOC.
See http://www.linux-mtd.infradead.org/ and then enable it in your nearest kernel. :)
//Peter
Le jeu 22/04/2004 à 18:15, Peter Stuge a écrit :
On Thu, Apr 22, 2004 at 04:42:48PM +0200, Mathieu Deschamps wrote:
I want to make /dev/bios work because LinuxBIOS flash utils just write whereas /dev/bios is IMO a elegant way to read/write/>? to many bios.
If you're going to do that why not just use MTD? If it works it is pretty ideal.
short answer: True this is the final goal.
other answer: This because of I gave myself several milestone before getting a LinuxBios booting my littlish kernel on DOC for embedded station.
MTD is for all Memory Technology Devices - not just DOC.
See http://www.linux-mtd.infradead.org/ and then enable it in your nearest kernel. :)
oh I know this quite well. I think I didn't made myself clear enough. Dev/bios opens or intents to open all the flash device of your hardware (that's explains read/write/>? MANY bios) , but I wondering if it could opens a DOC, since it's a IDE bus Flash device. Anyhow, DoC is the final goal first I intent to flash a "standard" bios chip
//Peter _______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
* Mathieu Deschamps mdeschamps@mangrove-systems.com [040423 09:20]:
oh I know this quite well. I think I didn't made myself clear enough. Dev/bios opens or intents to open all the flash device of your hardware (that's explains read/write/>? MANY bios) , but I wondering if it could opens a DOC, since it's a IDE bus Flash device.
No, /dev/bios can't do DOC. Only directly mapped chips (system bios, and in theory pci option roms) can be accessed. No DOC, no CF. You have to go MTD for those.
Stefan
On 23 Apr 2004, Mathieu Deschamps wrote:
oh I know this quite well. I think I didn't made myself clear enough. Dev/bios opens or intents to open all the flash device of your hardware (that's explains read/write/>? MANY bios) , but I wondering if it could opens a DOC, since it's a IDE bus Flash device.
My first and most successful use of MTD was for DoC. It worked very well.
ron
* Mathieu Deschamps mdeschamps@mangrove-systems.com [040422 15:37]:
BIOS driver v0.3.2 (writing disabled) for 2.4.20-8
Have you tried the bk version from bk clone bk://openbios.bkbits.net/unstable ?
Stefan