On 03.09.19 12:53, Janosch Frank wrote: > On 8/30/19 2:07 PM, David Hildenbrand wrote: >> On 26.08.19 18:35, Janosch Frank wrote: >>> For now let's concentrate on the error conditions. >>> >>> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> >>> --- > [...] >>> +static inline unsigned long stsi_get_fc(void *addr) >>> +{ >>> + register unsigned long r0 asm("0") = 0; >>> + register unsigned long r1 asm("1") = 0; >>> + int cc; >>> + >>> + asm volatile("stsi 0(%3)\n" >>> + "ipm %[cc]\n" >>> + "srl %[cc],28\n" >>> + : "+d" (r0), [cc] "=d" (cc) >>> + : "d" (r1), "a" (addr) >> >> maybe [addr], so you can avoid the %3 above > > Sure, maybe Thomas can also fix that on picking for the previous patch? > >> >>> + : "cc", "memory"); >>> + assert(!cc); >>> + return r0 >> 28; >> >> I think I'd prefer "get_configuration_level()" and move it to an header >> - because the fc actually allows more values (0, 15 ...) - however the >> level can be used as an fc. > > The rename works for me, but that's currently used only once, so why > should it go to a header file? No strong opinion about that, I would have moved it out of the test to make the test itself more compact . > > I though about starting lib/s390x/asm/misc-instr.h if we have enough (>= > 2) instruction definitions which are shared. -- Thanks, David / dhildenb