projectacrn / acrn-hypervisor

Project ACRN hypervisor
BSD 3-Clause "New" or "Revised" License
1.11k stars 506 forks source link

Acrn Configurator: ZeroDivisionError for ADLink MXE-210 Atom #8438

Open Kunhui-Li opened 1 year ago

Kunhui-Li commented 1 year ago

From: ACRN user mailing list

Hi ACRN team,

I am testing the ADLink MXE-210 with ACRN (latest - not v3.1), and when saving the configuration within ACRN configurator with the board xml generated using the acrn-board-inspector, I receive the below error. When testing with an older system running Skylake, I don't have an issue generating the config_summary.rst or compiling the hypervisor. -

Scenario xml saved Settings validated Document config_summary.rst generation failed. Please check your configuration.

Then checking in the console embedded within the ACRN configurator, I get an ZeroDivisionError -

errorO: Traceback (most recent call last):
File "/lib/python3.10/site-packages/configurator/pyodide/generateConfigSummary.py", line 32, in generate_config_summary
config_summary_gen_main(board_file_path, scenario_file_path, config_summary_path)
File "/lib/python3.10/site-packages/scenario_config/config_summary.py", line 377, in main
rst_file_name=config_summary).write_configuration_rst()
File "/lib/python3.10/site-packages/scenario_config/config_summary.py", line 38, in write_configuration_rst
self.write_vms()
File "/lib/python3.10/site-packages/scenario_config/config_summary.py", line 265, in write_vms
self.write_each_vm(vm_node)
File "/lib/python3.10/site-packages/scenario_config/config_summary.py", line 270, in write_each_vm
column_title1, data_table1 = self.get_basic_information_table(vm_node)
File "/lib/python3.10/site-packages/scenario_config/config_summary.py", line 298, in get_basic_information_table
amount_vm_l3_cache = self.get_amount_l3_cache(vm_node)
File "/lib/python3.10/site-packages/scenario_config/config_summary.py", line 330, in get_amount_l3_cache
each_cache_way_size = self.get_each_cache_way_info(cache_level='3')[0]
File "/lib/python3.10/site-packages/scenario_config/config_summary.py", line 324, in get_each_cache_way_info
return int(total_cache_size / 1024 / total_cache_ways), chunk_list
ZeroDivisionError: float division by zero

See below for the caches section in the board configuration and also attached for the full file (adlinknuc.xml) -

<caches>
<cache level="1" id="0x0" type="1">
<cache_size>24576</cache_size>
<line_size>64</line_size>
<ways>6</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x0</processor>
</processors>
</cache>
<cache level="1" id="0x0" type="2">
<cache_size>32768</cache_size>
<line_size>64</line_size>
<ways>8</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x0</processor>
</processors>
</cache>
<cache level="1" id="0x2" type="1">
<cache_size>24576</cache_size>
<line_size>64</line_size>
<ways>6</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x2</processor>
</processors>
</cache>
<cache level="1" id="0x2" type="2">
<cache_size>32768</cache_size>
<line_size>64</line_size>
<ways>8</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x2</processor>
</processors>
</cache>
<cache level="1" id="0x4" type="1">
<cache_size>24576</cache_size>
<line_size>64</line_size>
<ways>6</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x4</processor>
</processors>
</cache>
<cache level="1" id="0x4" type="2">
<cache_size>32768</cache_size>
<line_size>64</line_size>
<ways>8</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x4</processor>
</processors>
</cache>
<cache level="1" id="0x6" type="1">
<cache_size>24576</cache_size>
<line_size>64</line_size>
<ways>6</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x6</processor>
</processors>
</cache>
<cache level="1" id="0x6" type="2">
<cache_size>32768</cache_size>
<line_size>64</line_size>
<ways>8</ways>
<sets>64</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x6</processor>
</processors>
</cache>
<cache level="2" id="0x0" type="3">
<cache_size>1048576</cache_size>
<line_size>64</line_size>
<ways>16</ways>
<sets>1024</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x0</processor>
<processor>0x2</processor>
</processors>
<capability id="CAT">
<capacity_mask_length>8</capacity_mask_length>
<clos_number>4</clos_number>
</capability>
</cache>
<cache level="2" id="0x1" type="3">
<cache_size>1048576</cache_size>
<line_size>64</line_size>
<ways>16</ways>
<sets>1024</sets>
<partitions>1</partitions>
<self_initializing>1</self_initializing>
<fully_associative>0</fully_associative>
<write_back_invalidate>1</write_back_invalidate>
<cache_inclusiveness>0</cache_inclusiveness>
<complex_cache_indexing>0</complex_cache_indexing>
<processors>
<processor>0x4</processor>
<processor>0x6</processor>
</processors>
<capability id="CAT">
<capacity_mask_length>8</capacity_mask_length>
<clos_number>4</clos_number>
</capability>
</cache>
</caches>

I have also attached the scenario.xml if that is helpful. Nothing more than a service VM though. This is also preventing the hypervisor from compiling. See below error -

acrn@acrn:~/acrn-work/acrn-hypervisor$ debian/debian_build.sh clean > adlink-build-log2.txt && debian/debian_build.sh -c ~/acrn-work/adlink-mxe-210 >> adlink-build-log2.txt
dpkg-buildpackage --rules-target clean -us -uc -ui
fakeroot debian/rules clean
dpkg-buildpackage --rules-target binary -us -uc -ui
fakeroot debian/rules binary
WARN: x86_64-w64-mingw32-gcc not installed, skipping life_mngr_win.exe
I: pybuild base:239: /usr/bin/python3 setup.py build
package init file '../../misc/config_tools/board_inspector/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/acpiparser/aml/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/extractors/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/inspectorlib/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/legacy/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/schema/_init_.py' not found (or not a regular file)
scripts/makefile/config.mk:191: The command line sets RELEASE to be 'n', but an existing build is configured with 'y'
scripts/makefile/config.mk:191: The configuration will be modified for RELEASE=n
ERROR:root:/acrn-config/hv/BUILD_TYPE: Select a hypervisor serial console port when Build type is Debug, or use Build type Release if no serial console is available.
ERROR:root:Board adlink_nuc and scenario adlink-mxe-210 are inconsistent: 0 syntax errors, 1 data errors, 0 warnings.
make[3]: *** No rule to make target '/home/acrn/acrn-work/acrn-hypervisor/build/adlink_nuc/adlink-mxe-210/hypervisor/configs/.validation.timestamp', needed by '/home/acrn/acrn-work/acrn-hypervisor/build/adlink_nuc/adlink-mxe-210/hypervisor/configs/.configfiles.timestamp'. Stop.
make[2]: *** [Makefile:126: hypervisor] Error 2
make[1]: *** [debian/rules:260: override_dh_auto_install-arch] Error 2
make: *** [debian/rules:411: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage --rules-target binary -us -uc -ui failed
acrn@acrn:~/acrn-work/acrn-hypervisor$ debian/debian_build.sh clean && debian/debian_build.sh -c ~/acrn-work/adlink-mxe-210
CONFIGDIRS = 'misc/config_tools/data'
gbp:info: Changelog last touched at 'ed9cc9409a49c762273775314ae4fdcfff56543d'
gbp:info: Continuing from commit 'ed9cc9409a49c762273775314ae4fdcfff56543d'
gbp:info: Changelog unknown~1.gbp2cf158 (snapshot #1) prepared up to 2cf1589
debuild -eCONFIGDIRS='misc/config_tools/data' – clean
dpkg-buildpackage --rules-target clean -us -uc -ui
dpkg-buildpackage: info: source package acrn-hypervisor
dpkg-buildpackage: info: source version 3.2-unstable~1.gbp2cf158
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by acrn <projectacrn@gmail.com>
fakeroot debian/rules clean
debian/rules override_dh_auto_clean
Building ACRN 3.2 for boards: adl-asrock, cfl-k700-i7, generic_board, nuc11tnbi5, qemu, tgl-vecow-spc-7100-Corei7, whl-ipc-i5
The scenarios used are:
adl-asrock: shared
cfl-k700-i7: hybrid, hybrid_launch_2user_vm, hybrid_rt, partitioned, shared, shared_launch_6user_vm
generic_board: hybrid, partitioned, shared
nuc11tnbi5: hybrid, hybrid_launch_2user_vm, partitioned, shared, shared_launch_6user_vm
qemu: shared
tgl-vecow-spc-7100-Corei7: hybrid, partitioned, shared, shared_launch_2user_vm
whl-ipc-i5: hybrid, hybrid_rt, hybrid_rt_launch_1user_vm_waag, partitioned, shared, shared_launch_1user_vm_hardrt, shared_launch_1user_vm_vxworks, shared_launch_1user_vm_waag, shared_launch_2user_vm, shared_launch_6user_vm
override_dh_auto_clean: CLEAN
dh_clean
/home/acrn/acrn-work/acrn-hypervisor
CONFIGDIRS = '/home/acrn/acrn-work/adlink-mxe-210'
gbp:info: Changelog last touched at 'ed9cc9409a49c762273775314ae4fdcfff56543d'
gbp:info: Continuing from commit 'ed9cc9409a49c762273775314ae4fdcfff56543d'
gbp:info: Changelog unknown~1.gbp2cf158 (snapshot #1) prepared up to 2cf1589
debuild -eCONFIGDIRS='/home/acrn/acrn-work/adlink-mxe-210' – binary
dpkg-buildpackage --rules-target binary -us -uc -ui
dpkg-buildpackage: info: source package acrn-hypervisor
dpkg-buildpackage: info: source version 3.2-unstable~1.gbp2cf158
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by acrn <projectacrn@gmail.com>
dpkg-buildpackage: info: host architecture amd64
fakeroot debian/rules binary
dh_update_autotools_config
dh_autoreconf
dh_auto_configure
debian/rules override_dh_auto_build-arch
override_dh_auto_build-arch: BUILD life_mngr
WARN: x86_64-w64-mingw32-gcc not installed, skipping life_mngr_win.exe
debian/rules override_dh_auto_build-indep
build/documentation/html/index.html: BUILD documentation
override_dh_auto_build-indep: BUILD acrn-board-inspector
I: pybuild base:239: /usr/bin/python3 setup.py build
package init file '../../misc/config_tools/board_inspector/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/acpiparser/aml/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/extractors/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/inspectorlib/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/legacy/_init_.py' not found (or not a regular file)
package init file '../../misc/config_tools/board_inspector/schema/_init_.py' not found (or not a regular file)
dh_auto_test
create-stamp debian/debhelper-build-stamp
dh_testroot
dh_prep
dh_installdirs
debian/rules override_dh_auto_install-arch
debian/acrn-hypervisor.install: CREATE debian/acrn-hypervisor.install
override_dh_auto_install-arch: BUILD & INSTALL hypervisor for adlink_nuc:adlink-mxe-210
scripts/makefile/config.mk:191: The command line sets RELEASE to be 'n', but an existing build is configured with 'y'
scripts/makefile/config.mk:191: The configuration will be modified for RELEASE=n
ERROR:root:/acrn-config/hv/BUILD_TYPE: Select a hypervisor serial console port when Build type is Debug, or use Build type Release if no serial console is available.
ERROR:root:Board adlink_nuc and scenario adlink-mxe-210 are inconsistent: 0 syntax errors, 1 data errors, 0 warnings.
make[3]: *** No rule to make target '/home/acrn/acrn-work/acrn-hypervisor/build/adlink_nuc/adlink-mxe-210/hypervisor/configs/.validation.timestamp', needed by '/home/acrn/acrn-work/acrn-hypervisor/build/adlink_nuc/adlink-mxe-210/hypervisor/configs/.configfiles.timestamp'. Stop.
make[2]: *** [Makefile:126: hypervisor] Error 2
make[1]: *** [debian/rules:260: override_dh_auto_install-arch] Error 2
make: *** [debian/rules:411: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage --rules-target binary -us -uc -ui failed

Thank you, Mohit

Kunhui-Li commented 1 year ago

[External_System_ID] ACRN-10118