On Sun, Jun 3, 2012 at 10:25 PM, Nilay <ni...@cs.wisc.edu> wrote:
> 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?

I am not sure since I didn't debug it in detail. My guess is that the
kernel on the site is compiled for the RealView_PBX platform which has
a different memory address mapping from the VExpress_ELT platform and
hence caused the error.

>
>>>
>>>
>>>>
>>>>
>>>> 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.

 Thanks for the grep suggestion, I will try that out and see how that goes.

>
> --
> Nilay
>
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to