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 <[email protected]> 于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 <[email protected]> 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 <[email protected]> 于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 <[email protected]>
>> *Date: *Wednesday, 29 June 2022 at 13:01
>> *To: *[email protected] <[email protected]>
>> *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/[email protected]/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 -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
> _______________________________________________
> gem5-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
>
> _______________________________________________
> gem5-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]