Bug #14862


KVM cannot boot on Intel Ice Lake - detected as i486

Added by Kilian Ries 2 months ago. Updated about 15 hours ago.

Start date:
Due date:
% Done:


Estimated time:
Gerrit CR:
External Bug:



Intel Ice Lake (Scalable V3) CPU support was just added to illumos via - but i think there are still some errors. I'm testing via latest SmartOS and the OS is able to boot and i can run VMs with CPU type 'qemu64', but if i set CPU type to 'host' my almalinux 8 won't boot because of the following error:

"This kernel requires an x86_64 CPU, but only detected an i486 CPU."

With Intel Scalable V2 this was not a problem. May there be a problem with how the CPU reports itself to the system / KVM stack?


Actions #1

Updated by Kilian Ries 2 months ago

CPU i'm testing with is

CPU Type": "Intel(R) Xeon(R) Silver 4309Y CPU @ 2.80GHz

Actions #2

Updated by Dan McDonald 2 months ago

Do you happen to know if this problem manifests with BHYVE as well?

Actions #3

Updated by Dan McDonald 2 months ago

I'd be very interested in the BHYVE results.

Ice Lake HW does offer 5-level paging. You'll note that we do not support 5-level paging yet, and that our fix in #14041 only allows the ability to BOOT on Ice Lake, not to support 5-level paging.

Wikipedia says that Linux introduced 5-level paging with the 4.14 kernel, and almalinux 8 is running a higher revision than that. If almalinux is seeing Ice Lake, AND expecting 5-level paging to be available but it's not, it might produce such an error.

Again, if it's possible for you to run a BHYVE VM booting the same almalinux on your Ice Lake machine, I'd be very interested in seeing if BHYVE produces the same error.

Actions #4

Updated by Kilian Ries 2 months ago

Just tested with a new bhyve VM running Almalinux 8.6 - that works. So bhyve is working - KVM not.

Actions #5

Updated by Dan McDonald 2 months ago

Fascinating. One more question, which PI are you running (`uname -a` is sufficient here). This seems to be a problem in KVM only, which helps narrow things. There were some recent pushed in BHYVE-land that MIGHT have pushed it ahead w.r.t. functionality. Knowing which PI you're running will help me determine if the recent BHYVE pushes may have been the difference.

Actions #6

Updated by Dan McDonald 2 months ago

Forgot to ask another question --> in the Almalinux you have on BHYVE, what CPU does the guest think it's running?

Actions #7

Updated by Kilian Ries 2 months ago

We build our own SmartOS image on a weekly base, this one is

SunOS 5.11 joyent_20220716T231915Z i86pc i386 i86pc

so it's just two weeks old ans hould contain the BHYVE patches. The Guest / Almalinux shows exactly the host CPU (cat /proc/cpuinfo):

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 106
model name : Intel(R) Xeon(R) Silver 4309Y CPU @ 2.80GHz
stepping : 6
cpu MHz : 2800.000
cache size : 12288 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 27
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht pbe syscall nx pdpe1gb lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq dtes64 ds_cpl ssse3 sdbg fma cx16 xtpr pcid dca sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch pti fsgsbase bmi1 avx2 smep bmi2 erms avx512f rdseed smap avx512cd sha_ni xsaveopt wbnoinvd arat md_clear
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 5600.00
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 57 bits virtual
power management:

Actions #8

Updated by Kilian Ries about 17 hours ago

Issue still exists - just tested with a brand new SmartOS build:

SunOS 5.11 joyent_20220924T231945Z i86pc i386 i86pc

Tested with latest CentOS 7 + Almalinux 8 KVM guests ...

Actions #9

Updated by Dan McDonald about 15 hours ago

I can't speak for others, but:

1.) I don't have ready-access to Ice Lake hardware so it is hard for me to debug & fix.

2.) While I understand a lot of KVM VMs still exist out there, BHYVE is where the community's effort is going at this point.

If this is a mission-critical bug for you in SmartOS, you may wish to engage MNX in a support contract.


Also available in: Atom PDF