>>> On 13.02.18 at 15:41, <andrew.coop...@citrix.com> wrote:
> On 13/02/18 14:22, Jan Beulich wrote:
>>>>> On 12.02.18 at 12:23, <andrew.coop...@citrix.com> wrote:
>>> @@ -118,26 +113,6 @@ extern void alternative_instructions(void);
>>> newinstr2, feature2) \
>>> : output : input)
>>> - * This is similar to alternative_io. But it has three features and
>>> - * respective instructions.
>>> - *
>>> - * If CPU has feature3, newinstr3 is used.
>>> - * Otherwise, if CPU has feature2, newinstr2 is used.
>>> - * Otherwise, if CPU has feature1, newinstr1 is used.
>>> - * Otherwise, oldinstr is used.
>>> - */
>>> -#define alternative_io_3(oldinstr, newinstr1, feature1, newinstr2, \
>>> - feature2, newinstr3, feature3, output, \
>>> - input...) \
>>> - asm volatile(ALTERNATIVE_3(oldinstr, newinstr1, feature1, \
>>> - newinstr2, feature2, newinstr3, \
>>> - feature3) \
>>> - : output : input)
>>> -/* Use this macro(s) if you need more than one output parameter. */
>>> -#define ASM_OUTPUT2(a...) a
>> ... I'm having patches to post which use both of these, so I'd
>> very much prefer them to not go away. It is simply a lack of time
>> which resulted in me not having posted that series already.
> In which case I'll need to review that patch before commenting on this
> one (i.e. whether it actually needs to be an alternative_3, or whether
> there is a shorter way to do it).
I've checked again - if the NOP replacement of the unused space in
the original instruction was taken care of (which I understand later
patches in this series arrange for), I would need only the 2-variants
form. I'll need ASM_OUTPUT2() in any case, though.
Xen-devel mailing list