现在的位置: 首页 > 综合 > 正文

gem5下X86架构下,出现kernel too old的解决方法

2014年02月19日 ⁄ 综合 ⁄ 共 1879字 ⁄ 字号 评论关闭

问题描述:

在gem5上运行spec2006的bzip2,

./build/X86/gem5.opt ./configs/example/se.py -c ../installspec2006/benchspec/CPU2006/401.bzip2/exe/bzip2_base.amd64-m64-gcc41-nn -o ../installspec2006/benchspec/CPU2006/401.bzip2/data/test/input/control

时,出现错误:
Global frequency set at 1000000000000 ticks per second
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
FATAL: kernel too old
panic: Tried to read unmapped address 0xffffffffffffffd0.
 @ cycle 818500
[invoke:build/X86/arch/x86/faults.cc, line 160]
Memory Usage: 607892 KBytes
Program aborted at cycle 818500

我查找资料,说
在编译时使用的编译器的版本比较高,它所指定的最低linux内核版本应该高于m5声明的内核版本。
所以可以通过提高m5声明的kernel版本来解决这个问题。

对于arm结构和alpha架构可以修改src/arch/arm/linux/process.cc或者src/arch/alpha/linux/process.cc文件中的unameFunc函数中的kernel版本,

但是对于x86结构如何修改m5声明的kernel版本啊?我看x86中对应的process.cc文件没有unameFunc函数,x86是在哪里声明的kernel版本啊?
%------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%

 

首先参见http://blog.csdn.net/sdupine/article/details/7940867可知到出现kernel too old的原因,但是按照他的说法在x86对应的

src/arch/x86/linux/process.cc的文件下找不到unameFunc函数,所以按照他第一种解决方法不能解决这个问题。

那么在那里可以找到unameFunc函数呢,通过查找资料,http://www.foxwolf.net/gihun/可知,要修改文件./src/arch/x86/linux/syscalls.cc
下的unameFunc函数,

具体如下:

unameFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
          ThreadContext *tc)
{
    int index = 0;
    TypedBufferArg<Linux::utsname> name(process->getSyscallArg(tc, index));

    strcpy(name->sysname, "Linux");
    strcpy(name->nodename, "hubuntu.kaist.ac.kr");
    strcpy(name->release, "xxxx");
    strcpy(name->version, "#43-Ubuntu SMP Fri Jul 6 14:25:57 UTC 2012");
    strcpy(name->machine, "x86_64");

    name.copyOut(tc->getMemProxy());

    return 0;
}

将黄色阴影部分修改成的大一点即可,我的修改成2.6.35即可成功运新。

 

 

参考:http://blog.csdn.net/sdupine/article/details/7940867

http://www.foxwolf.net/gihun/

抱歉!评论已关闭.