• Borislav Petkov (AMD)'s avatar
    x86/alternatives: Add alt_instr.flags · 5d1dd961
    Borislav Petkov (AMD) authored
    Add a struct alt_instr.flags field which will contain different flags
    controlling alternatives patching behavior.
    
    The initial idea was to be able to specify it as a separate macro
    parameter but that would mean touching all possible invocations of the
    alternatives macros and thus a lot of churn.
    
    What is more, as PeterZ suggested, being able to say ALT_NOT(feature) is
    very readable and explains exactly what is meant.
    
    So make the feature field a u32 where the patching flags are the upper
    u16 part of the dword quantity while the lower u16 word is the feature.
    
    The highest feature number currently is 0x26a (i.e., word 19) so there
    is plenty of space. If that becomes insufficient, the field can be
    extended to u64 which will then make struct alt_instr of the nice size
    of 16 bytes (14 bytes currently).
    
    There should be no functional changes resulting from this.
    Suggested-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
    Reviewed-by: default avatarIngo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/Y6RCoJEtxxZWwotd@zn.tnic
    5d1dd961
alternative.c 51.1 KB