>>> 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. Jan _______________________________________________ Xen-devel mailing list Xenemail@example.com https://lists.xenproject.org/mailman/listinfo/xen-devel