I got the stack in ram works. it when execute the
dump_mem(dst, dst+0x100); print_debug("Jumping to LinuxBIOS.\r\n");
__asm__ volatile ( "cli\n\t" "leal _iseg, %edi\n\t" "jmp %edi\n\t" );
in copy_and_run.c, the jmp will cause cpu_reset.... It's strang....
I want to check in the cache_as_ram code, and it can coexist with old romcc code, ( by USE_DCACHE_RAM to switch..) Please let me know if you want to check that code in......
YH
LinuxBIOS-1.1.8_s2891_Fallback Mon Jun 13 14:33:38 PDT 2005 starting...
(0,1) link=01
(1,0) link=00 02 nodes initialized. SBLink=00 NC node|link=00 NC node|link=02 busn=06 ht reset -
LinuxBIOS-1.1.8_s2891_Fallback Mon Jun 13 14:33:38 PDT 2005 starting... (0,1) link=01 (1,0) link=00 02 nodes initialized. SBLink=00 NC node|link=00 NC node|link=02 busn=06 SMBus controller enabled Ram1.00 Ram1.01 Ram2.00 Ram2.01 Ram3 Initializing memory: done Initializing memory: done Ram4 v_esp=000cfe84 Clearing initial memory region: No cache as ram now - Use Ram as Stack now - done Copying LinuxBIOS to ram. src=fffe9c84 dst=00004000
0x00004000: fa 2e 0f 01 15 31 41 00 00 ea 10 40 00 00 10 00 0x00004010: b8 18 00 00 00 8e d8 8e c0 8e d0 8e e0 8e e8 b0 0x00004020: 13 e6 80 8d 3d 00 e0 03 00 b9 00 60 04 00 29 f9 0x00004030: 31 c0 f3 aa 8d 3d 70 54 02 00 b9 e8 dd 03 00 29 0x00004040: f9 74 04 31 c0 f3 aa bc 00 60 04 00 6a 00 6a 00 0x00004050: 55 89 e5 8d 3d 10 ad 01 00 8d 1d 9a 40 00 00 b8 0x00004060: 00 00 10 00 66 89 d8 89 da 66 ba 00 8e 89 47 00 0x00004070: 89 57 04 83 c3 06 83 c7 08 81 ff b0 ad 01 00 75 0x00004080: e3 0f 01 1d 08 ad 01 00 b0 fe e6 80 89 ec e8 a5 0x00004090: 42 00 00 b0 ee e6 80 f4 eb f9 6a 00 6a 00 eb 72 0x000040a0: 6a 00 6a 01 eb 6c 6a 00 6a 02 eb 66 6a 00 6a 03 0x000040b0: eb 60 6a 00 6a 04 eb 5a 6a 00 6a 05 eb 54 6a 00 0x000040c0: 6a 06 eb 4e 6a 00 6a 07 eb 48 6a 08 eb 44 90 90 0x000040d0: 6a 00 6a 09 eb 3c 6a 0a eb 38 90 90 6a 0b eb 32 0x000040e0: 90 90 6a 0c eb 2c 90 90 6a 0d eb 26 90 90 6a 0e 0x000040f0: eb 20 90 90 6a 00 6a 0f eb 18 6a 00 6a 10 eb 12 Jumping to LinuxBIOS. Clearing initial memory region: No cache as ram now - Use Ram as Stack now - done Copying LinuxBIOS to ram. src=fffe9c84 dst=00004000
0x00004000: fa 2e 0f 01 15 31 41 00 00 ea 10 40 00 00 10 00 0x00004010: b8 18 00 00 00 8e d8 8e c0 8e d0 8e e0 8e e8 b0 0x00004020: 13 e6 80 8d 3d 00 e0 03 00 b9 00 60 04 00 29 f9 0x00004030: 31 c0 f3 aa 8d 3d 70 54 02 00 b9 e8 dd 03 00 29 0x00004040: f9 74 04 31 c0 f3 aa bc 00 60 04 00 6a 00 6a 00 0x00004050: 55 89 e5 8d 3d 10 ad 01 00 8d 1d 9a 40 00 00 b8 0x00004060: 00 00 10 00 66 89 d8 89 da 66 ba 00 8e 89 47 00 0x00004070: 89 57 04 83 c3 06 83 c7 08 81 ff b0 ad 01 00 75 0x00004080: e3 0f 01 1d 08 ad 01 00 b0 fe e6 80 89 ec e8 a5 0x00004090: 42 00 00 b0 ee e6 80 f4 eb f9 6a 00 6a 00 eb 72 0x000040a0: 6a 00 6a 01 eb 6c 6a 00 6a 02 eb 66 6a 00 6a 03 0x000040b0: eb 60 6a 00 6a 04 eb 5a 6a 00 6a 05 eb 54 6a 00 0x000040c0: 6a 06 eb 4e 6a 00 6a 07 eb 48 6a 08 eb 44 90 90 0x000040d0: 6a 00 6a 09 eb 3c 6a 0a eb 38 90 90 6a 0b eb 32 0x000040e0: 90 90 6a 0c eb 2c 90 90 6a 0d eb 26 90 90 6a 0e 0x000040f0: eb 20 90 90 6a 00 6a 0f eb 18 6a 00 6a 10 eb 12 Jumping to LinuxBIOS. Clearing initial memory region: No cache as ram now - Use Ram as Stack now - done Copying LinuxBIOS to ram. src=fffe9c84 dst=00004000