diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c index 608e03fe5e..8f332fdbd9 100644 --- a/xen/arch/x86/cpu-policy.c +++ b/xen/arch/x86/cpu-policy.c @@ -341,6 +341,9 @@ static void recalculate_misc(struct cpu_policy *p) p->extd.raw[0x1e] = EMPTY_LEAF; /* TopoExt APIC ID/Core/Node */ p->extd.raw[0x1f] = EMPTY_LEAF; /* SEV */ p->extd.raw[0x20] = EMPTY_LEAF; /* Platform QoS */ + p->extd.raw[0x21].b = 0; + p->extd.raw[0x21].c = 0; + p->extd.raw[0x21].d = 0; break; } } diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h index bab3eecda6..f335929a70 100644 --- a/xen/include/xen/lib/x86/cpu-policy.h +++ b/xen/include/xen/lib/x86/cpu-policy.h @@ -324,7 +324,10 @@ struct cpu_policy uint32_t e21a; struct { DECL_BITFIELD(e21a); }; }; - uint32_t /* b */:32, /* c */:32, /* d */:32; + uint16_t ucode_size; /* Units of 16 bytes */ + uint8_t rap_size; /* Units of 8 entries */ + uint8_t :8; + uint32_t /* c */:32, /* d */:32; }; } extd;