Hey all,
I have developed a cache coherency protocol for a course project and I like to
test its capability:
1. I have written a very simple multithreaded program that has the features my
protocol best fits to and cross-compiled it for alpha architecture but when I
ran it (using se.py) it gives some error that some sys calls are not
implemented. I commented all those sys calls as suggested but I faced with a
bad memory access that I guess it was caused because I commented those system
calls. Do you know which files should I change if I finally decide to implement
some of those unimplemented syscalls?
2. Then I decided to compile the M5 for x86 architecture and passed the files
simply compiled on my linux, but there were again some assertion error, Do you
know what could be the reason? I debugged it and microPC and numMicroops are
both 1.
m5.debug: build/X86_SE/arch/x86/insts/macroop.hh:79: virtual StaticInstPtr
X86ISA::MacroopBase::fetchMicroop(MicroPC) const: Assertion `microPC <
numMicroops' failed.
3. Now I'm thinking of changing the ruby_random_tester, my problem with
random_tester is that the values stored to memory locations never return to
their previous value and so I can not check the corner cases of my protocol. I
like to change the values stored to memory to force the characteristics I like.
Do you know what files I should change? or more precisely, which file generates
the random loads and stores and their random value?
Thank you,
--newsha
_______________________________________________
gem5-users mailing list
gem5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users