> On Jan 9, 2018, at 5:47 PM, Thomas Gleixner <t...@linutronix.de> wrote: > > On Wed, 10 Jan 2018, Van De Ven, Arjan wrote: >>> In other words, if you use late microcode loading for getting IBRS, you >>> don't get ALTERNATIVE patching and its benefits? >>> >>> I'll also profess some microcode ignorance here. Is "late microcode >>> patching" *all* of the stuff we do from the OS, or do we have early and >>> late Linux loading in addition to what the BIOS can do? >> >> the early boot loader level stuff is much better generally (but does not >> work when the microcode comes out after the system booted... like really >> long uptimes) > > That stuff indeed would be way simpler w/o the late support, but the fact > that the microcode for this might reach the user way later than the kernel > support makes it almost a must to support the late loading.
How hard would it be to add a late alternative feature? Concretely, we'd have a list of "late" cpufeatures. When we scan the alternative list, if we find a late feature, we copy it to some other list that isn't discarded, and we also copy its replacement (and relocate it eagerly, since we'll lose the offset).