Hi all, I am developing a model for Pl081 Dma controller, As in copyengine ,I am using nested classes for controller & channel. >From channel's private function I try to use dmaPort->dmaAction(...) but when ever I call it Gem5 gives segmentation fault. here is the part of the code, -------------------------- *from source:* class channel{ *. * *.* *.* *private: * *void dmaRead();* void dmaReadDone(); EventWrapper<pl081_channel, &pl081_channel::dmaReadDone> dmaReadDoneEvent; uint8_t *dmaBuffer; dmaBuffer = new uint8_t[channel_regs.reg_DMAC_Chan_Control.transfersize * 8]; int dmasize;
. . . } channel::dmaread(){ . . . //single request for 8 bytes startAddr = 0x0x7a00000; // frame buffer dmasize=8; dmaPort->dmaAction(MemCmd::ReadReq, startAddr, dmasize, &dmaReadDoneEvent, dmaBuffer, 0, Request::UNCACHEABLE); } *from config.ini* [system.realview.dmac] type=Pl081 amba_id=1314945 gic=system.realview.gic int_num=56 max_backoff_delay=10000000 min_backoff_delay=4000 pio_addr=268632064 pio_latency=10000 pio_size=4095 platform=system.realview system=system dma=system.iobus.port[25] pio=system.iobus.port[8] -------------------------- I have checked PL111 as reference and tried to do exactly same with dmasize =8 and same startaddress. Even after that also it didn't work. Can anybody tell me what can be wrong ?? I can send you the codes if anybody wants. Thank you in advance. Regards, Digant Desai.
_______________________________________________ gem5-users mailing list gem5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users