On 13/03/2019 10:30, Andrew Cooper wrote: > On 13/03/2019 07:39, Jan Beulich wrote: >>>>> On 12.03.19 at 17:53, <roger....@citrix.com> wrote: >>> IIRC we agreed that systems with mixed CPU versions are not supported, >>> hence the same microcode blob should be used to update all the >>> possible CPUs on the system, so a list should not be needed here. >> That's not what I recall. We agreed to not store everything, because >> mixed-family / mixed-model systems are commonly not supported by >> the hw vendors. But mixed stepping systems may well be. > The difference between Skylake and CascadeLake server CPUs is only in > the stepping (4 vs 6). Same for Kaby/Coffee/Whiskey/Amber lake (the > mobile and desktop lines have a model each, and newer generations are > just new steppings). > > I'll have to defer to Intel as to exactly what is supported, but when I > asked this before, the answer was that no heterogeneity was supported at > all, not even at the stepping level or platform ID level.
So, as it turns out, Xen in practice only supports a single files worth of microcode from /lib/firmware This is because: 1) That is the only behaviour drakut has, and 2) drakut has been the default initrd-generator in Linux distros for far longer than Xen has had boot time microcode loading support, and 3) The runtime microcode loading hypercall is currently completely broken Therefore in practice, the drakut way of doing things is the only way which has ever seen any testing, and is therefore the only one which works. So, making a simplifying assumption of "single stepping/plat_id only" in the Intel case is fine if it useful. Beyond that, it would be useful to know what is an isn't supported by Intel, and whether we are likely to find systems in the wild with mixed cpu packages. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel