@olivierlambert
In the original xen 4.13.4 source code I modified 2 files, one is mwait-idle.c :
--- mwait-idle.c.orig 2023-01-14 17:30:29.635655771 +0100
+++ mwait-idle.c 2023-01-14 09:06:04.274001499 +0100
@@ -864,8 +864,6 @@
static const struct idle_cpu idle_cpu_nehalem = {
.state_table = nehalem_cstates,
- .auto_demotion_disable_flags = NHM_C1_AUTO_DEMOTE | NHM_C3_AUTO_DEMOTE,
- .disable_promotion_to_c1e = 1,
};
static const struct idle_cpu idle_cpu_atom = {
the other is intel.c
--- intel.c.orig 2023-01-14 09:42:27.751861245 +0100
+++ intel.c 2023-01-14 09:43:05.036530787 +0100
@@ -326,8 +326,8 @@
x86_match_cpu(models) )
{
printk(XENLOG_WARNING
- "Disabling C-states C3 and C6 due to CPU errata\n");
- max_cstate = 1;
+ "Nehalem errata deleted ...\n");
+ max_cstate = 9;
}
}
so cstate is not restricted, but many patches are missing that xcp-ng provides. At the moment windows VMs won't even start.
I am now trying to build a xen with patches by xcp-ng, although if someone could help me with the above modifications, I would appreciate it.
PS: Rebuilt the xen-hypervisor-4.13.4-10.36.xcpng8.3.x86_64 package with the above modification, and removed the detect-nehalem-c-state.patch