Re: [gem5-users] size variable in Packet class
Hi Nikos, Thanks for your help. I tried all possible flags, but I was not able to get the value of those variables. If you come across any different approach, then do suggest😊 Thanks again. Riddhi Sent from Mail for Windows 10 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] size variable in Packet class
Hi Nikos, Thanks again. You actually did give an useful hint. I used these flags, and I got following type of data: system.cpu 0x3698a02f73: movDS:[r12 + 0x340], rsi system.cpu 0x3698a02f73.0 : MOV_M_R : st rsi, DS:[r12 + 0x340] : system.cpu 0x3698a02f7b: subrsi, DS:[r12] system.cpu 0x3698a02f7b.0 : SUB_R_M : ld t1, DS:[r12] : system.cpu 0x3698a02f7b.1 : SUB_R_M : sub rsi, rsi, t1 : system.cpu 0x3698a02f7f: addDS:[r12 + 0x348], rsi system.cpu 0x3698a02f7f.0 : ADD_M_R : ldst t1, DS:[r12 + 0x348] : system.cpu 0x3698a02f7f.1 : ADD_M_R : add t1, t1, rsi : system.cpu 0x3698a02f7f.2 : ADD_M_R : st t1, DS:[r12 + 0x348] : system.cpu 0x3698a02f87: addDS:[r12 + 0x350], rsi system.cpu 0x3698a02f87.0 : ADD_M_R : ldst t1, DS:[r12 + 0x350] : system.cpu 0x3698a02f87.1 : ADD_M_R : add t1, t1, rsi : system.cpu 0x3698a02f87.2 : ADD_M_R : st t1, DS:[r12 + 0x350] : system.cpu 0x3698a02f92: addrcx, DS:[r12 + 0x10] system.cpu 0x3698a02f92.0 : ADD_R_M : ld t1, DS:[r12 + 0x10] : system.cpu 0x3698a02f92.1 : ADD_R_M : add rcx, rcx, t1 : system.cpu 0x3698a02f97: movDS:[r12], rsi >From this I can make out that ADD instruction are taking place. Consider this: >ADD_R_M: add rcx, rcx, t1: I want the value of these variable rcx, t1, etc. If >you can think of someway to get this, then it would be great. Thanks a lot for your help. It was really helpful. Regards, Riddhi Sent from Mail for Windows 10 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] size variable in Packet class
Hi Nikos, Thanks once again. I figured that out. Can you help me in getting instruction trace for ALU ? I tried doing this for X86 system. What I am trying to do us to get instruction traces for ALU. What I did: There is a file, regop.isa (src/arch/x86/isa/microops/). In this file, at line 506, ADD function is defined. I tried to get the values of psrc1, op2 and DestReg, but I don’t think that these are instruction trace. I have attached a patch of results below: 2117728 8 2117736 27263459 0 27263459 2117736 8 2117744 29360611 0 29360611 2117744 8 2117752 31457763 0 31457763 2117752 8 2117760 33554915 0 33554915 2117760 8 2117768 35652067 0 35652067 2117768 8 2117776 37749219 0 37749219 2117776 8 2117784 39846371 0 39846371 2117784 8 2117792 2117792 8 2117800 2117800 8 2117808 2117808 8 2117816 2117816 8 2117824 2117824 8 2117832 2117832 8 2117840 2117840 8 2117848 The first column is for psrc1, second for op2 and third is for DestReg. If u notice every time the DestReg becomes psrc1 for next operation. And this kind of pattern is observed in complete traces. I don’t think this is the instruction trace for ALU. And I am not able to find where the ALU instructions are defined. I also tried getting traces from mediaop.isa (same folder), but sometimes traces are not at all generated. I don’t why. Any suggestions would a great help to me. Thanks in advance. Regards, Riddhi Sent from Mail for Windows 10 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] size variable in Packet class
Hi Nikos, Thanks for your prompt reply. I have one more doubt. Suppose the size of the packet is 64 bytes, and the pointer from getConstPtr() will point to 1 byte data, so for getting all the 64 bytes data, I have to increment this pointer, right? Thanks in advance. Regards, Riddhi Sent from Mail for Windows 10 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] size variable in Packet class
Hi all, I am asking a very basic question but I am confused as to what the size variable in Packet class represents. When I ran dram/sweep.py config file, I saw that the size turns out to 1,4,8, and 64 for different cases. In the packet.hh, the comment says that size represents the size of request or transfer, so is it in bits or bytes ? There is a data pointer (*data, packet.hh line 333). I want to print out the data that this pointer points to for that I need to know the size of the request made and accordingly the data will be printed. So I am not able make out whether size is in terms of bits or bytes. Thanks in advance. Regards, Riddhi Sent from Mail for Windows 10 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] Problem in running PARSEC benchmark on X86
Hi, I am running blackscholes benchmark on X86 system. My command is : ./build/X86/gem5.opt configs/example/fs.py --mem-type=DDR4_2400_8x8 --cpu-type=DerivO3CPU --caches --l2cache --cacheline_size=64 --l1d_size=16kB --l1d_assoc=4 --l2_size=256kB --l2_assoc=8 --kernel=/home/riddhi/Downloads/x86_fs/binaries/x86_64-vmlinux-2.6.28.4-swp --disk-image=/home/riddhi/Downloads/x86_fs/disks/x86root-parsec.img --script=/home/riddhi/gem5_cg_is_copy/runscript.rcS Runscript.rcS : #!/bin/sh # File to run the blackscholes benchmark echo "Running blackscholes" cd /parsec/install/bin /sbin/m5 dumpstats /sbin/m5 resetstats ./blackscholes 64 /parsec/install/inputs/blackscholes/in_64K.txt /parsec/install/inputs/blackscholes/prices.txt echo "Done :D" /sbin/m5 exit /sbin/m5 exit I have downloaded the disk image from http://www.cs.utexas.edu/~parsec_m5/x86root-parsec.img.bz2 and the kernel from http://www.cs.utexas.edu/~parsec_m5/x86_64-vmlinux-2.6.28.4-smp last sysfs file: CPU 0 Modules linked in: Pid: 0, comm: swapper Tainted: GW 2.6.28-rc4-dirty #5 RIP: 0010:[] [] __show_regs+0x18b/0x240 RSP: 0018:808be0a8 EFLAGS: 0038 RAX: RBX: 0018 RCX: c102 RDX: RSI: RDI: RBP: 0001 R08: R09: R10: R11: 808bd980 R12: 0018 R13: 0010 R14: 8800 R15: 88000100a000 invalid opcode: [#44] SMP last sysfs file: invalid opcode: [#45] SMP last sysfs file: invalid opcode: [#46] SMP last sysfs file: invalid opcode: [#47] SMP last sysfs file: invalid opcode: [#48] SMP last sysfs file: invalid opcode: [#49] SMP last sysfs file: this is what I am getting on the telnet terminal. It was continuing for long time so, I terminated it. I am not able to understand whether this is correct or not ? If anyone can help it would be great. Thanks, Riddhi Sent from Mail for Windows 10 ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] Assertion Failed in getVaddr()
Hi, I am running blackscholes benchmark in X86 system. My command is : build/X86/gem5.opt configs/example/fs.py –script=runscript.rcS --mem-type=DDR4_2400_8x8 --cpu-type=DerivO3CPU -I 1 --caches --l2cache --l1d_size=64kB --l1i_size=32kB --l2_size=2MB --l1d_assoc=2 --l1i_assoc=2 --l2_assoc=8 --cacheline_size=64 This is giving me following error: gem5.opt: build/X86/mem/request.hh:618: Addr Request::getVaddr() const: Assertion `privateFlags.isSet(VALID_VADDR)' failed. The patch of code in request.hh : Addr getVaddr() const { assert(privateFlags.isSet(VALID_VADDR)); return _vaddr; } Any suggestions will be helpful. Thanks, Riddhi ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users