Hello, I'm working on a extension of gem5 to allow launching a thread using an instruction. My current work is to use the emulation mode.
I found a problem on my code at the last part of the following process. At first, I have an instruction to start a core with a selected context information. Then, the thread do some tasks and when the thread finishes, I execute an instruction to suspend the thread. The problem is when I execute a syscall to finish the program and exit from emulation mode. The syscall execute the function "exitFunc" form "sim/syscall_emul.cc" to exit. At that moment, the system has two threads, one on suspended and the other running. The function tries to halt the thread, by calling tc->halt(). After that, tries to free registers by accesing to renameMap. And then fails on assert(arch_reg < map.size());. There are a way to solve this problem? Do I have to consider anything else? Thanks in advance, David. _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
