On Fri, Sep 01, 2023 at 11:30:53AM +0100, Joao Martins wrote: > On 26/07/2023 21:41, John Allen wrote: > > Add cpuid bit definition for the SUCCOR feature. This cpuid bit is required > > to > > be exposed to guests to allow them to handle machine check exceptions on AMD > > hosts. > > > > Reported-by: William Roche <william.ro...@oracle.com> > > Signed-off-by: John Allen <john.al...@amd.com> > > I think this is matching the last discussion: > > Reviewed-by: Joao Martins <joao.m.mart...@oracle.com> > > The patch ordering doesn't look correct though. Perhaps we should expose > succor > only after MCE is fixed so this patch would be the second, not the first?
Yes, that makes sense. I will address this and send another version of the series with the correct ordering. > > Also, this should in generally be OK for -cpu host, but might be missing a > third > patch that adds "succor" to the AMD models e.g. Babu, I think we previously discussed adding this to the models later in a separate series. Is this your preferred course of action or can we add it with this series? Thanks, John > > diff --git a/target/i386/cpu.c b/target/i386/cpu.c > index 97ad229d8ba3..d132cb3bbbbe 100644 > --- a/target/i386/cpu.c > +++ b/target/i386/cpu.c > @@ -4731,6 +4731,16 @@ static const X86CPUDefinition builtin_x86_defs[] = { > { /* end of list */ } > }, > }, > + { > + .version = 5, > + .props = (PropValue[]) { > + /* Erratum 1386 */ > + { "model-id", > + "AMD EPYC-Rome-v5 Processor" }, > + { "succor", "on" }, > + { /* end of list */ } > + }, > + }, > { /* end of list */ } > } > }, > @@ -4806,6 +4816,16 @@ static const X86CPUDefinition builtin_x86_defs[] = { > }, > .cache_info = &epyc_milan_v2_cache_info > }, > + { > + .version = 3, > + .props = (PropValue[]) { > + /* Erratum 1386 */ > + { "model-id", > + "AMD EPYC-Milan-v3 Processor" }, > + { "succor", "on" }, > + { /* end of list */ } > + }, > + }, > { /* end of list */ } > } > }, > @@ -4880,6 +4900,20 @@ static const X86CPUDefinition builtin_x86_defs[] = { > .xlevel = 0x80000022, > .model_id = "AMD EPYC-Genoa Processor", > .cache_info = &epyc_genoa_cache_info, > + .versions = (X86CPUVersionDefinition[]) { > + { .version = 1 }, > + { > + .version = 2, > + .props = (PropValue[]) { > + /* Erratum 1386 */ > + { "model-id", > + "AMD EPYC-Genoa-v2 Processor" }, > + { "succor", "on" }, > + { /* end of list */ } > + }, > + }, > + { /* end of list */ } > + } > },