Thanks for your help. Although I didn't use starter_fs.py evently, your suggestion reminds me of dist_bigLITTLE.py. now I can let two gem5 instances ping each other successfully. In order to help more people who have identical requirements with me, I wil post my boot script as follow:
${GEM_PATH}/util/dist/gem5-dist.sh \ -n 2 \ -r ${LOG_DIR} \ -c ${CHECKPOINT_DIR} \ -x ${GEM_PATH}/build/ARM/gem5.opt \ -s ${GEM_PATH}/configs/dist/sw.py \ -f ${GEM_PATH}/configs/example/arm/dist_bigLITTLE.py \ --m5-args \ --debug-flags=DistEthernet,Ethernet \ --fs-args \ --caches \ --bootloader=${BOOT_LOADER} \ --kernel=${KERNEL} \ --disk=${DISK} \ --bootscript=${BOOT_SCRIPT} \ --cf-args \ --dist-sync-start=1000000000000t \ HENG ZHUO <hzh...@wisc.edu> 于2022年7月2日周六 01:44写道: > Hi, > > After you have ethernet dev in the node, you need to have two separated > nodes (drivesys and testsys) under root. Then in your top level script, > here is starter_fs.py, use Etherlink connect them so they can communicate. > > Example connection: > root.etherlink = EtherLink() > root.etherlink.int0 = root.testsys.realview.ethernet.interface > root.etherlink.int1 = root.drivesys.realview.ethernet.interface > > With that, hardware wise is setup, but after you boot up os(ubuntu), you > will also need to set ip/ethernet info so they recognized each other on > that level, same as how you setup a real machine network. > > Best, > Heng > > On Jun 30, 2022, at 23:06, wasd003 <chenhuiji2...@gmail.com> wrote: > > Thanks for your help, with starter_fs.py I can create eth0 successfully. > However, in my scenario, I need to start 2 gem5 instances seperately and > let them communicate with each other. I wonder if it's possible to achieve > this goal with starter_fs.py. Does starter_fs.py only support communication > between gem5 instance and host? > > Thanks. > > Giacomo Travaglini <giacomo.travagl...@arm.com> 于2022年6月30日周四 19:16写道: > >> Hi, >> >> >> >> I have never used gem5-dist.sh but could you try to use as a >> configuration script >> >> >> >> configs/example/arm/starter_fs.py >> >> >> >> instead of >> >> >> >> configs/example/fs.py ? >> >> >> >> You would also need to add the ethernet controller as a PCI device to >> starter_fs.py (it is a one-liner change, add IGbE_e1000(InterruptLine=1, >> InterruptPin=1) to the system.pci_devices list. >> >> >> >> Let me know if it works, >> >> >> >> Giacomo >> >> >> >> *From: *wasd003 <chenhuiji2...@gmail.com> >> *Date: *Wednesday, 29 June 2022 at 13:01 >> *To: *gem5-users@gem5.org <gem5-users@gem5.org> >> *Subject: *[gem5-users] ARM FS emulation with nic support >> >> Hi, I'm trying to get nic supported on ARM full system emulation with the >> help of gem5-dist.sh. But I've gotten following error during the boot >> process: >> >> >> >> *build/ARM/mem/xbar.cc:430 <http://xbar.cc:430>: fatal: testsys.iobus has >> two ports responding within range [0x2f000000:0x2f000004]: * >> >> *testsys.realview.cf_ctrl.pio* >> >> *testsys.realview.cf_ctrl.pio * >> >> >> >> My Gem5 Version: v21.2.1.1 >> >> commitID: e4fae58da6c044b6efec62392ff99f343ce67947 >> >> >> >> Following is the command line I used to boot gem5: >> >> ${GEM_PATH}/util/dist/gem5-dist.sh \ >> -n 2 \ >> -x ${GEM_PATH}/build/ARM/gem5.opt \ >> -s ${GEM_PATH}/configs/dist/sw.py \ >> -f ${GEM_PATH}/configs/example/fs.py \ >> -r ${LOG_DIR} \ >> --fs-args \ >> --bootloader="${BOOT}" \ >> --kernel="${KERNEL}" \ >> --disk-image="${DISK}" \ >> --cpu-type=AtomicSimpleCPU \ >> --num-cpus=4 \ >> --machine-type=VExpress_EMM64 \ >> --m5-args \ >> --debug-flags=DistEthernet \ >> >> >> >> I've searched email archive and found a similar question to my >> situation: https://www.mail-archive.com/gem5-users@gem5.org/msg20033.html >> . >> >> I tried to follow the instructions and turned --machine-type from >> VExpress_EMM64 to VExpress_GEM5_V1, but error message:* "object >> 'VExpress_GEM5_V1' has no attribute 'ethernet' " *was raised. >> >> >> >> If it helps, I've also tried to debug this problem, and found that 2 addr >> ranges ([0x2f000000:0x2f000008] and [0x2f000000:0x2f000004]) collided. >> These 2 addr ranges come from BARs array of PioPort.In the constructor of >> PciDevice, each element of the BARs array will be assigned the same value: >> pciPioBase which value equals 0x2f000000. I suppose that is why the above 2 >> addr ranges both start with 0x2f000000. >> >> >> >> Any ideas to fix the issue? >> >> >> >> Thanks. >> IMPORTANT NOTICE: The contents of this email and any attachments are >> confidential and may also be privileged. If you are not the intended >> recipient, please notify the sender immediately and do not disclose the >> contents to any other person, use it for any purpose, or store or copy the >> information in any medium. Thank you. >> _______________________________________________ >> gem5-users mailing list -- gem5-users@gem5.org >> To unsubscribe send an email to gem5-users-le...@gem5.org >> > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org > > > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org >
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org