[gem5-users] Re: “fatal: Unable to find destination for [0x10020000 : 0x10020000] on system.iobus”, when adding new BasicPioDevice device.

2022-03-21 Thread Giacomo Travaglini via gem5-users
That’s great! FYI, overriding the getAddrRanges is not strictly needed if the BasicPioDevice is correctly initialised. That basically means initialising pioAddr and pioSize member variables: https://github.com/gem5/gem5/blob/stable/src/dev/io_device.cc#L81 I am telling you this as while you

[gem5-users] Re: “fatal: Unable to find destination for [0x10020000 : 0x10020000] on system.iobus”, when adding new BasicPioDevice device.

2022-03-21 Thread Klein Joshua Alexander Harrison via gem5-users
Hi Giacomo, Thanks again for the suggestion. I was able to solve the issue -- it turns out I forgot to implement getAddrRanges! For the record (and in case someone in the future runs into the same issue), I had to add the following in cus_device.hh under the class definition:

[gem5-users] Re: “fatal: Unable to find destination for [0x10020000 : 0x10020000] on system.iobus”, when adding new BasicPioDevice device.

2022-03-21 Thread Giacomo Travaglini via gem5-users
Yes apologies, I now realize your range was already covered in the existing _off_chip_ranges list I’d recommend you to debug with gdb what is returned by the CusDevice::getAddrRanges method. It gets called by the xbar and it effectively registers the device pio range in the interconnect map.

[gem5-users] Re: “fatal: Unable to find destination for [0x10020000 : 0x10020000] on system.iobus”, when adding new BasicPioDevice device.

2022-03-21 Thread Klein Joshua Alexander Harrison via gem5-users
Hi Giacomo, Thank you for the suggestion. I added the address range to the _off_chip_devices list as suggested, and confirmed the address range is present in the config.ini: [system.bridge] type=Bridge … ranges=201326592:268566527 268566528:268570624 268570625:536870912 788529152:2147483647

[gem5-users] Re: “fatal: Unable to find destination for [0x10020000 : 0x10020000] on system.iobus”, when adding new BasicPioDevice device.

2022-03-21 Thread Giacomo Travaglini via gem5-users
Hi Joshua. You probably need to add the physical address range of your device to the _off_chip_ranges list [1]. This will be assigned to the membus->iobus bridge so that when the membus receives the cpu packet, it knows it must forward it to the io bridge Let me know if this works Kind