Hello everyone and Gabe, Do you have any information on this question?
---------- Forwarded message --------- From: Abhishek Singh <[email protected]> Date: Wed, Nov 14, 2018 at 8:07 PM Subject: Adding new flags at decoder To: gem5 users mailing list <[email protected]> Hello Everyone, I have added new instructions in SE x86 ISA, this instructions are same as MOV instructions in x86 and use the similar mnemonic defined in /arch/x86/isa/microops/ldstop.isa i.e. Ld and St For example: defineMicroLoadOp('*Ldnew*', 'Data = merge(Data, Mem, dataSize);', 'Data = Mem & mask(dataSize * 8);') defineMicroStoreOp('*Stnew*', 'Mem = pick(Data, 2, dataSize);') I have added a new flag "SPECIAL" in src/mem/request.hh, and also added bool *isSpecial*() const { return _flags.isSet(SPECIAL); } in same file to identify this instructions in different cache levels. I want to set this flag when I see this new mov instruction so I modify ldstop.isa lines as defineMicroLoadOp('Ldnew', 'Data = merge(Data, Mem, dataSize);', 'Data = Mem & mask(dataSize * 8);*'mem_flags="Request::Special”*) defineMicroStoreOp('Stnew', 'Mem = pick(Data, 2, dataSize);' *mem_flags="Request::Special”*) *My question is:* 1. Are this steps enough to set a flag and use it in caches? 2. Will this flag be deleted on own on response path(recvTimingResp in src/mem/cache/base.cc) i.e. on a cold miss to load when pkt is traversing from LLC to Dcache, will I be able to see this flag again in when pkt is the response? Best regards, Abhishek
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
