Home | History | Annotate | Download | only in asm

Lines Matching full:__flags

489 #define __read_64bit_c0_split(source, sel)  ({   unsigned long long __val;   unsigned long __flags;     local_irq_save(__flags);   if (sel == 0)   __asm__ __volatile__(   ".set\tmips64\n\t"   "dmfc0\t%M0, " #source "\n\t"   "dsll\t%L0, %M0, 32\n\t"   "dsrl\t%M0, %M0, 32\n\t"   "dsrl\t%L0, %L0, 32\n\t"   ".set\tmips0"   : "=r" (__val));   else   __asm__ __volatile__(   ".set\tmips64\n\t"   "dmfc0\t%M0, " #source ", " #sel "\n\t"   "dsll\t%L0, %M0, 32\n\t"   "dsrl\t%M0, %M0, 32\n\t"   "dsrl\t%L0, %L0, 32\n\t"   ".set\tmips0"   : "=r" (__val));   local_irq_restore(__flags);     __val;  })
490 #define __write_64bit_c0_split(source, sel, val) do { unsigned long __flags; local_irq_save(__flags); if (sel == 0) __asm__ __volatile__( ".set\tmips64\n\t" "dsll\t%L0, %L0, 32\n\t" "dsrl\t%L0, %L0, 32\n\t" "dsll\t%M0, %M0, 32\n\t" "or\t%L0, %L0, %M0\n\t" "dmtc0\t%L0, " #source "\n\t" ".set\tmips0" : : "r" (val)); else __asm__ __volatile__( ".set\tmips64\n\t" "dsll\t%L0, %L0, 32\n\t" "dsrl\t%L0, %L0, 32\n\t" "dsll\t%M0, %M0, 32\n\t" "or\t%L0, %L0, %M0\n\t" "dmtc0\t%L0, " #source ", " #sel "\n\t" ".set\tmips0" : : "r" (val)); local_irq_restore(__flags); } while (0)