1

我试图在 x86 SE 模式下运行一个简单的 pthread 程序。

m5threads 是唯一的方法吗?

当我尝试使用编译时libpthreadmake出现以下错误:

pthread.c:40:2: error: #error "spinlock routines not available for your arch!\n"

有什么我想念的吗?可能是一些缺少的路径变量或某处的代码的一些小的修改。因为我有文件spinlock_x86.htls_defs.h.

4

1 回答 1

2

不,如果您在 x86 主机上模拟 x86,则不必使用 m5threads。gem5 支持在主机上的共享库中运行代码。因此,您应该能够使用“-lpthread”编译您的程序并在 gem5 上简单地运行它。

您可能需要弄乱运行脚本才能使事情正常工作。IIRC,您需要将确切数量的 CPU 作为线程,并将每个 CPU 的工作负载设置为相同的二进制文件。

于 2017-12-12T15:46:39.617 回答