Hi all,
Earlier this month, I saw an email saying that Gem5 SE mode already supports 
multi-threaded program. I tested both ARM and X86 program. X86 works well but 
the ARM one will report below errors when deleting threads(maybe?).

build/ARM/sim/syscall_emul.cc:74: warn: ignoring syscall madvise(...)
terminate called after throwing an instance of 'std::system_error'
  what():  Unknown error -4016
build/ARM/sim/syscall_emul.cc:74: warn: ignoring syscall rt_sigaction(...)
build/ARM/sim/faults.cc:102: panic: panic condition !handled && 
!tc->getSystemPtr()->trapToGdb(GDBSignal::SEGV, tc->contextId()) occurred: Page 
table fault when accessing virtual address 0x400
Memory Usage: 725464 KBytes
Program aborted at tick 577190732000
--- BEGIN LIBC BACKTRACE ---
/home/pzy/Documents/gem5/build/ARM/gem5.opt(+0x29111b0)[0x55c82b7af1b0]
/home/pzy/Documents/gem5/build/ARM/gem5.opt(+0x29356ec)[0x55c82b7d36ec]

My test program is %GEM5_PATH/tests/test-progs/threads/src/threads.cpp. My 
building command is `aarch64-linux-gnu-g++ threads.cpp -lpthread -lrt -pthread 
-static -o arm_thread` (Note: Nothing changes with/without -lrt and -lpthread).
My Gem5 configuration file is based on 
%GEM5_PATH/configs/learning_gem5/part1/simple.py. I only modify the core 
numbers and change the using binary like below:
system.cpu = [ArmTimingSimpleCPU() for i in range(core_num)]
system.membus = SystemXBar()
for i in range(core_num):
    system.cpu[i].icache_port = system.membus.cpu_side_ports
    system.cpu[i].dcache_port = system.membus.cpu_side_ports
system.cpu[i].createInterruptController()
binary = "arm_thread"
system.workload = SEWorkload.init_compatible(binary)
process = Process()
process.cmd = [binary]
for i in range(core_num):
    system.cpu[i].workload = process
    system.cpu[i].createThreads()


I'd like to know the reason why this error occurs or if it's just that Gem5 ARM 
doesn't currently  support multithreaded program. (But from the output, I think 
the binary is executed on these cores). It would be nice to have an example of 
this running successfully!

Thanks + regards,
Ziyang

_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to