Hi all, I cannot make the detailed X86 CPU work with Gem5. O3 CPU simulation ended in a Kernel panic error. I have pasted the error message at the end of the mail.
I also tried creating a checkpoint (with X86 timing cpu), so that I can restore with a Detailed CPU later. But, that is also not working. I have observed the following problems. 1. I tried I tried with running with MOESI hammer protocol, but the simulation ended up in the following error. "TypeError: cannot connect 'system.ruby.dma_cntrl0.requestToDir' and 'system.ruby.network.master[24]' due to identical role 'MASTER,". 2. I tried check pointing with (MESI Two level protocol), but it failed with a Invalid Ruby Request error and the created checkpoint only had 3 files, with no pmem files. info: Entering event queue @ 4922425034000. Starting simulation... Writing checkpoint info: Entering event queue @ 4922425037200. Starting simulation... panic: Runtime Error at MESI_Two_Level-L1cache.sm:250: Invalid RubyRequestType. @ tick 4922425038400 3. Here is the error with detailed CPU (MESI Two level protocol). Command: build/X86/gem5.fast configs/example/fs.py --cpu-clock=2.5GHz --caches --ruby --cpu-type=detailed --num-cpus=4 --num-l2cache=4 --num-dirs=4 --l1i_size=32kB --l1d_size=32kB --l2_size=256kB --topology=Mesh --mesh-rows=2 --garnet-network=fixed --ruby-clock=2.5GHz portion of output: Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 1024K (64 bytes/line) mce: CPU supports 4 MCE banks MCE: unknown CPU type - not enabling MCE support. Performance Events: BUG: unable to handle kernel paging request at ffffffffc9830340 IP: [<ffffffffc9830377>] 0xffffffffc9830377 PGD 1003067 PUD 1004067 PMD 0 Thread overran stack, or stack corrupted Oops: 0010 [#1] SMP last sysfs file: CPU 0 Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.32.63 #1 RIP: 0010:[<ffffffffc9830377>] [<ffffffffc9830377>] 0xffffffffc9830377 RSP: 0018:ffffffff81643dd8 EFLAGS: 00000028 RAX: 0000000000020f76 RBX: 0000000000000805 RCX: 0000000000000001 RDX: 00000000e7dbfbff RSI: ffffffff81643e11 RDI: 00000000000002bc RBP: ffffffff81010d05 R08: 0000000000000090 R09: 0000000000000001 R10: 0000000000000000 R11: 0000000000000040 R12: 00000000000002bc R13: 0000000000000007 R14: 0000000000090200 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff880002200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: ffffffffc9830340 CR3: 0000000001001000 CR4: 00000000000006b0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000 Process swapper (pid: 0, threadinfo ffffffff81642000, task ffffffff81f50080) Stack: ffffffff81010d0d 00000000000002bc ffffffff8202aee8 ffffffff82033044 <0> ffffffff81010d05 ffffffff81011067 669066669d57001a ffffffff81649090 <0> 000000000000027c ffffffff8103faed ffffffff81643eb8 ffffffff8144eafc Call Trace: [<ffffffff81010d0d>] ? text_poke_early+0x3d/0x60 [<ffffffff81010d05>] ? text_poke_early+0x35/0x60 [<ffffffff81011067>] ? apply_paravirt+0xa7/0xd0 [<ffffffff8103faed>] ? vprintk+0x21d/0x430 [<ffffffff8144eafc>] ? printk+0x43/0x48 [<ffffffff8144eafc>] ? printk+0x43/0x48 [<ffffffff810aa0f0>] ? kmem_cache_alloc+0xb0/0xd0 [<ffffffff81453b16>] ? mutex_lock+0x16/0x50 [<ffffffff81011210>] ? alternatives_smp_module_add+0xd0/0x1a0 [<ffffffff8145b973>] ? _etext+0x0/0x1 [<ffffffff81fe54f6>] ? alternative_instructions+0xfc/0x125 [<ffffffff81fe5e12>] ? check_bugs+0xb/0x2b [<ffffffff81fdfb47>] ? start_kernel+0x347/0x357 [<ffffffff81fdf140>] ? early_idt_handler+0x0/0x71 [<ffffffff81fdf418>] ? x86_64_start_kernel+0xfd/0x10c Code: Bad RIP value. RIP [<ffffffffc9830377>] 0xffffffffc9830377 RSP <ffffffff81643dd8> CR2: ffffffffc9830340 ---[ end trace 9963c09d2d3a9a2e ]--- Kernel panic - not syncing: Attempted to kill the idle task! Pid: 0, comm: swapper Tainted: G D 2.6.32.63 #1 Call Trace: [<ffffffff8144ea07>] ? panic+0x7a/0x12c [<ffffffff81042adf>] ? do_exit+0x6af/0x720 [<ffffffff81455c1d>] ? oops_end+0x7d/0xb0 [<ffffffff8144e625>] ? no_context+0x1f1/0x200 [<ffffffff810268e0>] ? _paravirt_nop+0x0/0x10 [<ffffffff810268e0>] ? _paravirt_nop+0x0/0x10 [<ffffffff81010d05>] ? text_poke_early+0x35/0x60 [<ffffffff81454fb5>] ? page_fault+0x25/0x30 [<ffffffff81010d05>] ? text_poke_early+0x35/0x60 [<ffffffff81010d0d>] ? text_poke_early+0x3d/0x60 [<ffffffff81010d05>] ? text_poke_early+0x35/0x60 [<ffffffff81011067>] ? apply_paravirt+0xa7/0xd0 [<ffffffff8103faed>] ? vprintk+0x21d/0x430 [<ffffffff8144eafc>] ? printk+0x43/0x48 [<ffffffff8144eafc>] ? printk+0x43/0x48 [<ffffffff810aa0f0>] ? kmem_cache_alloc+0xb0/0xd0 [<ffffffff81453b16>] ? mutex_lock+0x16/0x50 [<ffffffff81011210>] ? alternatives_smp_module_add+0xd0/0x1a0 [<ffffffff8145b973>] ? _etext+0x0/0x1 [<ffffffff81fe54f6>] ? alternative_instructions+0xfc/0x125 [<ffffffff81fe5e12>] ? check_bugs+0xb/0x2b [<ffffffff81fdfb47>] ? start_kernel+0x347/0x357 [<ffffffff81fdf140>] ? early_idt_handler+0x0/0x71 [<ffffffff81fdf418>] ? x86_64_start_kernel+0xfd/0x10c Kindly let me know if its possible to run the O3 X86 cpu in Gem5. Karthi Duraisamy Research Scholar School of Electrical Engineering and Computer Science Washington State University _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
