On Sat, 2018-01-13 at 14:10 +0100, Peter Zijlstra wrote: > On Sat, Jan 13, 2018 at 12:30:11PM +0000, David Woodhouse wrote: > > > > On Sat, 2018-01-13 at 13:08 +0100, Peter Zijlstra wrote: > > > > > > > > >         ALTERNATIVE "orq $(PTI_SWITCH_PGTABLE_MASK), \scratch_reg", > > >                     "orq $(PTI_SWITCH_MASK), \scratch_reg", X86_FEATURE_PCID > > > > > > Is not wanting to compile though; probably that whole alternative vs > > > macro thing again :/ > > Welcome to my world. Try > > > >  ALTERNATIVE __stringify(orq $(PTI_SWITCH_PGTABLE_MASK), \scratch_reg), \ > >              __stringify(orq $(PTI_SWITCH_MASK), \scratch_reg), \ > >              X86_FEATURE_PCID > Doesn't seem to work, gets literal __stringy() crud in the .s file. You do have to #include too...