When I try to build/install the VMP kernel I receive the following error:
Setting up your system for Simics VMP
================================================
This step will be performed with root privilege through sudo:
- Loading of the vmxmon kernel module.
Unless this script is run as root, you will be prompted for the
root password during those steps.
Building kernel modules for Simics VMP
setup build directory... ok
building vmxmon... failed
Consolidate compiler generated dependencies of target vmxmon-version
[ 28%] Built target vmxmon-version
[ 42%] Copying scripts to build directory
[ 42%] Built target copy-scripts
Consolidate compiler generated dependencies of target check-hw-util
[ 71%] Built target check-hw-util
[ 85%] Main target; builds the vmxmon kernel module
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
You are using: cc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
/home/herget/simics/simics-6.0.169/vmxmon/build/module/linux/page.c: In function ‘get_upage’:
/home/herget/simics/simics-6.0.169/vmxmon/build/module/linux/page.c:295:15: error: too many arguments to function ‘get_user_pages’
295 | cnt = get_user_pages(va, 1 /* #pages */,
| ^~~~~~~~~~~~~~
In file included from /home/herget/simics/simics-6.0.169/vmxmon/build/module/linux/page.c:17:
./include/linux/mm.h:2430:6: note: declared here
2430 | long get_user_pages(unsigned long start, unsigned long nr_pages,
| ^~~~~~~~~~~~~~
make[5]: *** [scripts/Makefile.build:243: /home/herget/simics/simics-6.0.169/vmxmon/build/module/linux/page.o] Error 1
make[4]: *** [Makefile:2040: /home/herget/simics/simics-6.0.169/vmxmon/build/module] Error 2
gmake[3]: *** [CMakeFiles/vmxmon.dir/build.make:73: module/vmxmon.ko] Error 2
gmake[2]: *** [CMakeFiles/Makefile2:109: CMakeFiles/vmxmon.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:116: CMakeFiles/vmxmon.dir/rule] Error 2
gmake: *** [Makefile:124: vmxmon] Error 2
exiting
System info:
- OS: PopOS 22.04 LTS
- Kernel: 6.5.6-76060506-generic
- CPU: Intel® Core™ i7-10850H CPU @ 2.70GHz × 12
- RAM: 32GB
- All Intel virtualization technologies are enabled in BIOS
- System is up to date
- Simics 6.0.169 (Public Release)
Any ideas on how to fix this?
2
Answers
Your version of the Linux kernel is not yet supported but if you can downgrade to before 6.5 it should work. We have an internal request to support more recent versions. Not ETA at this time.
In general this is a problem with new kernel versions, the API is not stable.
I run Simics on Fedora 37 on an Intel i9-13900K computer.
It failed to load VMP as mentioned above with a 6.5 kernel.
So I built a 6.1.63 kernel and now it passes that step and
builds vmxmon successfully, but after that it hangs.
Got this error when starting a Simics machine.
[board0.mb.cpu0.core[0][0] info] VMP disabled. Failed to open device.