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: 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.
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 chenhuiji2000@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: 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.
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.Travaglini@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 chenhuiji2000@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: 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-leave@gem5.org
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 <chenhuiji2000@gmail.commailto:chenhuiji2000@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.Travaglini@arm.commailto:Giacomo.Travaglini@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 <chenhuiji2000@gmail.commailto:chenhuiji2000@gmail.com>
Date: Wednesday, 29 June 2022 at 13:01
To: gem5-users@gem5.orgmailto:gem5-users@gem5.org <gem5-users@gem5.orgmailto: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:430http://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.orgmailto:gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.orgmailto:gem5-users-leave@gem5.org
gem5-users mailing list -- gem5-users@gem5.orgmailto:gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.orgmailto:gem5-users-leave@gem5.org
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 hzhuo2@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 chenhuiji2000@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.Travaglini@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 chenhuiji2000@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-leave@gem5.org
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org