Do you run into the problem in 2 on more than one CPU model? Does an unmodified version of gem5 from the most recent version of the development repository hit the same problem? If so, please send me your binary directly (to spare everyone's inboxes) and I'll take a look. What instruction is it attempting to fetch the microop from?

Gabe

Quoting Newsha Ardalani <new...@cs.wisc.edu>:

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

Reply via email to