Can someone let me know how to overcome this problem? I am trying this https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html Loading ACRN hypervisor with SDC scenario ... error: Can't get controller info.. Multiboot Bootloader: GRUB 2.02-2ubuntu8.21 ACRN Hypervisor calibrate_tsc, tsc_khz=2591442 [4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us [4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0 [4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz [4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296 [4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device! ACRN:\>
|
|

Geoffroy Van Cutsem
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Krishna Kishore
Sent: Thursday, May 6, 2021 7:22 PM
To: acrn-users@...
Subject: [acrn-users] failed to assign iommu device!
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Geoffroy Van Cutsem
Sent: Friday, May 7, 2021 5:05 AM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Liu, Fuzhong
Sent: Friday, May 7, 2021 6:47 AM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Thanks for response. I get same error even with QEMU 4.2.1 kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16) Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
toggle quoted message
Show quoted text
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi Fuzhong,
I am getting the following compilation error with 2.0. Trying to include acrn-kernel/include/kernel
====
boot.c:34:10: fatal error: efi.h: No such file or directory #include <efi.h> ^~~~~~~ compilation terminated. Makefile:125: recipe for target '/home/kishore/2.0-acrn-hypervisor/acrn-hypervisor-2.0/build/hypervisor/misc/efi-stub/boot.o' failed
Regards, Kishore
toggle quoted message
Show quoted text
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|

Geoffroy Van Cutsem
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Kishore Kanala
Sent: Monday, May 10, 2021 3:47 PM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
I am getting the following compilation error with 2.0. Trying to include acrn-kernel/include/kernel
boot.c:34:10: fatal error: efi.h: No such file or directory
#include <efi.h>
^~~~~~~
compilation terminated.
Makefile:125: recipe for target '/home/kishore/2.0-acrn-hypervisor/acrn-hypervisor-2.0/build/hypervisor/misc/efi-stub/boot.o' failed
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48" \
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' \
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Kishore Kanala
Sent: Monday, May 10, 2021 9:23 PM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi Fuzhong,
Thanks for your response. You are correct. I had disabled this when I was using QEMU 2.11.1. With this, iommu error was seen.
In the setup where this is enabled, I am getting the following error. I have tried with 2.4 and 2.0 versions. Is there a configuration for physical-address width?
=== Loading ACRN hypervisor with SDC scenario ... error: Can't get controller info.. Multiboot Bootloader: GRUB 2.02-2ubuntu8.23 [0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used! detect_hardware_support, physical-address width (40) over maximum physical-address width (39) [0us][cpu=0][(null)][sev=1][seq=2]:PANIC: init_pcpu_pre line: 132
[0us][cpu=0][(null)][sev=1][seq=3]:hardware not support!
===
Regards, Kishore
toggle quoted message
Show quoted text
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48" \
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' \
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi, Kishore,
For v2.4 codebase; please change below and try again. Thanks!
MAXIMUM_PA_WIDTH from 39U to 40U
diff --git a/hypervisor/include/arch/x86/page.h b/hypervisor/include/arch/x86/page.h
index 1094fa30d..e7c042903 100644
--- a/hypervisor/include/arch/x86/page.h
+++ b/hypervisor/include/arch/x86/page.h
@@ -14,7 +14,7 @@
#define PAGE_SIZE (1U << PAGE_SHIFT)
#define PAGE_MASK 0xFFFFFFFFFFFFF000UL
-#define MAXIMUM_PA_WIDTH 39U /* maximum physical-address width */
+#define MAXIMUM_PA_WIDTH 40U /* maximum physical-address width */
/* size of the low MMIO address space: 2GB */
#define PLATFORM_LO_MMIO_SIZE 0x80000000UL
Best wishes!
Nanlin
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Kishore Kanala
Sent: Tuesday, May 11, 2021 4:54 PM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
Thanks for your response. You are correct. I had disabled this when I was using QEMU 2.11.1. With this, iommu error was seen.
In the setup where this is enabled, I am getting the following error. I have tried with 2.4 and 2.0 versions.
Is there a configuration for physical-address width?
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
detect_hardware_support, physical-address width (40) over maximum physical-address width (39)
[0us][cpu=0][(null)][sev=1][seq=2]:PANIC: init_pcpu_pre line: 132
[0us][cpu=0][(null)][sev=1][seq=3]:hardware not support!
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48"
\
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/'
\
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Thanks Nanlin. This problem is resolved.
Next hurdle... check_vmx_ctrl is giving an error (hypervisor/arch/x86/guest/vmcs.c).
===
Loading ACRN hypervisor with SDC scenario ... error: Can't get controller info.. Multiboot Bootloader: GRUB 2.02-2ubuntu8.23 [0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used! ACRN Hypervisor calibrate_tsc, tsc_khz=2592235 [2084832us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11 18:07:18- DBG (daily tag:) sdc@qemu build by kishoreacrn, start time 2072994us [2086640us][cpu=0][(null)][sev=2][seq=3]:API version 1.0 [2087323us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz ACRN:\>[2461933us][cpu=0][(null)][sev=2][seq=29]:Start VM id: 0 name: ACRN SOS VM [2463120us][cpu=0][vm0:vcpu0][sev=3][seq=30]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[2464517us][cpu=0][vm0:vcpu0][sev=3][seq=31]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[3960186us][cpu=0][vm0:vcpu0][sev=3][seq=34]:vlapic: Start Secondary VCPU1 for VM[0]... [3961622us][cpu=1][vm0:vcpu1][sev=3][seq=35]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[3963651us][cpu=1][vm0:vcpu1][sev=3][seq=36]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4042481us][cpu=0][vm0:vcpu0][sev=3][seq=38]:vlapic: Start Secondary VCPU2 for VM[0]... [4043858us][cpu=2][vm0:vcpu2][sev=3][seq=39]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4045112us][cpu=2][vm0:vcpu2][sev=3][seq=40]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4121542us][cpu=0][vm0:vcpu0][sev=3][seq=42]:vlapic: Start Secondary VCPU3 for VM[0]... [4123077us][cpu=3][vm0:vcpu3][sev=3][seq=43]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4125074us][cpu=3][vm0:vcpu3][sev=3][seq=44]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
===
toggle quoted message
Show quoted text
Hi, Kishore,
For v2.4 codebase; please change below and try again. Thanks!
MAXIMUM_PA_WIDTH from 39U to 40U
diff --git a/hypervisor/include/arch/x86/page.h b/hypervisor/include/arch/x86/page.h
index 1094fa30d..e7c042903 100644
--- a/hypervisor/include/arch/x86/page.h
+++ b/hypervisor/include/arch/x86/page.h
@@ -14,7 +14,7 @@
#define PAGE_SIZE (1U << PAGE_SHIFT)
#define PAGE_MASK 0xFFFFFFFFFFFFF000UL
-#define MAXIMUM_PA_WIDTH 39U /* maximum physical-address width */
+#define MAXIMUM_PA_WIDTH 40U /* maximum physical-address width */
/* size of the low MMIO address space: 2GB */
#define PLATFORM_LO_MMIO_SIZE 0x80000000UL
Best wishes!
Nanlin
Thanks for your response. You are correct. I had disabled this when I was using QEMU 2.11.1. With this, iommu error was seen.
In the setup where this is enabled, I am getting the following error. I have tried with 2.4 and 2.0 versions.
Is there a configuration for physical-address width?
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
detect_hardware_support, physical-address width (40) over maximum physical-address width (39)
[0us][cpu=0][(null)][sev=1][seq=2]:PANIC: init_pcpu_pre line: 132
[0us][cpu=0][(null)][sev=1][seq=3]:hardware not support!
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48"
\
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/'
\
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|

Geoffroy Van Cutsem
Do you see the ACRN shell prompt (ACRN:\>) if you press “Enter” at that point? I do on my setup and I can then switch to the Service VM console by typing ‘vm_console 0’ (press Ctrl+spacebar from there if you wish to the return to the ACRN
shell).
I see the same error messages than you but ACRN is running. My Service VM kernel is not booting to completion though, it hangs at some point, then crashes and reboot. But I do see additional error messages from ACRN (related to iommu),
specifically: “iommu: DMAR OP Timeout! @ dmar_issue_qi_request”
Thanks,
Geoffroy
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Kishore Kanala
Sent: Tuesday, May 11, 2021 2:53 PM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
Thanks Nanlin. This problem is resolved.
Next hurdle... check_vmx_ctrl is giving an error (hypervisor/arch/x86/guest/vmcs.c).
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
ACRN Hypervisor
calibrate_tsc, tsc_khz=2592235
[2084832us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11 18:07:18- DBG (daily tag:) sdc@qemu build by kishoreacrn, start time 2072994us
[2086640us][cpu=0][(null)][sev=2][seq=3]:API version 1.0
[2087323us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
ACRN:\>[2461933us][cpu=0][(null)][sev=2][seq=29]:Start VM id: 0 name: ACRN SOS VM
[2463120us][cpu=0][vm0:vcpu0][sev=3][seq=30]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[2464517us][cpu=0][vm0:vcpu0][sev=3][seq=31]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[3960186us][cpu=0][vm0:vcpu0][sev=3][seq=34]:vlapic: Start Secondary VCPU1 for VM[0]...
[3961622us][cpu=1][vm0:vcpu1][sev=3][seq=35]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[3963651us][cpu=1][vm0:vcpu1][sev=3][seq=36]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4042481us][cpu=0][vm0:vcpu0][sev=3][seq=38]:vlapic: Start Secondary VCPU2 for VM[0]...
[4043858us][cpu=2][vm0:vcpu2][sev=3][seq=39]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4045112us][cpu=2][vm0:vcpu2][sev=3][seq=40]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4121542us][cpu=0][vm0:vcpu0][sev=3][seq=42]:vlapic: Start Secondary VCPU3 for VM[0]...
[4123077us][cpu=3][vm0:vcpu3][sev=3][seq=43]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4125074us][cpu=3][vm0:vcpu3][sev=3][seq=44]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
Hi, Kishore,
For v2.4 codebase; please change below and try again. Thanks!
MAXIMUM_PA_WIDTH from 39U to 40U
diff --git a/hypervisor/include/arch/x86/page.h b/hypervisor/include/arch/x86/page.h
index 1094fa30d..e7c042903 100644
--- a/hypervisor/include/arch/x86/page.h
+++ b/hypervisor/include/arch/x86/page.h
@@ -14,7 +14,7 @@
#define PAGE_SIZE (1U << PAGE_SHIFT)
#define PAGE_MASK 0xFFFFFFFFFFFFF000UL
-#define MAXIMUM_PA_WIDTH 39U /* maximum physical-address width
*/
+#define MAXIMUM_PA_WIDTH 40U /* maximum physical-address width
*/
/* size of the low MMIO address space: 2GB */
#define PLATFORM_LO_MMIO_SIZE 0x80000000UL
Best wishes!
Nanlin
Thanks for your response. You are correct. I had disabled this when I was using QEMU 2.11.1. With this, iommu error was seen.
In the setup where this is enabled, I am getting the following error. I have tried with 2.4 and 2.0 versions.
Is there a configuration for physical-address width?
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
detect_hardware_support, physical-address width (40) over maximum physical-address width (39)
[0us][cpu=0][(null)][sev=1][seq=2]:PANIC: init_pcpu_pre line: 132
[0us][cpu=0][(null)][sev=1][seq=3]:hardware not support!
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48"
\
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/'
\
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi Geoffroy, Thanks. This helps a lot. I saw ACRN shell prompt. But, did not bother to check VMs and boot service VM till I was your message. Service VM is booting for me.
Very few times, when I select ACRN hypervisor in GRUB, I get following error message. When this error occurs, Service VM is not listed and thus, vm_console 0 gives invalid parameter error
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591719
[2639579us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11
18:07:18- DBG (daily tag:) ***@***.*** build by kishoreacrn, start time
2628205us
[2640883us][cpu=0][(null)][sev=2][seq=3]:API version 1.0
[2641301us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R)
Core(TM) i7-9750H CPU @ 2.60GHz
ACRN:\>[2971433us][cpu=0][(null)][sev=2][seq=19]:Assertion failed in file
arch/x86/vtd.c,line 256 : fatal error
[2972631us][cpu=0][(null)][sev=2][seq=20]:
delta = (actual_load_address - CONFIG_HV_RAM_START) = 0x0
[2973735us][cpu=0][(null)][sev=2][seq=21]:
Host Stack: CPU_ID = 0
[2974471us][cpu=0][(null)][sev=2][seq=22]:addr(0x1120aad0)
0x0000000000000000 0x00000000007d9bdc 0x000000001305d040
0x00000001ca882b8c
[2975924us][cpu=0][(null)][sev=2][seq=23]:addr(0x1120aaf0)
0x000000001120ab30 0x000000001100c976 0x0000000011051160
0x000000001305d040
[2977368us][cpu=0][(null)][sev=2][seq=24]:addr(0x1120ab10)
0x0000000000000000 0x000000001100c880 0x000000001103d134
0x0000000000000000
[2978814us][cpu=0][(null)][sev=2][seq=25]:addr(0x1120ab30)
0x000000001120ab60 0x000000001100c362 0x000000001306d000
0x000000001306d000
[2980256us][cpu=0][(null)][sev=2][seq=26]:addr(0x1120ab50)
0x0000000011051160 0x000000001306d000 0x000000001120abf0
0x000000001101646e
[2981701us][cpu=0][(null)][sev=2][seq=27]:addr(0x1120ab70)
0x0000000000000000 0x0000000011051160 0x000000000000000f
0x000000001120ac00
[2983148us][cpu=0][(null)][sev=2][seq=28]:addr(0x1120ab90)
0x000000000000000d 0x0000000000000000 0x000000017e300000
0x0000000000000000
[2984589us][cpu=0][(null)][sev=2][seq=29]:addr(0x1120abb0)
0x00000000110450c7 0x839118c584437d48 0x0000000000000000
0x0000000000000000
[2986034us][cpu=0][(null)][sev=2][seq=30]:addr(0x1120abd0)
0x0000000011051160 0x0000000000000000 0x0000000000000000
0x0000000000000000
[2987358us][cpu=0][(null)][sev=2][seq=31]:addr(0x1120abf0)
0x000000001120ac30 0x000000001101701c 0x0000000000000000
0x839118c584437d48
[2988404us][cpu=0][(null)][sev=2][seq=32]:addr(0x1120ac10)
0x000000001120ac50 0x0000000000000000 0x0000000000000000
0x0000000000000000
[2989448us][cpu=0][(null)][sev=2][seq=33]:addr(0x1120ac30)
0x000000001120ac50 0x0000000011017128 0x0000000000000000
0x0000000000000000
[2990490us][cpu=0][(null)][sev=2][seq=34]:addr(0x1120ac50)
0x000000001120ac70 0x00000000110081e8 0x00000000110010e2
0x0000000000000000
[2991538us][cpu=0][(null)][sev=2][seq=35]:addr(0x1120ac70)
0x00000000110548b0 0x00000000696e746c 0x0000000000000000
0x0000000000000000
[2992583us][cpu=0][(null)][sev=2][seq=36]:addr(0x1120ac90)
0x0000000100000000 0x0000000000000000 0x0000000000000000
0x0000000000000000
[2993622us][cpu=0][(null)][sev=2][seq=37]:addr(0x1120acb0)
0x000000001120acb0 0x000000001120acb0 0x0000000000000000
0x0000000000000000
[2994663us][cpu=0][(null)][sev=2][seq=38]:
[2995020us][cpu=0][(null)][sev=2][seq=39]:Host Call Trace:
[2995677us][cpu=0][(null)][sev=2][seq=40]:----> 0x000000001100c976
[2996422us][cpu=0][(null)][sev=2][seq=41]:----> 0x000000001100c362
[2997173us][cpu=0][(null)][sev=2][seq=42]:----> 0x000000001101646e
[2997922us][cpu=0][(null)][sev=2][seq=43]:----> 0x000000001101701c
[2998665us][cpu=0][(null)][sev=2][seq=44]:----> 0x0000000011017128
[2999423us][cpu=0][(null)][sev=2][seq=45]:----> 0x00000000110081e8
[3000164us][cpu=0][(null)][sev=2][seq=46]:
Regards, Kishore
toggle quoted message
Show quoted text
Do you see the ACRN shell prompt (ACRN:\>) if you press “Enter” at that point? I do on my setup and I can then switch to the Service VM console by typing ‘vm_console 0’ (press Ctrl+spacebar from there if you wish to the return to the ACRN
shell).
I see the same error messages than you but ACRN is running. My Service VM kernel is not booting to completion though, it hangs at some point, then crashes and reboot. But I do see additional error messages from ACRN (related to iommu),
specifically: “iommu: DMAR OP Timeout! @ dmar_issue_qi_request”
Thanks,
Geoffroy
Thanks Nanlin. This problem is resolved.
Next hurdle... check_vmx_ctrl is giving an error (hypervisor/arch/x86/guest/vmcs.c).
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
ACRN Hypervisor
calibrate_tsc, tsc_khz=2592235
[2084832us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11 18:07:18- DBG (daily tag:) sdc@qemu build by kishoreacrn, start time 2072994us
[2086640us][cpu=0][(null)][sev=2][seq=3]:API version 1.0
[2087323us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
ACRN:\>[2461933us][cpu=0][(null)][sev=2][seq=29]:Start VM id: 0 name: ACRN SOS VM
[2463120us][cpu=0][vm0:vcpu0][sev=3][seq=30]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[2464517us][cpu=0][vm0:vcpu0][sev=3][seq=31]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[3960186us][cpu=0][vm0:vcpu0][sev=3][seq=34]:vlapic: Start Secondary VCPU1 for VM[0]...
[3961622us][cpu=1][vm0:vcpu1][sev=3][seq=35]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[3963651us][cpu=1][vm0:vcpu1][sev=3][seq=36]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4042481us][cpu=0][vm0:vcpu0][sev=3][seq=38]:vlapic: Start Secondary VCPU2 for VM[0]...
[4043858us][cpu=2][vm0:vcpu2][sev=3][seq=39]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4045112us][cpu=2][vm0:vcpu2][sev=3][seq=40]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4121542us][cpu=0][vm0:vcpu0][sev=3][seq=42]:vlapic: Start Secondary VCPU3 for VM[0]...
[4123077us][cpu=3][vm0:vcpu3][sev=3][seq=43]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4125074us][cpu=3][vm0:vcpu3][sev=3][seq=44]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
Hi, Kishore,
For v2.4 codebase; please change below and try again. Thanks!
MAXIMUM_PA_WIDTH from 39U to 40U
diff --git a/hypervisor/include/arch/x86/page.h b/hypervisor/include/arch/x86/page.h
index 1094fa30d..e7c042903 100644
--- a/hypervisor/include/arch/x86/page.h
+++ b/hypervisor/include/arch/x86/page.h
@@ -14,7 +14,7 @@
#define PAGE_SIZE (1U << PAGE_SHIFT)
#define PAGE_MASK 0xFFFFFFFFFFFFF000UL
-#define MAXIMUM_PA_WIDTH 39U /* maximum physical-address width
*/
+#define MAXIMUM_PA_WIDTH 40U /* maximum physical-address width
*/
/* size of the low MMIO address space: 2GB */
#define PLATFORM_LO_MMIO_SIZE 0x80000000UL
Best wishes!
Nanlin
Thanks for your response. You are correct. I had disabled this when I was using QEMU 2.11.1. With this, iommu error was seen.
In the setup where this is enabled, I am getting the following error. I have tried with 2.4 and 2.0 versions.
Is there a configuration for physical-address width?
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
detect_hardware_support, physical-address width (40) over maximum physical-address width (39)
[0us][cpu=0][(null)][sev=1][seq=2]:PANIC: init_pcpu_pre line: 132
[0us][cpu=0][(null)][sev=1][seq=3]:hardware not support!
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48"
\
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/'
\
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|

Geoffroy Van Cutsem
Thanks Kishore. I see the same error message as reported below if I increase the loglevel for the console to 5 or 6. In that case, there is no Service VM started, ‘vm_list’ does not list any VM and ‘vm_console 0’ rightfully return that
the parameter is invalid.
The difference I have is that I have never seen the Service VM booting to a logging prompt on my system (I’m using a different HW: Skylake, running Ubuntu 20.04)
Thanks,
Geoffroy
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Kishore Kanala
Sent: Wednesday, May 12, 2021 11:54 AM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
Thanks. This helps a lot.
I saw ACRN shell prompt. But, did not bother to check VMs and boot service VM till I was your message.
Service VM is booting for me.
Very few times, when I select ACRN hypervisor in GRUB, I get following error message. When this error occurs, Service VM is not listed and thus, vm_console 0 gives invalid parameter error
Loading ACRN hypervisor with SDC scenario ... error: Can't get controller info.. Multiboot Bootloader: GRUB 2.02-2ubuntu8.23 [0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used! ACRN Hypervisor calibrate_tsc, tsc_khz=2591719
[2639579us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11 18:07:18- DBG (daily tag:)
***@***.*** build by kishoreacrn, start time 2628205us [2640883us][cpu=0][(null)][sev=2][seq=3]:API version 1.0 [2641301us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz ACRN:\>[2971433us][cpu=0][(null)][sev=2][seq=19]:Assertion
failed in file arch/x86/vtd.c,line 256 : fatal error [2972631us][cpu=0][(null)][sev=2][seq=20]: delta = (actual_load_address - CONFIG_HV_RAM_START) = 0x0 [2973735us][cpu=0][(null)][sev=2][seq=21]: Host Stack: CPU_ID = 0 [2974471us][cpu=0][(null)][sev=2][seq=22]:addr(0x1120aad0)
0x0000000000000000 0x00000000007d9bdc 0x000000001305d040 0x00000001ca882b8c [2975924us][cpu=0][(null)][sev=2][seq=23]:addr(0x1120aaf0) 0x000000001120ab30 0x000000001100c976 0x0000000011051160 0x000000001305d040 [2977368us][cpu=0][(null)][sev=2][seq=24]:addr(0x1120ab10)
0x0000000000000000 0x000000001100c880 0x000000001103d134 0x0000000000000000 [2978814us][cpu=0][(null)][sev=2][seq=25]:addr(0x1120ab30) 0x000000001120ab60 0x000000001100c362 0x000000001306d000 0x000000001306d000 [2980256us][cpu=0][(null)][sev=2][seq=26]:addr(0x1120ab50)
0x0000000011051160 0x000000001306d000 0x000000001120abf0 0x000000001101646e [2981701us][cpu=0][(null)][sev=2][seq=27]:addr(0x1120ab70) 0x0000000000000000 0x0000000011051160 0x000000000000000f 0x000000001120ac00 [2983148us][cpu=0][(null)][sev=2][seq=28]:addr(0x1120ab90)
0x000000000000000d 0x0000000000000000 0x000000017e300000 0x0000000000000000 [2984589us][cpu=0][(null)][sev=2][seq=29]:addr(0x1120abb0) 0x00000000110450c7 0x839118c584437d48 0x0000000000000000 0x0000000000000000 [2986034us][cpu=0][(null)][sev=2][seq=30]:addr(0x1120abd0)
0x0000000011051160 0x0000000000000000 0x0000000000000000 0x0000000000000000 [2987358us][cpu=0][(null)][sev=2][seq=31]:addr(0x1120abf0) 0x000000001120ac30 0x000000001101701c 0x0000000000000000 0x839118c584437d48 [2988404us][cpu=0][(null)][sev=2][seq=32]:addr(0x1120ac10)
0x000000001120ac50 0x0000000000000000 0x0000000000000000 0x0000000000000000 [2989448us][cpu=0][(null)][sev=2][seq=33]:addr(0x1120ac30) 0x000000001120ac50 0x0000000011017128 0x0000000000000000 0x0000000000000000 [2990490us][cpu=0][(null)][sev=2][seq=34]:addr(0x1120ac50)
0x000000001120ac70 0x00000000110081e8 0x00000000110010e2 0x0000000000000000 [2991538us][cpu=0][(null)][sev=2][seq=35]:addr(0x1120ac70) 0x00000000110548b0 0x00000000696e746c 0x0000000000000000 0x0000000000000000 [2992583us][cpu=0][(null)][sev=2][seq=36]:addr(0x1120ac90)
0x0000000100000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 [2993622us][cpu=0][(null)][sev=2][seq=37]:addr(0x1120acb0) 0x000000001120acb0 0x000000001120acb0 0x0000000000000000 0x0000000000000000 [2994663us][cpu=0][(null)][sev=2][seq=38]: [2995020us][cpu=0][(null)][sev=2][seq=39]:Host
Call Trace: [2995677us][cpu=0][(null)][sev=2][seq=40]:----> 0x000000001100c976 [2996422us][cpu=0][(null)][sev=2][seq=41]:----> 0x000000001100c362 [2997173us][cpu=0][(null)][sev=2][seq=42]:----> 0x000000001101646e [2997922us][cpu=0][(null)][sev=2][seq=43]:---->
0x000000001101701c [2998665us][cpu=0][(null)][sev=2][seq=44]:----> 0x0000000011017128 [2999423us][cpu=0][(null)][sev=2][seq=45]:----> 0x00000000110081e8 [3000164us][cpu=0][(null)][sev=2][seq=46]:
Do you see the ACRN shell prompt (ACRN:\>) if you press “Enter” at that point? I do on my setup and I can then switch to the Service VM console by typing ‘vm_console 0’ (press Ctrl+spacebar
from there if you wish to the return to the ACRN shell).
I see the same error messages than you but ACRN is running. My Service VM kernel is not booting to completion though, it hangs at some point, then crashes and reboot. But I do see
additional error messages from ACRN (related to iommu), specifically: “iommu: DMAR OP Timeout! @ dmar_issue_qi_request”
Thanks,
Geoffroy
Thanks Nanlin. This problem is resolved.
Next hurdle... check_vmx_ctrl is giving an error (hypervisor/arch/x86/guest/vmcs.c).
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
ACRN Hypervisor
calibrate_tsc, tsc_khz=2592235
[2084832us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11 18:07:18- DBG (daily tag:) sdc@qemu build by kishoreacrn, start time 2072994us
[2086640us][cpu=0][(null)][sev=2][seq=3]:API version 1.0
[2087323us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
ACRN:\>[2461933us][cpu=0][(null)][sev=2][seq=29]:Start VM id: 0 name: ACRN SOS VM
[2463120us][cpu=0][vm0:vcpu0][sev=3][seq=30]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[2464517us][cpu=0][vm0:vcpu0][sev=3][seq=31]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[3960186us][cpu=0][vm0:vcpu0][sev=3][seq=34]:vlapic: Start Secondary VCPU1 for VM[0]...
[3961622us][cpu=1][vm0:vcpu1][sev=3][seq=35]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[3963651us][cpu=1][vm0:vcpu1][sev=3][seq=36]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4042481us][cpu=0][vm0:vcpu0][sev=3][seq=38]:vlapic: Start Secondary VCPU2 for VM[0]...
[4043858us][cpu=2][vm0:vcpu2][sev=3][seq=39]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4045112us][cpu=2][vm0:vcpu2][sev=3][seq=40]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4121542us][cpu=0][vm0:vcpu0][sev=3][seq=42]:vlapic: Start Secondary VCPU3 for VM[0]...
[4123077us][cpu=3][vm0:vcpu3][sev=3][seq=43]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4125074us][cpu=3][vm0:vcpu3][sev=3][seq=44]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
Hi, Kishore,
For v2.4 codebase; please change below and try again. Thanks!
MAXIMUM_PA_WIDTH from 39U to 40U
diff --git a/hypervisor/include/arch/x86/page.h b/hypervisor/include/arch/x86/page.h
index 1094fa30d..e7c042903 100644
--- a/hypervisor/include/arch/x86/page.h
+++ b/hypervisor/include/arch/x86/page.h
@@ -14,7 +14,7 @@
#define PAGE_SIZE (1U << PAGE_SHIFT)
#define PAGE_MASK 0xFFFFFFFFFFFFF000UL
-#define MAXIMUM_PA_WIDTH 39U /* maximum physical-address width
*/
+#define MAXIMUM_PA_WIDTH 40U /* maximum physical-address width
*/
/* size of the low MMIO address space: 2GB */
#define PLATFORM_LO_MMIO_SIZE 0x80000000UL
Best wishes!
Nanlin
Thanks for your response. You are correct. I had disabled this when I was using QEMU 2.11.1. With this, iommu error was seen.
In the setup where this is enabled, I am getting the following error. I have tried with 2.4 and 2.0 versions.
Is there a configuration for physical-address width?
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
detect_hardware_support, physical-address width (40) over maximum physical-address width (39)
[0us][cpu=0][(null)][sev=1][seq=2]:PANIC: init_pcpu_pre line: 132
[0us][cpu=0][(null)][sev=1][seq=3]:hardware not support!
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48"
\
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/'
\
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|
Hi Kishore
One question:
Do you change any kernel command of HOST OS between OK and KO: Service VM is booting
Service VM is booting for me.
Very few times, will get following error:
ACRN:\>[2971433us][cpu=0][(null)][sev=2][seq=19]:Assertion failed in file arch/x86/vtd.c,line 256 : fatal error
Is intel_iommu=on
in your HOST OS kernel cmdline for this Assert? If yes, please remove it.
BR.
Fuzhong
toggle quoted message
Show quoted text
From: acrn-users@... <acrn-users@...>
On Behalf Of Kishore Kanala
Sent: Wednesday, May 12, 2021 5:54 PM
To: acrn-users@...
Subject: Re: [acrn-users] failed to assign iommu device!
Thanks. This helps a lot.
I saw ACRN shell prompt. But, did not bother to check VMs and boot service VM till I was your message.
Service VM is booting for me.
Very few times, when I select ACRN hypervisor in GRUB, I get following error message. When this error occurs, Service VM is not listed and thus, vm_console 0 gives invalid parameter error
Loading ACRN hypervisor with SDC scenario ... error: Can't get controller info.. Multiboot Bootloader: GRUB 2.02-2ubuntu8.23 [0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used! ACRN Hypervisor calibrate_tsc, tsc_khz=2591719
[2639579us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11 18:07:18- DBG (daily tag:)
***@***.*** build by kishoreacrn, start time 2628205us [2640883us][cpu=0][(null)][sev=2][seq=3]:API version 1.0 [2641301us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz ACRN:\>[2971433us][cpu=0][(null)][sev=2][seq=19]:Assertion
failed in file arch/x86/vtd.c,line 256 : fatal error [2972631us][cpu=0][(null)][sev=2][seq=20]: delta = (actual_load_address - CONFIG_HV_RAM_START) = 0x0 [2973735us][cpu=0][(null)][sev=2][seq=21]: Host Stack: CPU_ID = 0 [2974471us][cpu=0][(null)][sev=2][seq=22]:addr(0x1120aad0)
0x0000000000000000 0x00000000007d9bdc 0x000000001305d040 0x00000001ca882b8c [2975924us][cpu=0][(null)][sev=2][seq=23]:addr(0x1120aaf0) 0x000000001120ab30 0x000000001100c976 0x0000000011051160 0x000000001305d040 [2977368us][cpu=0][(null)][sev=2][seq=24]:addr(0x1120ab10)
0x0000000000000000 0x000000001100c880 0x000000001103d134 0x0000000000000000 [2978814us][cpu=0][(null)][sev=2][seq=25]:addr(0x1120ab30) 0x000000001120ab60 0x000000001100c362 0x000000001306d000 0x000000001306d000 [2980256us][cpu=0][(null)][sev=2][seq=26]:addr(0x1120ab50)
0x0000000011051160 0x000000001306d000 0x000000001120abf0 0x000000001101646e [2981701us][cpu=0][(null)][sev=2][seq=27]:addr(0x1120ab70) 0x0000000000000000 0x0000000011051160 0x000000000000000f 0x000000001120ac00 [2983148us][cpu=0][(null)][sev=2][seq=28]:addr(0x1120ab90)
0x000000000000000d 0x0000000000000000 0x000000017e300000 0x0000000000000000 [2984589us][cpu=0][(null)][sev=2][seq=29]:addr(0x1120abb0) 0x00000000110450c7 0x839118c584437d48 0x0000000000000000 0x0000000000000000 [2986034us][cpu=0][(null)][sev=2][seq=30]:addr(0x1120abd0)
0x0000000011051160 0x0000000000000000 0x0000000000000000 0x0000000000000000 [2987358us][cpu=0][(null)][sev=2][seq=31]:addr(0x1120abf0) 0x000000001120ac30 0x000000001101701c 0x0000000000000000 0x839118c584437d48 [2988404us][cpu=0][(null)][sev=2][seq=32]:addr(0x1120ac10)
0x000000001120ac50 0x0000000000000000 0x0000000000000000 0x0000000000000000 [2989448us][cpu=0][(null)][sev=2][seq=33]:addr(0x1120ac30) 0x000000001120ac50 0x0000000011017128 0x0000000000000000 0x0000000000000000 [2990490us][cpu=0][(null)][sev=2][seq=34]:addr(0x1120ac50)
0x000000001120ac70 0x00000000110081e8 0x00000000110010e2 0x0000000000000000 [2991538us][cpu=0][(null)][sev=2][seq=35]:addr(0x1120ac70) 0x00000000110548b0 0x00000000696e746c 0x0000000000000000 0x0000000000000000 [2992583us][cpu=0][(null)][sev=2][seq=36]:addr(0x1120ac90)
0x0000000100000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 [2993622us][cpu=0][(null)][sev=2][seq=37]:addr(0x1120acb0) 0x000000001120acb0 0x000000001120acb0 0x0000000000000000 0x0000000000000000 [2994663us][cpu=0][(null)][sev=2][seq=38]: [2995020us][cpu=0][(null)][sev=2][seq=39]:Host
Call Trace: [2995677us][cpu=0][(null)][sev=2][seq=40]:----> 0x000000001100c976 [2996422us][cpu=0][(null)][sev=2][seq=41]:----> 0x000000001100c362 [2997173us][cpu=0][(null)][sev=2][seq=42]:----> 0x000000001101646e [2997922us][cpu=0][(null)][sev=2][seq=43]:---->
0x000000001101701c [2998665us][cpu=0][(null)][sev=2][seq=44]:----> 0x0000000011017128 [2999423us][cpu=0][(null)][sev=2][seq=45]:----> 0x00000000110081e8 [3000164us][cpu=0][(null)][sev=2][seq=46]:
Do you see the ACRN shell prompt (ACRN:\>) if you press “Enter” at that point? I do on my setup and I can then switch to the Service VM console by typing ‘vm_console 0’ (press Ctrl+spacebar
from there if you wish to the return to the ACRN shell).
I see the same error messages than you but ACRN is running. My Service VM kernel is not booting to completion though, it hangs at some point, then crashes and reboot. But I do see
additional error messages from ACRN (related to iommu), specifically: “iommu: DMAR OP Timeout! @ dmar_issue_qi_request”
Thanks,
Geoffroy
Thanks Nanlin. This problem is resolved.
Next hurdle... check_vmx_ctrl is giving an error (hypervisor/arch/x86/guest/vmcs.c).
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
ACRN Hypervisor
calibrate_tsc, tsc_khz=2592235
[2084832us][cpu=0][(null)][sev=2][seq=2]:HV version 2.4-2021-05-11 18:07:18- DBG (daily tag:) sdc@qemu build by kishoreacrn, start time 2072994us
[2086640us][cpu=0][(null)][sev=2][seq=3]:API version 1.0
[2087323us][cpu=0][(null)][sev=2][seq=4]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
ACRN:\>[2461933us][cpu=0][(null)][sev=2][seq=29]:Start VM id: 0 name: ACRN SOS VM
[2463120us][cpu=0][vm0:vcpu0][sev=3][seq=30]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[2464517us][cpu=0][vm0:vcpu0][sev=3][seq=31]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[3960186us][cpu=0][vm0:vcpu0][sev=3][seq=34]:vlapic: Start Secondary VCPU1 for VM[0]...
[3961622us][cpu=1][vm0:vcpu1][sev=3][seq=35]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[3963651us][cpu=1][vm0:vcpu1][sev=3][seq=36]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4042481us][cpu=0][vm0:vcpu0][sev=3][seq=38]:vlapic: Start Secondary VCPU2 for VM[0]...
[4043858us][cpu=2][vm0:vcpu2][sev=3][seq=39]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4045112us][cpu=2][vm0:vcpu2][sev=3][seq=40]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
[4121542us][cpu=0][vm0:vcpu0][sev=3][seq=42]:vlapic: Start Secondary VCPU3 for VM[0]...
[4123077us][cpu=3][vm0:vcpu3][sev=3][seq=43]:VMX ctrl 0x482 not fully enabled: request 0x92220088 but get 0x9621e1fa
[4125074us][cpu=3][vm0:vcpu3][sev=3][seq=44]:VMX ctrl 0x48b not fully enabled: request 0x4ab but get 0xab
Hi, Kishore,
For v2.4 codebase; please change below and try again. Thanks!
MAXIMUM_PA_WIDTH from 39U to 40U
diff --git a/hypervisor/include/arch/x86/page.h b/hypervisor/include/arch/x86/page.h
index 1094fa30d..e7c042903 100644
--- a/hypervisor/include/arch/x86/page.h
+++ b/hypervisor/include/arch/x86/page.h
@@ -14,7 +14,7 @@
#define PAGE_SIZE (1U << PAGE_SHIFT)
#define PAGE_MASK 0xFFFFFFFFFFFFF000UL
-#define MAXIMUM_PA_WIDTH 39U /* maximum physical-address width
*/
+#define MAXIMUM_PA_WIDTH 40U /* maximum physical-address width
*/
/* size of the low MMIO address space: 2GB */
#define PLATFORM_LO_MMIO_SIZE 0x80000000UL
Best wishes!
Nanlin
Thanks for your response. You are correct. I had disabled this when I was using QEMU 2.11.1. With this, iommu error was seen.
In the setup where this is enabled, I am getting the following error. I have tried with 2.4 and 2.0 versions.
Is there a configuration for physical-address width?
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.23
[0us][cpu=0][(null)][sev=3][seq=1]:vlapic: Basic apicv ops is used!
detect_hardware_support, physical-address width (40) over maximum physical-address width (39)
[0us][cpu=0][(null)][sev=1][seq=2]:PANIC: init_pcpu_pre line: 132
[0us][cpu=0][(null)][sev=1][seq=3]:hardware not support!
Hi Kishore
Is
aw-bits=48 included for your setup? If not, there will be the issue: failed to assign iommu device!
virt-install \
--connect qemu:///system \
--name ACRNSOS \
--machine q35 \
--cpu host-passthrough,+invtsc \
--ram 4096 \
--disk path=/var/lib/libvirt/images/acrnsos.img,size=32 \
--vcpus 4 \
--virt-type kvm \
--os-type linux \
--os-variant ubuntu18.04 \
--graphics none \
--clock offset=utc,tsc_present=yes,kvmclock_present=no \
--qemu-commandline="-machine kernel-irqchip=split -device intel-iommu,intremap=on,caching-mode=on,aw-bits=48"
\
--location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/'
\
--extra-args "console=tty0 console=ttyS0,115200n8"
BR.
Fuzhong
I get same error even with QEMU 4.2.1
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ /usr/bin/kvm-spice --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.16)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
kishore@kishore-OMEN-by-HP-Laptop-15-dh0xxx:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.4.0-72-generic root=UUID=27bc3288-2660-433b-93f2-be9ff3ed9e47 ro quiet splash vt.handoff=7
Hi Krishna Kishore
Could you please share your qemu version?
QEMU emulator version 4.2.0 is verified in this guide:
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
You should use qemu version >= 2.11.2 with below commit:
commit 0b250250b7e7298e0001faf76015da4b03b6b1b3
Author: Prasad Singamsetty <prasad.singamsetty@...>
Date: Tue Nov 14 18:13:50 2017 -0500
intel-iommu: Extend address width to 48 bits
The current implementation of Intel IOMMU code only supports 39 bits
iova address width. This patch provides a new parameter (x-aw-bits)
for intel-iommu to extend its address width to 48 bits but keeping the
default the same (39 bits). The reason for not changing the default
is to avoid potential compatibility problems with live migration of
intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
parameter are 39 and 48.
After enabling larger address width (48), we should be able to map
larger iova addresses in the guest. For example, a QEMU guest that
is configured with large memory ( >=1TB ). To check whether 48 bits
aw is enabled, we can grep in the guest dmesg output with line:
"DMAR: Host address width 48".
Signed-off-by: Prasad Singamsetty <prasad.singamsety@...>
Reviewed-by: Peter Xu <peterx@...>
Reviewed-by: Michael S. Tsirkin <mst@...>
Signed-off-by: Michael S. Tsirkin <mst@...>
(cherry picked from commit 37f51384ae05bd50f83308339dbffa3e78404874)
Signed-off-by: Michael Roth <mdroth@...>
BR.
Fuzhong
Hi Krishna Kishore
Please try v2.0 for ACRN on qemu.
If still fail, please share cat /proc/cmdline of your host OS.
Thanks!
BR.
Fuzhong
Hi!
Which version of ACRN are you using?
The error looks a bit different but be aware that the latest version of ACRN has a regression on QEMU:
https://github.com/projectacrn/acrn-hypervisor/issues/5938
Thanks,
Geoffroy
[Edited Message Follows]
Can someone let me know how to overcome this problem? I am trying this
https://projectacrn.github.io/latest/tutorials/acrn_on_qemu.html
Loading ACRN hypervisor with SDC scenario ...
error: Can't get controller info..
Multiboot Bootloader: GRUB 2.02-2ubuntu8.21
ACRN Hypervisor
calibrate_tsc, tsc_khz=2591442
[4589978us][cpu=0][(null)][sev=2][seq=1]:HV version 2.5-unstable-2021-05-06 20:06:44-7c92ac425 DBG (daily tag:acrn-2021w18.5-180000p) sdc@qemu build by kishore, start time 4579269us
[4591202us][cpu=0][(null)][sev=2][seq=2]:API version 1.0
[4591568us][cpu=0][(null)][sev=2][seq=3]:Detect processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[4908926us][cpu=0][(null)][sev=1][seq=18]:PANIC: assign_vdev_pt_iommu_domain line: 296
[4909856us][cpu=0][(null)][sev=1][seq=19]:failed to assign iommu device!
ACRN:\>
|
|