Hello,

I think ELFies are a really interesting complement to GEM5 thanks to their 
agile generation process. I am recently trying to simulate the ROI of a huge 
program by sending their regional ELFies into GEM5 in SE mode. However I am a 
bit confused about what kind of information (in addition to the ELFie) to pass 
into GEM5, plus I want to know how are ELFies executed in GEM5.

The only evidence of GEM5 support for ELFie I have found is in the develop 
branch ahead of v22.1 (commit 
cd35c9a<https://gem5.googlesource.com/public/gem5/+/cd35c9a6194451952735f58fb09cb7983e5861ba>)
 - a Python method set_se_elfie_workload()​ is defined in 
src/python/gem5/components/board/se_binary_workload.py. In addition to needing 
the ELFie itself, the method requires two PCCountPairs as parameters. It turns 
out the PCCountPairs are basically telling the simulator to generate  
SIMPOINT_BEGIN​ events whenever the specified PCs have been encountered for a 
given amount of times. But what is purpose of doing this?

Regarding how ELFies are simulated, as I understand how ELFies work (in the 
host) is they first restore all the application's register states and memory 
pages and then jump to the start of ROI of the application. Is that what GEM5 
also does in SE mode?  I have tried running two regional ELFies captured from 
the same program in SE mode. The simulator warns about instruction xrstor​ 
unimplemented. And one of the ELFies runs just fine (i.e. does not crash), but 
the other one crashes with a panic like this:

build/X86/arch/x86/faults.cc:131: panic: Unrecognized/invalid instruction 
executed:
{
        leg = 0x10,
        rex = 0,
        vex/xop = 0x5,
        op = {
                type = three byte 0f38,
                op = 0x78,
                },
        modRM = 0,
        sib = 0,
        immediate = 0,
        displacement = 0
        dispSize = 0}


Fangjia Shen
School of Electrical and Computer Engineering
Purdue University
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to