Solve with #567 for the best result.
We should consider enabling AVX in the kernel so that we can compile software with -march=x86-64-v3 for better performance. This will be helpful for building VMMs on Microkit too, since some guest software might expect AVX (e.g. CachyOS compiles all software packages with AVX on by default). I will make a PR for this once I can quantify and prove that it is beneficial in terms of performance to enable AVX.
To enable AVX you just need to add this line to build_sdk.py, to make the kernel enable AVX in XCR0:
DEFAULT_KERNEL_OPTIONS_X86_64: KERNEL_OPTIONS = {
"KernelPlatform": "pc99",
"KernelX86MicroArch": "generic",
"KernelIOMMU": True,
+ "KernelXSaveFeatureSet": "7",
}
Like #567 this is a breaking change as it will raise the baseline CPU requirement.
Solve with #567 for the best result.
We should consider enabling AVX in the kernel so that we can compile software with
-march=x86-64-v3for better performance. This will be helpful for building VMMs on Microkit too, since some guest software might expect AVX (e.g. CachyOS compiles all software packages with AVX on by default). I will make a PR for this once I can quantify and prove that it is beneficial in terms of performance to enable AVX.To enable AVX you just need to add this line to build_sdk.py, to make the kernel enable AVX in XCR0:
DEFAULT_KERNEL_OPTIONS_X86_64: KERNEL_OPTIONS = { "KernelPlatform": "pc99", "KernelX86MicroArch": "generic", "KernelIOMMU": True, + "KernelXSaveFeatureSet": "7", }Like #567 this is a breaking change as it will raise the baseline CPU requirement.