MIPS: IP22: Reformat inline assembler code to modern standards.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Родитель
e4c64e6f3d
Коммит
f9f1c8db1c
|
@ -31,26 +31,29 @@ static inline void indy_sc_wipe(unsigned long first, unsigned long last)
|
|||
unsigned long tmp;
|
||||
|
||||
__asm__ __volatile__(
|
||||
".set\tpush\t\t\t# indy_sc_wipe\n\t"
|
||||
".set\tnoreorder\n\t"
|
||||
".set\tmips3\n\t"
|
||||
".set\tnoat\n\t"
|
||||
"mfc0\t%2, $12\n\t"
|
||||
"li\t$1, 0x80\t\t\t# Go 64 bit\n\t"
|
||||
"mtc0\t$1, $12\n\t"
|
||||
|
||||
"dli\t$1, 0x9000000080000000\n\t"
|
||||
"or\t%0, $1\t\t\t# first line to flush\n\t"
|
||||
"or\t%1, $1\t\t\t# last line to flush\n\t"
|
||||
".set\tat\n\t"
|
||||
|
||||
"1:\tsw\t$0, 0(%0)\n\t"
|
||||
"bne\t%0, %1, 1b\n\t"
|
||||
" daddu\t%0, 32\n\t"
|
||||
|
||||
"mtc0\t%2, $12\t\t\t# Back to 32 bit\n\t"
|
||||
"nop; nop; nop; nop;\n\t"
|
||||
".set\tpop"
|
||||
" .set push # indy_sc_wipe \n"
|
||||
" .set noreorder \n"
|
||||
" .set mips3 \n"
|
||||
" .set noat \n"
|
||||
" mfc0 %2, $12 \n"
|
||||
" li $1, 0x80 # Go 64 bit \n"
|
||||
" mtc0 $1, $12 \n"
|
||||
" \n"
|
||||
" dli $1, 0x9000000080000000 \n"
|
||||
" or %0, $1 # first line to flush \n"
|
||||
" or %1, $1 # last line to flush \n"
|
||||
" .set at \n"
|
||||
" \n"
|
||||
"1: sw $0, 0(%0) \n"
|
||||
" bne %0, %1, 1b \n"
|
||||
" daddu %0, 32 \n"
|
||||
" \n"
|
||||
" mtc0 %2, $12 # Back to 32 bit \n"
|
||||
" nop # pipeline hazard \n"
|
||||
" nop \n"
|
||||
" nop \n"
|
||||
" nop \n"
|
||||
" .set pop \n"
|
||||
: "=r" (first), "=r" (last), "=&r" (tmp)
|
||||
: "0" (first), "1" (last));
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче