ACRN hypervisor message: VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b


Geoffroy Van Cutsem
 

Hi folks,

When booting ACRN on my KBL NUC (NUC7i7DNHE), I see the following messages on the console:
ACRN Hypervisor
calibrate_tsc, tsc_khz=2100000
[12273476us][cpu=0][sev=2][seq=9]:HV version 0.3-unstable-2018-10-08 12:58:18-eebccac2 DBG (daily tag:acrn-2018w41.1-140000p) build by root, start time 12268466us
[12289298us][cpu=0][sev=2][seq=10]:API version 1.0
[12294405us][cpu=0][sev=2][seq=11]:Detect processor: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
[12303669us][cpu=0][sev=2][seq=12]:hardware support HV
[12309831us][cpu=0][sev=3][seq=13]:mmu_modify_or_del, invalid parameters!

[12330813us][cpu=0][sev=3][seq=14]:System S3/S5 is NOT supported.
[12337424us][cpu=0][sev=2][seq=32]:Start VM0
[12341873us][cpu=0][sev=3][seq=33]:VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b

ACRN:\>[20011982us][cpu=0][sev=3][seq=6438]:vlapic: Start Secondary VCPU1 for VM[0]...
[20019793us][cpu=1][sev=3][seq=6439]:VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b

[20038219us][cpu=0][sev=3][seq=6441]:vlapic: Start Secondary VCPU2 for VM[0]...
[20046046us][cpu=2][sev=3][seq=6442]:VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b
<snip>

The system seems to be working fine except for the boot time that is quite high, I have no idea yet what is causing the slow boot time and I'm therefore exploring many of the warnings/errors I see in the system so any help to make me understand this one above would be appreciated :-)

Thanks,
Geoffroy


joebovin@...
 

Hi Geoffroy & list,

Same issue here but with an Intel NUC NUC7i5DNHE.
After reading ACRN code, it looks like it means there's not support for VMX_PROCBASED_CTLS2_VAPIC_REGS. Is that true?
What are the implications for the VMs?

Thanks,
Joe


joebovin@...
 

Hi Geoffroy & list,

Any news on this?
On my side the issue is related to the uart being very slow. SystemD messages appears very slowly through the uart.
After bisecting a bunch of commit I eventually found it may be related to the commit 1c7d2f653ad380b5447bc50abc5e2cb4e24c32e2 linked to the issue https://github.com/projectacrn/acrn-hypervisor/issues/1476
If I change back COM1_IRQ to 4 in hypervisor/include/debug/vuart.h, boot time is back to normal.

Thanks,
Joe


Wang, Hongbo
 

Thanks a lot for the feedback!

We’ll check it and try your suggestion, then reply this email thread later.

 

 

Best regards.

Hongbo

Tel: +86-21-6116 7445

MP: +86-1364 1793 689

Mail: hongbo.wang@...

 

From: acrn-users@... [mailto:acrn-users@...] On Behalf Of joebovin@...
Sent: Tuesday, October 30, 2018 9:21 AM
To: acrn-users@...
Subject: Re: [acrn-users] ACRN hypervisor message: VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b

 

Hi Geoffroy & list,

Any news on this?
On my side the issue is related to the uart being very slow. SystemD messages appears very slowly through the uart.
After bisecting a bunch of commit I eventually found it may be related to the commit 1c7d2f653ad380b5447bc50abc5e2cb4e24c32e2 linked to the issue https://github.com/projectacrn/acrn-hypervisor/issues/1476
If I change back COM1_IRQ to 4 in hypervisor/include/debug/vuart.h, boot time is back to normal.

Thanks,
Joe


Chen, Jason CJ
 

Hi, Joe,

 

After change vuart irq from 4 to 6, the SOS kernel config need enable CONFIG_SERIAL_8250_DETECT_IRQ, otherwise, the ttyS0 will work under polling mode and slowly…

 

Thanks & Best Regards,

 

Jason Chen

 

SSG -> OTC -> Intel Auto Hypervisor Team

 

From: acrn-users@... [mailto:acrn-users@...] On Behalf Of Wang, Hongbo
Sent: Tuesday, October 30, 2018 9:28 AM
To: acrn-users@...
Subject: Re: [acrn-users] ACRN hypervisor message: VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b

 

Thanks a lot for the feedback!

We’ll check it and try your suggestion, then reply this email thread later.

 

 

Best regards.

Hongbo

Tel: +86-21-6116 7445

MP: +86-1364 1793 689

Mail: hongbo.wang@...

 

From: acrn-users@... [mailto:acrn-users@...] On Behalf Of joebovin@...
Sent: Tuesday, October 30, 2018 9:21 AM
To: acrn-users@...
Subject: Re: [acrn-users] ACRN hypervisor message: VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b

 

Hi Geoffroy & list,

Any news on this?
On my side the issue is related to the uart being very slow. SystemD messages appears very slowly through the uart.
After bisecting a bunch of commit I eventually found it may be related to the commit 1c7d2f653ad380b5447bc50abc5e2cb4e24c32e2 linked to the issue https://github.com/projectacrn/acrn-hypervisor/issues/1476
If I change back COM1_IRQ to 4 in hypervisor/include/debug/vuart.h, boot time is back to normal.

Thanks,
Joe


joebovin@...
 

On Mon, Oct 29, 2018 at 06:46 PM, Chen, Jason CJ wrote:
After change vuart irq from 4 to 6, the SOS kernel config need enable CONFIG_SERIAL_8250_DETECT_IRQ,
Hi Jason,

Thanks for your reply. Of course I made sure this option was set in my .config file.
> grep CONFIG_SERIAL_8250_DETECT_IRQ kernel_config_uefi_sos
> CONFIG_SERIAL_8250_DETECT_IRQ=y

Moreover this option is set by default in the kernel_config_uefi_sos file in the acrn_kernel repository and I didn't change it.
However linux keeps choosing IRQ 4 for uart0, ...
I just recompiled everything (of course with acrn COM1_IRQ set to 6 and CONFIG_SERIAL_8250_DETECT_IRQ=y) and I still get in the boot trace:

> ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

Last Friday, I even changed the default configuration in arch/x86/include/asm/serial.h

{ .uart = 0,    BASE_BAUD,    0x3F8,    6,    STD_COMX_FLAGS    }, /* ttyS0 */

but still got in my traces

> ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

My opinion is that something makes linux believe the uart is really on IRQ 4...

Thanks,
Joe


Chen, Jason CJ
 

From: acrn-users@... [mailto:acrn-users@...] On Behalf Of joebovin@...
Sent: Tuesday, October 30, 2018 10:58 AM
To: acrn-users@...
Subject: Re: [acrn-users] ACRN hypervisor message: VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b

 

On Mon, Oct 29, 2018 at 06:46 PM, Chen, Jason CJ wrote:

After change vuart irq from 4 to 6, the SOS kernel config need enable CONFIG_SERIAL_8250_DETECT_IRQ,

Hi Jason,

Thanks for your reply. Of course I made sure this option was set in my .config file.
> grep CONFIG_SERIAL_8250_DETECT_IRQ kernel_config_uefi_sos
> CONFIG_SERIAL_8250_DETECT_IRQ=y

Moreover this option is set by default in the kernel_config_uefi_sos file in the acrn_kernel repository and I didn't change it.
However linux keeps choosing IRQ 4 for uart0, ...
I just recompiled everything (of course with acrn COM1_IRQ set to 6 and CONFIG_SERIAL_8250_DETECT_IRQ=y) and I still get in the boot trace:

> ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

Last Friday, I even changed the default configuration in arch/x86/include/asm/serial.h

{ .uart = 0,    BASE_BAUD,    0x3F8,    6,    STD_COMX_FLAGS    }, /* ttyS0 */

but still got in my traces

> ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

My opinion is that something makes linux believe the uart is really on IRQ 4...

Hi, Joe,

 

Your information make me a little confuse, if we enabled irq auto detection, either the port could detect the real irq as 6, or the port could not detect the irq, then irq will be set to 0.

 

Thanks,
Joe


joebovin@...
 

On Mon, Oct 29, 2018 at 08:26 PM, Chen, Jason CJ wrote:
Your information make me a little confuse, if we enabled irq auto detection, either the port could detect the real irq as 6, or the port could not detect the irq, then irq will be set to 0.
Hi Jason,

Ok... then something doesn't work here and I'm also confused :)
I will dig into it.

Thanks,
Joe


joebovin@...
 

Hi Jason,

Eventually I found out the culprit: After removing CONFIG_SERIAL_8250_PNP=y from kernel_config_uefi_sos I have the expected behavior.

Thanks,
Joe


Chen, Jason CJ
 

Hi, Joe,

 

Thanks for the update, we will also check from our end.

 

Thanks & Best Regards,

 

Jason Chen

 

SSG -> OTC -> Intel Auto Hypervisor Team

 

From: acrn-users@... [mailto:acrn-users@...] On Behalf Of joebovin@...
Sent: Thursday, November 1, 2018 12:17 AM
To: acrn-users@...
Subject: Re: [acrn-users] ACRN hypervisor message: VMX ctrl 0x48b not fully enabled: request 0x18b but get 0x8b

 

Hi Jason,

Eventually I found out the culprit: After removing CONFIG_SERIAL_8250_PNP=y from kernel_config_uefi_sos I have the expected behavior.

Thanks,
Joe