What do I need to reproduce the problem? What scripts and binaries other than gem5 itselfdo I need (please provide them somehow), what changes have you made to gem5, and what command line do I use? This is starting to sound like an instruction/microcode/decode problem.
Gabe On 04/28/12 11:26, Mahmood Naderan wrote: > I think it is worth to paste the messages while > "SyscallVerbose,IntRegs,Stack,Thread,X86,ExecAll" flags are on: > > 339054000: system.cpu + A0 T0 : 0x83d48d.4 : CALL_NEAR_I : wrip , > t7, t1 : IntAlu : > 339054500: system.cpu.[tid:0]: Setting int reg 16 (16) to 0. > 339054500: global: The data size is 8 > 339054500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0xbb3ac0. > 339054500: system.cpu.[tid:0]: Reading int reg 1 (1) as 0x22. > 339054500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0xbb3ac0. > 339054500: global: Picking with size 8 > 339054500: system.cpu.[tid:0]: Setting int reg 10 (10) to 0x22. > 339054500: system.cpu + A0 T0 : 0x852f90 : mov r10, rcx > 339054500: system.cpu + A0 T0 : 0x852f90.0 : MOV_R_R : mov r10, > r10, rcx : IntAlu : D=0x0000000000000022 > 339055000: system.cpu.[tid:0]: Setting int reg 16 (16) to 0. > 339055000: system.cpu.[tid:0]: Setting int reg 0 (0) to 0x9. > 339055000: system.cpu + A0 T0 : 0x852f93 : mov eax, 0x9 > 339055000: system.cpu + A0 T0 : 0x852f93.0 : MOV_R_I : limm eax, > 0x9 : IntAlu : D=0x0000000000000009 > 339055500: system.cpu.[tid:0]: Setting int reg 16 (16) to 0. > 339055500: system.cpu.[tid:0]: Reading int reg 0 (0) as 0x9. > 339055500: system.cpu.[tid:0]: Reading int reg 7 (7) as 0. > 339055500: system.cpu.[tid:0]: Reading int reg 6 (6) as 0x4d00001e4ce4b000. > 339055500: system.cpu.[tid:0]: Reading int reg 2 (2) as 0x3. > 339055500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0x22. > 339055500: system.cpu: syscall mmap called w/arguments > 34,3,5548434871059525632,0 > 339055500: system.cpu.[tid:0]: Reading int reg 7 (7) as 0. > 339055500: system.cpu.[tid:0]: Reading int reg 6 (6) as 0x4d00001e4ce4b000. > 339055500: system.cpu.[tid:0]: Reading int reg 10 (10) as 0x22. > 339055500: system.cpu.[tid:0]: Reading int reg 8 (8) as 0xffffffff. > > > Int register 6 has odd value I think. > Thanks for any comment. > > > On 4/28/12, Steve Reinhardt <ste...@gmail.com> wrote: >> On Sat, Apr 28, 2012 at 9:43 AM, Mahmood Naderan >> <mahmood...@gmail.com>wrote: >> >>> why the 'length' is so much large? >>> >> That is indeed the question. >> >> My guess is that there's some bug in the way we're interpreting the syscall >> arguments being passed in from the application (via registers or on the >> stack). >> >> You could use strace on the application running natively to see what the >> mmap arguments should be. >> >> Then it's mostly a matter of poking around to see at what point things are >> getting confused about the value. Do the register contents look right on >> entry to the syscall? What is getSyscallArg doing, and where is it getting >> that ridiculous value from? At this point, there's probably no substitute >> for single-stepping through some of this code with gdb. >> >> I'm not familiar enoiugh with the x86 ABI to say off the top of my head >> where that argument is being passed. Anyone? >> >> Steve >> > _______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users