Micron Confidential Awesome, got it working. Thanks.
From: Gabe Black via gem5-users <[email protected]> Sent: Thursday, November 05, 2020 12:20 AM To: gem5 users mailing list <[email protected]> Cc: Gabe Black <[email protected]> Subject: [EXT] [gem5-users] Re: Using m5Ops with X86KvmCPU Yes, but you need to use the magic address call mechanism, not the default special instruction mechanism which KVM doesn't recognize since it's executing on real hardware. If you're calling from userspace, then you can use the map_m5_mem() function to mmap /dev/mem so you can access the right physical address, and then use the m5_exit_addr function (this CL adds it to the header: https://gem5-review.googlesource.com/c/public/gem5/+/36896<https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgem5-review.googlesource.com%2Fc%2Fpublic%2Fgem5%2F%2B%2F36896&data=04%7C01%7Cpsheridan%40micron.com%7Cec2523b39d894200cdf208d8815b41e2%7Cf38a5ecd28134862b11bac1d563c806f%7C0%7C0%7C637401576233491082%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wJnE7iIZ06Af3E%2FWjIjDvzp9yx58jPZsWybgfe62oFA%3D&reserved=0>). It looks like you're calling it from the kernel which the library was not designed to handle. Instead of calling map_m5_mem, you'd need to set up a virtual to physical mapping for the magic address on your own somehow, and then set the m5_mem pointer to whatever virtual address it should use. Gabe On Wed, Nov 4, 2020 at 3:00 PM Patrick Sheridan (psheridan) via gem5-users <[email protected]<mailto:[email protected]>> wrote: Micron Confidential I was wondering if it is possible to use m5ops (e.g. m5_exit(0)) while using the X86KvmCPU. Currently, when I hit this instruction, rather than exiting, the kernel panics with the message below. If this is not possible, is there a workaround to use the X86KvmCPU to fast-forward to a region of interest? traps: Application[1] trap invalid opcode ip:402459 sp:7fff84d38c00 error:0 in Application[400000+10000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004 CPU: 0 PID: 1 Comm: Application Not tainted 5.2.3 #3 Hardware name: , BIOS 06/08/2008 Call Trace: dump_stack+0x46/0x59 panic+0xf6/0x2b7 do_exit+0x513/0x951 do_group_exit+0x93/0x93 get_signal+0x68a/0x6b0 ? try_to_wake_up+0x311/0x337 do_signal+0x2b/0x4e1 ? signal_wake_up_state+0x11/0x21 ? __send_signal.constprop.0+0x1f2/0x2da ? invalid_op+0xa/0x20 exit_to_usermode_loop+0x38/0x8b ? invalid_op+0xa/0x20 prepare_exit_to_usermode+0x66/0x91 retint_user+0x8/0x8 RIP: 0033:0x402459 Code: Bad RIP value. RSP: 002b:00007fff84d38c00 EFLAGS: 00010246 RAX: 0000000000000051 RBX: 00007fff84d38e78 RCX: 00007f781ac20133 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000001 R08: 0000000000000051 R09: 000000000000002e R10: 00007fff84d38a23 R11: 0000000000000246 R12: 00007fff84d38e58 R13: 00007fff84d38e50 R14: 0000000000000000 R15: 0000000000000000 Kernel Offset: disabled ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004 ]--- Micron Confidential _______________________________________________ gem5-users mailing list -- [email protected]<mailto:[email protected]> To unsubscribe send an email to [email protected]<mailto:[email protected]> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s Micron Confidential
_______________________________________________ gem5-users mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
