Hi Stepen , Thanks !!!
I tried to use the same sequence of RAM initialisation as is in northbridge/via/vt8601/raminit.c but i have use the legacy bios value whenever i am try to program the register you pointed out. I have also programmed Reg 50-55 for CPU setup with the proper value from the legacy BIOS.Did proper setting for 0xf8 and 0xf9 at the end of DRAM initialisation.
Still it is not jumping. I guess i am missing somewhere in the sequence of initialisation . If u have any pointer , pls let me know. Some of the more facts , i would like to tell you 1.I am enabling Shadow ram before starting the ram initialization. I dont know what impact it will make. Shadow ram register are 0x61, 0x62 and 0x63. 2. After SDRAM normal operation setiing to the 0x6c register, i am setting 0x5A-0x5F and 0x56,0x57 , 0x58 with the correct value as per the legacy BIOS. (Will this impact??). 3. I have also include the dump of northbridge device, pls have a look.
---------------------- You were talking of Crystall Ball, can u tell me in details or any url to get this?? -----------------------
This is the new log after setting the required register. ----------------------------------------------------------------------------------------------- Enabling vt82c686a_serial ...Enabling UART...Initializing Console ... LinuxBIOS-2.0.0.SANJAY Mon Mar 26 03:18:17 IST 2007 starting... Enabling Mainboard Devices ...Enabling smbus ...01 is the comm register SMBus controller enabled Enabling shadow ram... Setting SDRAM Registervt8605 init starting 00000000 is the north 1106 0605 01d4 is the computed timing Enabling SDRAMNOP PRECHARGE DUMMY READS CBR MRS NORMAL set ref. rate enable multi-page open Slot 00 is SDRAM 08000000 bytes x2 0100 is the chip size 000e is the MA type vt8605 done Testing DRAM : 00000000-000a0000 DRAM fill: 00000000-000a0000 00000000 00010000 00020000 00030000 00040000 00050000 00060000 00070000 00080000 00090000 000a0000 DRAM filled DRAM verify: 00000000-000a0000 00000000 00010000 00020000 00030000 00040000 00050000 00060000 00070000 00080000 00090000 000a0000 DRAM range verified. Done. Testing DRAM : 00100000-01000000 DRAM fill: 00100000-01000000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001a0000 001b0000 001c0000 001d0000 001e0000 001f0000 00200000 00210000 00220000 00230000 00240000 00250000 00260000 00270000 00280000 00290000 002a0000 002b0000 002c0000 002d0000 002e0000 002f0000 00300000 00310000 00320000 00330000 00340000 00350000 00360000 00370000 00380000 00390000 003a0000 003b0000 003c0000 003d0000 003e0000 003f0000 00400000 00410000 00420000 00430000 00440000 00450000 00460000 00470000 00480000 00490000 004a0000 004b0000 004c0000 004d0000 004e0000 004f0000 00500000 00510000 00520000 00530000 00540000 00550000 00560000 00570000 00580000 00590000 005a0000 005b0000 005c0000 005d0000 005e0000 005f0000 00600000 00610000 00620000 00630000 00640000 00650000 00660000 00670000 00680000 00690000 006a0000 006b0000 006c0000 006d0000 006e0000 006f0000 00700000 00710000 00720000 00730000 00740000 00750000 00760000 00770000 00780000 00790000 007a0000 007b0000 007c0000 007d0000 007e0000 007f0000 00800000 00810000 00820000 00830000 00840000 00850000 00860000 00870000 00880000 00890000 008a0000 008b0000 008c0000 008d0000 008e0000 008f0000 00900000 00910000 00920000 00930000 00940000 00950000 00960000 00970000 00980000 00990000 009a0000 009b0000 009c0000 009d0000 009e0000 009f0000 00a00000 00a10000 00a20000 00a30000 00a40000 00a50000 00a60000 00a70000 00a80000 00a90000 00aa0000 00ab0000 00ac0000 00ad0000 00ae0000 00af0000 00b00000 00b10000 00b20000 00b30000 00b40000 00b50000 00b60000 00b70000 00b80000 00b90000 00ba0000 00bb0000 00bc0000 00bd0000 00be0000 00bf0000 00c00000 00c10000 00c20000 00c30000 00c40000 00c50000 00c60000 00c70000 00c80000 00c90000 00ca0000 00cb0000 00cc0000 00cd0000 00ce0000 00cf0000 00d00000 00d10000 00d20000 00d30000 00d40000 00d50000 00d60000 00d70000 00d80000 00d90000 00da0000 00db0000 00dc0000 00dd0000 00de0000 00df0000 00e00000 00e10000 00e20000 00e30000 00e40000 00e50000 00e60000 00e70000 00e80000 00e90000 00ea0000 00eb0000 00ec0000 00ed0000 00ee0000 00ef0000 00f00000 00f10000 00f20000 00f30000 00f40000 00f50000 00f60000 00f70000 00f80000 00f90000 00fa0000 00fb0000 00fc0000 00fd0000 00fe0000 00ff0000 01000000 DRAM filled DRAM verify: 00100000-01000000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001a0000 001b0000 001c0000 001d0000 001e0000 001f0000 00200000 00210000 00220000 00230000 00240000 00250000 00260000 00270000 00280000 00290000 002a0000 002b0000 002c0000 002d0000 002e0000 002f0000 00300000 00310000 00320000 00330000 00340000 00350000 00360000 00370000 00380000 00390000 003a0000 003b0000 003c0000 003d0000 003e0000 003f0000 00400000 00410000 00420000 00430000 00440000 00450000 00460000 00470000 00480000 00490000 004a0000 004b0000 004c0000 004d0000 004e0000 004f0000 00500000 00510000 00520000 00530000 00540000 00550000 00560000 00570000 00580000 00590000 005a0000 005b0000 005c0000 005d0000 005e0000 005f0000 00600000 00610000 00620000 00630000 00640000 00650000 00660000 00670000 00680000 00690000 006a0000 006b0000 006c0000 006d0000 006e0000 006f0000 00700000 00710000 00720000 00730000 00740000 00750000 00760000 00770000 00780000 00790000 007a0000 007b0000 007c0000 007d0000 007e0000 007f0000 00800000 00810000 00820000 00830000 00840000 00850000 00860000 00870000 00880000 00890000 008a0000 008b0000 008c0000 008d0000 008e0000 008f0000 00900000 00910000 00920000 00930000 00940000 00950000 00960000 00970000 00980000 00990000 009a0000 009b0000 009c0000 009d0000 009e0000 009f0000 00a00000 00a10000 00a20000 00a30000 00a40000 00a50000 00a60000 00a70000 00a80000 00a90000 00aa0000 00ab0000 00ac0000 00ad0000 00ae0000 00af0000 00b00000 00b10000 00b20000 00b30000 00b40000 00b50000 00b60000 00b70000 00b80000 00b90000 00ba0000 00bb0000 00bc0000 00bd0000 00be0000 00bf0000 00c00000 00c10000 00c20000 00c30000 00c40000 00c50000 00c60000 00c70000 00c80000 00c90000 00ca0000 00cb0000 00cc0000 00cd0000 00ce0000 00cf0000 00d00000 00d10000 00d20000 00d30000 00d40000 00d50000 00d60000 00d70000 00d80000 00d90000 00da0000 00db0000 00dc0000 00dd0000 00de0000 00df0000 00e00000 00e10000 00e20000 00e30000 00e40000 00e50000 00e60000 00e70000 00e80000 00e90000 00ea0000 00eb0000 00ec0000 00ed0000 00ee0000 00ef0000 00f00000 00f10000 00f20000 00f30000 00f40000 00f50000 00f60000 00f70000 00f80000 00f90000 00fa0000 00fb0000 00fc0000 00fd0000 00fe0000 00ff0000 01000000 DRAM range verified. Done. DUMP NORTH 00:06 11 05 06 06 00 10 22 00 00 00 06 00 00 00 00 10:08 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 a0 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:fd db c8 fe 02 00 20 20 e0 00 10 20 20 20 20 20 60:3f 2a 00 30 e6 00 00 00 41 7c 43 0f 08 21 00 00 70:00 00 00 00 00 00 00 00 01 f0 00 02 00 00 00 00 80:00 40 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:02 c0 20 00 01 02 00 1f 00 00 00 00 00 02 00 00 b0:80 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0:01 00 02 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 04 00 32 42 00 00 00 00 00 00 *************End of AUTO.C************ Copying LinuxBIOS to RAM. Jumping to LinuxBIOS.
sanjay tiwary stiwary20@yahoo.com wrote: Hi Stepen,
I would like to thank you for the movitation you given to me.
A. For the conveniance of clarity, i am again recapitulate the facts/figures about my board. 1. Northbridge: VT8605 almost similar to VT8601 or VT8603 2.Southbridge: VT 82C686 which has integrated super I/O controller 3. CPU: 300Mhz Celeron Processor 4. Memory: 512 MB SDRAM --------------------------------------------------------- if any other info, pls let me know
B. -------- 1. In this mail, i am sending you data as much as possible for you comments/suggestion for improvment the porting process. 2. Now i would like to ask couple of question. Since raminit does not complain any failure and ramcheck also passes ramtest.Next, code in crt0.S is able to copy the code from ROM to RAM. I am also able to read the code and print them in the serial output.So my question is, if i am able to read/write correct data to/from RAM, why is there doubt on incorrect DRAM initialisation? If i am not able to jump to a designated place (0x4000) in RAM simply due incorrect DRAM initialisation, then what are those things which i am not taking care of during DRAM initialization? Can u pls hightlight those area in RAMINIT so that i can re-walk those area. 3. if really, the DRAM initialization is correct, then what are the factors that may stop/misdirect the control to jump to a correct location in RAM. I tried to print the contents from the RAM which is copied from the ROM to RAM in the start of crt0.S, they are byte by byte same as is for c_start.o
4. Are there any role of the register like AX,BX, CX and DX & other index register while control is try to jump at ram location. For reference, i am also printed the contents of the register before jumping i.e jmp *%edi 5. In my config, i have set DCAHE_RAM =0
6. i have compared the register dump for linuxbios and legacy bios.They are not exactly same. Should i try to cpmpare the entire dump or the register dump of device 00.0 only?
B. I would also like to give you the register dump( for the Device 00.0) of legacy BIOS The ouput given below has been taken by lspci -------------------------------------------------------------------- 00: 06 11 05 06 06 00 10 22 00 00 00 06 00 00 00 00 10: 08 00 00 ec 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 a0 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: fd db c8 fe 02 00 20 20 e0 00 10 20 20 20 20 20 60: 3f 2a 00 a0 e6 00 00 00 41 7c 43 0f 08 21 00 00 70: c4 80 cc 0c 0e a1 d2 00 01 b4 09 00 00 00 00 00 80: 0f 40 00 00 c0 00 00 00 02 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: 02 c0 20 00 01 02 00 1f 00 00 00 00 27 12 00 00 b0: c0 ff 10 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 01 00 02 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: 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 04 00 32 42 00 b0 00 00 00 00
C. linuxbios log ------------------------------------------------------------------------ LinuxBIOS-2.0.0.fallback Fri Mar 23 18:50:48 IST 2007 starting... 01 is the comm register SMBus controller enabled vt8605 init starting 00000000 is the north 1106 0605 0120NOP PRECHARGE DUMMY READS CBR MRS NORMAL set ref. rate enable multi-page open Register Dump (from LinuxBIOS) for Device 00.0 -------------------------------------------------- 00:06 11 05 06 06 00 10 22 00 00 00 06 00 00 00 00 10:08 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 a0 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:ac 08 80 03 00 00 20 20 e0 00 20 20 20 20 20 20 60:3f 00 00 30 e6 00 00 00 41 7c 43 01 08 21 00 00 70:00 00 00 00 00 00 00 00 01 f0 00 02 00 00 00 00 80:00 c0 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:02 c0 20 00 01 02 00 1f 00 00 00 00 00 02 00 00 b0:80 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0:01 00 02 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 04 00 00 00 00 00 00 00 00 00
---Register Dump End here-------------------------- ---RAM CHECKING (from 0-640K & 1M-16M)------------- Testing DRAM : 00000000-000a0000 DRAM fill: 00000000-000a0000 00000000 00010000 00020000 00030000 00040000 00050000 00060000 00070000 00080000 00090000 000a0000 DRAM filled DRAM verify: 00000000-000a0000 00000000 00010000 00020000 00030000 00040000 00050000 00060000 00070000 00080000 00090000 000a0000 DRAM range verified. Done.
Testing DRAM : 00100000-01000000 DRAM fill: 00100000-01000000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001a0000 001b0000 001c0000 001d0000 001e0000 001f0000 00200000 00210000 00220000 00230000 00240000 00250000 00260000 00270000 00280000 00290000 002a0000 002b0000 002c0000 002d0000 002e0000 002f0000 00300000 00310000 00320000 00330000 00340000 00350000 00360000 00370000 00380000 00390000 003a0000 003b0000 003c0000 003d0000 003e0000 003f0000 00400000 00410000 00420000 00430000 00440000 00450000 00460000 00470000 00480000 00490000 004a0000 004b0000 004c0000 004d0000 004e0000 004f0000 00500000 00510000 00520000 00530000 00540000 00550000 00560000 00570000 00580000 00590000 005a0000 005b0000 005c0000 005d0000 005e0000 005f0000 00600000 00610000 00620000 00630000 00640000 00650000 00660000 00670000 00680000 00690000 006a0000 006b0000 006c0000 006d0000 006e0000 006f0000 00700000 00710000 00720000 00730000 00740000 00750000 00760000 00770000 00780000 00790000 007a0000 007b0000 007c0000 007d0000 007e0000 007f0000 00800000 00810000 00820000 00830000 00840000 00850000 00860000 00870000 00880000 00890000 008a0000 008b0000 008c0000 008d0000 008e0000 008f0000 00900000 00910000 00920000 00930000 00940000 00950000 00960000 00970000 00980000 00990000 009a0000 009b0000 009c0000 009d0000 009e0000 009f0000 00a00000 00a10000 00a20000 00a30000 00a40000 00a50000 00a60000 00a70000 00a80000 00a90000 00aa0000 00ab0000 00ac0000 00ad0000 00ae0000 00af0000 00b00000 00b10000 00b20000 00b30000 00b40000 00b50000 00b60000 00b70000 00b80000 00b90000 00ba0000 00bb0000 00bc0000 00bd0000 00be0000 00bf0000 00c00000 00c10000 00c20000 00c30000 00c40000 00c50000 00c60000 00c70000 00c80000 00c90000 00ca0000 00cb0000 00cc0000 00cd0000 00ce0000 00cf0000 00d00000 00d10000 00d20000 00d30000 00d40000 00d50000 00d60000 00d70000 00d80000 00d90000 00da0000 00db0000 00dc0000 00dd0000 00de0000 00df0000 00e00000 00e10000 00e20000 00e30000 00e40000 00e50000 00e60000 00e70000 00e80000 00e90000 00ea0000 00eb0000 00ec0000 00ed0000 00ee0000 00ef0000 00f00000 00f10000 00f20000 00f30000 00f40000 00f50000 00f60000 00f70000 00f80000 00f90000 00fa0000 00fb0000 00fc0000 00fd0000 00fe0000 00ff0000 01000000 DRAM filled DRAM verify: 00100000-01000000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001a0000 001b0000 001c0000 001d0000 001e0000 001f0000 00200000 00210000 00220000 00230000 00240000 00250000 00260000 00270000 00280000 00290000 002a0000 002b0000 002c0000 002d0000 002e0000 002f0000 00300000 00310000 00320000 00330000 00340000 00350000 00360000 00370000 00380000 00390000 003a0000 003b0000 003c0000 003d0000 003e0000 003f0000 00400000 00410000 00420000 00430000 00440000 00450000 00460000 00470000 00480000 00490000 004a0000 004b0000 004c0000 004d0000 004e0000 004f0000 00500000 00510000 00520000 00530000 00540000 00550000 00560000 00570000 00580000 00590000 005a0000 005b0000 005c0000 005d0000 005e0000 005f0000 00600000 00610000 00620000 00630000 00640000 00650000 00660000 00670000 00680000 00690000 006a0000 006b0000 006c0000 006d0000 006e0000 006f0000 00700000 00710000 00720000 00730000 00740000 00750000 00760000 00770000 00780000 00790000 007a0000 007b0000 007c0000 007d0000 007e0000 007f0000 00800000 00810000 00820000 00830000 00840000 00850000 00860000 00870000 00880000 00890000 008a0000 008b0000 008c0000 008d0000 008e0000 008f0000 00900000 00910000 00920000 00930000 00940000 00950000 00960000 00970000 00980000 00990000 009a0000 009b0000 009c0000 009d0000 009e0000 009f0000 00a00000 00a10000 00a20000 00a30000 00a40000 00a50000 00a60000 00a70000 00a80000 00a90000 00aa0000 00ab0000 00ac0000 00ad0000 00ae0000 00af0000 00b00000 00b10000 00b20000 00b30000 00b40000 00b50000 00b60000 00b70000 00b80000 00b90000 00ba0000 00bb0000 00bc0000 00bd0000 00be0000 00bf0000 00c00000 00c10000 00c20000 00c30000 00c40000 00c50000 00c60000 00c70000 00c80000 00c90000 00ca0000 00cb0000 00cc0000 00cd0000 00ce0000 00cf0000 00d00000 00d10000 00d20000 00d30000 00d40000 00d50000 00d60000 00d70000 00d80000 00d90000 00da0000 00db0000 00dc0000 00dd0000 00de0000 00df0000 00e00000 00e10000 00e20000 00e30000 00e40000 00e50000 00e60000 00e70000 00e80000 00e90000 00ea0000 00eb0000 00ec0000 00ed0000 00ee0000 00ef0000 00f00000 00f10000 00f20000 00f30000 00f40000 00f50000 00f60000 00f70000 00f80000 00f90000 00fa0000 00fb0000 00fc0000 00fd0000 00fe0000 00ff0000 01000000 DRAM range verified. Done. -------------END OF AUTO.C----------------------------------
vt8605 done
-----WE are in crt0.S------- Copying LinuxBIOS to RAM. --regsister dump when copying is done----- Printing eax=00003333 Printing ebx=ffffd14a Printing ecx=00000000 Printing edx=ffff03f8 Printing esi=ffff7094 Printing edi=00004000 Printing cs=00000008 Printing ds=00000010 End of Register dump
Memory dump (from RAM 0x4000 upto 7094byte) [I have intentionaly put some ee at the start of c_start.s for conveniance of identification. I have also deleted some of the last byte for saving space] ------------------------------------------- ee2e0f011538410000ea104000001000b8180000008ed88ec08ed08ee08ee8b013 e680fc8d3d00600100b90080010029f9c1e90231c0f3ab8d3d2c340100b9e85401 0029f97407c1e90231c0f3abbc008001006a006a005589e58d3d10dc00008d1da1 400000b8000010006689d889da66ba008e89470089570483c30683c70881ffb0dc 000075e30f011d08dc0000b0fee68089ece8a21e0000b0eee680f4ebf96a006a00 eb726a006a01eb6c6a006a02eb666a006a03eb606a006a04eb5a6a006a05eb546a 006a06eb4e6a006a07eb486a08eb4490906a006a09eb3c6a0aeb3890906a0beb32 90906a0ceb2c90906a0deb2690906a0eeb2090906a006a0feb186a006a10eb126a 11eb0e90906a006a12eb066a006a13eb005756558d6c2420555352515054e8b51e 00005858595a5b5d5d5e5f83c408cf2700e0db000090905589e56a036a0668f803 0000e8bf33000083c40cc9c35589e50fb645085068f8030000e838340000585ac9 c35589e568f8030000e8643400000fb6c0c9c35589e568f8030000e840340000c9 c39090905589e556538b750868d4c000006a07e8bc0700006a6c56e8b305000083 c8800fb6c0506a6c56e8330600006a7f6a4156e82906000083c4286a4056e88f05 00000fb6c0506a4056e8120600006a4256e87b05000083c8f00fb6c0506a4256e8 fb05000083c4286a4a56e86105000083c8080fb6c0506a4a56e8e10500006a4f56 e84a05000083c8080fb6c0506a4f56e8ca05000083c4286a036a5856e8bd050000 83c40c85f6741a6a5156e81f05000083c8180fb6c0506a5156e89f05000083c414 6a5056e80505000088c30fb6c05068e4c000006a07e8f406000081e3f700000053 6803c100006a07e8e106000083c420536a5056e8630500006a4c56e8cc04000088 c389d883e00f50681cc100006a07e8b906000081e3f000000083cb0483c42053683 6c100006a07e8a0060000536a4c56e8250500006a046a4656e81b05000083c4246a 036a4756e80e05000068980000006a6e56e8010500006a546a4056e8f704000083c 4246a00e8c24d00005668ecdc0000684fc100006a06e84d06000083c41485f6742a Jumping to LinuxBIOS. [After that, it simply hangs] --------------------------------------------------------------------------- if any other info is required to get out this problem, pls let me know.
Regards, Sanjay Stefan Reinauer stepan@coresystems.de wrote:
* sanjay tiwary [070323 14:20]:
Hi
I am not able to go beyound "Jumping to LinuxBIOS".Initially i thought it is a DRAM problem. But ram test passes. I am also able to read/write from/to RAM.So i guess my jump is not working. But i am not able to find out. So, Can anybody see the register dump which is taken before the jmp *%edi.
LinuxBIOS-"2.0.0"".fallback" "Fri Mar 23 18:28:27 IST 2007" starting... Copying LinuxBIOS to RAM. Printing eax=00003333 Printing ebx=ffffd14a Printing ecx=00000000 Printing edx=ffff03f8 Printing esi=ffff7092 Printing edi=00004000 Printing cs=00000008 Printing ds=00000010 End of Register dump
Sorry, this log contains no information useful for debugging the problem.
From the log it seems no memory init is done at all?
Is this still the vt8601 northbridge board? what southbridge? In one of your previous mails you wrote 82C686, in another one VT8231?
You don't post any code that would allow people to help you debug the problem.
The memory test in auto.c is not qualifying. If that jmp does not work, your memory does not work. It really is that simple. This can be frustrating, don't despair.
Have you compared northbridge register dumps between linuxbios and the legacy bios?