On Fri, June 1, 2012 11:43 am, Anirudh Sivaraman wrote: > On Thu, May 31, 2012 at 6:31 PM, Nilay Vaish <ni...@cs.wisc.edu> wrote: >> On Thu, 31 May 2012, Anirudh Sivaraman wrote: >> >>> This is related to my earlier post, but I ll post this as a separate >>> thread to state my problem clearly. I have been trying to do this in >>> several ways but to no avail. Here's what I tried. >>> >>> 1. VExpress_ELT DOES have an ethernet interface inside it. When I run >>> fs.py ie: >>> >>> gem5/build/ARM/gem5.opt gem5/configs/example/fs.py >>> --machine-type=VExpress_ELT >>> >>> I get the error : >>> >>> warn: Device system.membus.badaddr_responder accessed by read to >>> address 0x10009018 size=4 >>> gem5.opt: build/ARM/cpu/simple/atomic.cc:289: Fault >>> AtomicSimpleCPU::readMem(Addr, uint8_t*, unsigned int, unsigned int): >>> Assertion `!pkt.isError()' failed. >> >> >> This means that an address was generated for which no device / memory is >> reponsible. Such addresses are then forwarded to the bad address device. >> You >> would need to trace why this address was generated. > > Thanks for the response. I am not sure where to trace this. Is this > coming from the OS/app ? I am not sure but does the kernel on the > website work with VExpress_ELT ? >
Why does OS / app matter here? You should run GDB / any other debugger and figure why this assertion occurs. What caused the error in the packet? >> >> >>> >>> >>> 2. RealViewPBX does NOT have an ethernet interface and runs correctly >>> when I run fs.py ie >>> >>> gem5/build/ARM/gem5.opt gem5/configs/example/fs.py >>> --machine-type=RealView_PBX >>> >>> 3. Now, I add an ethernet interface to RealViewPBX by copying the >>> relevant portions (which refer to the variable ethernet) of >>> VExpress_ELT inside src/dev/arm/RealView.py. The lines are : >>> >>> In attachIO(): >>> ----------------------------------------------------------------------- >>>    self.ethernet.pio     = bus.master >>>    self.ethernet.config   = bus.master >>>    self.ethernet.dma    = bus.slave >>> >>> In class  RealViewPBX(): >>> ----------------------------------------------------------------------- >>>  ethernet = IGbE_e1000(pci_bus=0, pci_dev=0, pci_func=0, >>>             InterruptLine=1, InterruptPin=1) >>> >>> This doesn't work, and I get the error : >>> >>> fatal: system.iobus has two ports with same range: >>>     system.realview.ethernet-pciconf >>>     system.iobridge-slave >>> @ cycle 0 >>> >>> >> >> The address spaces assigned to ethernet and the iobridge are not >> disjoint. >> You need to assign the address spaces correctly. > > Where do I do this ? I checked RealView.py but I am not sure how to > assign these address spaces. Also,can I assign them to anything > arbitrary (like doesn't each peripheral have it's own constraints ?) > Well, the best part of working with a simulator is that you can try out any thing you like with out the worry of paying for it. Why not try out different addresses to check what works. You can use grep to figure out where these ports are being dealt with. -- Nilay _______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users