[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re [PATCH] x86/CET: Fix build following c/s 43b98e7190



On 02.06.2020 19:15, Andrew Cooper wrote:
> On 02/06/2020 15:21, Jan Beulich wrote:
>>> OSSTest reports:
>>>
>>>   x86_64.S: Assembler messages:
>>>   x86_64.S:57: Error: no such instruction: `setssbsy'
>>>   /home/osstest/build.150510.build-amd64/xen/xen/Rules.mk:183: recipe for 
>>> target 'head.o' failed
>>>   make[4]: Leaving directory 
>>> '/home/osstest/build.150510.build-amd64/xen/xen/arch/x86/boot'
>>>   make[4]: *** [head.o] Error 1
>>>
>>> All use of CET instructions, even those inside alternative blocks, needs to 
>>> be
>>> behind CONFIG_XEN_SHSTK, as it indicates suitable toolchain support.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> That's quite a bit of #ifdef-ary here. Simple (operand-less) insns
>> like SETSSBSY could easily be made available via .byte directives.
>> Would you be amenable to to ack-ing a patch to replace some of the
>> #ifdef-s (at least the ones at the lstar, cstar, and sysenter
>> entry points), after 4.14?
> 
> Yeah - that was a bit of a mess in the end.  (But given the
> circumstances, and that I've got past form typo'ing the SETSSBSY opcode,
> it probably was the right move even in hindsight).
> 
> Reducing it to .byte should be fine so long as some form of /* setssbsy
> */ comment appears.

Sure.

> One other option would be to introduce a SETSSBSY macro, but that hides
> the alternative so is something I'd prefer to avoid.

With this you mean you'd rather not see us go the CLAC/STAC route?
I was instead thinking of a pure assembly macro named "setssbsy".
In fact we could switch the CLAC/STAC ugliness to some such, if we
end up being happy with the model.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.