Skip to content

Change x64 target cpu to prevent AVX instructions

This changes the x64 cpu target to westmere, the most recent intel cpu architecture that does not support avx instructions.

The current cpu target ivybridge will generate avx instructions which aren't supported by the default sel4 kernel configs nor by qemu when using the default tcg backend.

Supporting avx requires crafting the kernel config for the specific intended target cpu, as you have to specify the xsave region size, which xsave instruction to use, and which xsave feature bits to turn on. If you get these wrong the kernel will either refuse to boot or crash. This seems to me like an optimization step one might choose to do, not part of the default configuration.

Also, the xsave region size would affect the size of the tcb object, and I'm not sure if the low level libraries know how to pull that out of the sel4 config yet.

Merge request reports