I was trying to test DMA using ruby_mem_test.py and noticed that the following 
command:

./build/X86/gem5.opt configs/example/ruby_mem_test.py --num-dmas 1

throws the error:

AttributeError: object 'MemTest' has no attribute 'test'
(C++ object is not yet constructed, so wrapped C++ methods are unavailable.)
At:
build/X86/python/m5/SimObject.py(851): __getattr__
configs/example/ruby_mem_test.py(137): <module>
build/X86/python/m5/main.py(589): main

So, I looked at the MemTest.py object file and tried the next best thing, 
replacing ".test" by ".port" as port was defined as a RequestPort and there was 
no "test" member variable. Is this  a valid error?

Also, when I run again with dma.port instead of dma.test on line 
ruby_mem_test.py:137, the test seems to run only to say that dma isn't working 
correctly:

build/X86/cpu/testers/memtest/memtest.cc:162: panic: system.dma_devices: read 
of 105e01 (blk 105e00) @ cycle 5199 returns 0, expected fc
Memory Usage: 771852 KBytes
Program aborted at tick 5199
--- BEGIN LIBC BACKTRACE --

I still don't exactly understand what is going on exactly..
I think that the right kind of object might not be getting set as a parameter 
in dma_ports for create_system.

On the other hand, this test was for MESI_Two_Level for which DMA should be 
working as it boots up in Full System mode.

Thanks,
Gautam
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to