Hi all,

I have been trying to develop a model for Pl081 DMA controller.

I have inherited class from AmbaDmaDevice and as a first step I have given
register read/write features.
And added it in M5 system by editing RealView.py to membus.
I have  couple of questions,
1- It should be on membus right ? rather then on IO bus !!
2- How can I reduce the bus width from 64 to 32 ?
3- After configuration I am getting this :
*from config.ini*
*.*
*.*
*.*
*[system.membus]*
*type=Bus*
*children=badaddr_responder*
*block_size=64*
*bus_id=1*
*clock=1000*
*header_cycles=1*
*use_default_range=false*
*width=64*
*default=system.membus.badaddr_responder.pio*
*port=system.bridge.side_b system.physmem.port[0] system.physmem2.port[0]
system.diskmem.port[0] system.realview.gic.pio system.realview.l2x0_fake.pio
system.realview.dmac.pio system.cpu.itb.walker.port
system.cpu.dtb.walker.port system.cpu.icache_port system.cpu.dcache_port
system.realview.dmac.dma*
*
*
*[system.membus.badaddr_responder]*
*type=IsaFake*
*pio_addr=0*
*pio_latency=1000*
*pio_size=8*
*platform=system.realview*
*ret_bad_addr=true*
*ret_data16=65535*
*ret_data32=4294967295*
*ret_data64=18446744073709551615*
*ret_data8=255*
*system=system*
*update_data=false*
*warn_access=warn*
*pio=system.membus.default*
*
*
*[system.realview.dmac]*
*type=Pl081*
*amba_id=1314945*
*gic=system.realview.gic*
*int_num=55*
*max_backoff_delay=10000000*
*min_backoff_delay=4000*
*pio_addr=268632064*
*pio_latency=10000*
*platform=system.realview*
*system=system*
*dma=system.membus.port[11]*
*pio=system.membus.port[6]*

but when I run Linux kernel with NO DMA  / PL081 drivers.(I have written my
own driver to read write dma registers for time being).I am
getting this,(here 0x10030fe0 is AMBA ID1 read only register)
*from the M5-log:*
*.*
*.*
*.*
*warn: Device system.membus.badaddr_responder accessed by read to address
0x10030fe0 size=4*
*For more information see: http://www.m5sim.org/warn/f6456e4f*
*m5.debug: build/ARM_FS/cpu/simple/atomic.cc:347: Fault
AtomicSimpleCPU::readBytes(Addr, uint8_t*, unsigned int, unsigned int):
Assertion `!pkt.isError()' failed.*
*Program aborted at cycle 4790235000*
*Aborted*
_______________________________________________
gem5-users mailing list
gem5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to