Commit 10f650db authored by Ralf Baechle's avatar Ralf Baechle

64-bit fixes for Alchemy code ;)

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent ffd099bd
...@@ -53,14 +53,13 @@ static void r4k_wait(void) ...@@ -53,14 +53,13 @@ static void r4k_wait(void)
/* The Au1xxx wait is available only if using 32khz counter or /* The Au1xxx wait is available only if using 32khz counter or
* external timer source, but specifically not CP0 Counter. */ * external timer source, but specifically not CP0 Counter. */
int allow_au1k_wait; int allow_au1k_wait;
static void au1k_wait(void) static void au1k_wait(void)
{ {
unsigned long addr = 0;
/* using the wait instruction makes CP0 counter unusable */ /* using the wait instruction makes CP0 counter unusable */
__asm__("la %0,au1k_wait\n\t" __asm__(".set mips3\n\t"
".set mips3\n\t" "cache 0x14, 0(%0)\n\t"
"cache 0x14,0(%0)\n\t" "cache 0x14, 32(%0)\n\t"
"cache 0x14,32(%0)\n\t"
"sync\n\t" "sync\n\t"
"nop\n\t" "nop\n\t"
"wait\n\t" "wait\n\t"
...@@ -69,7 +68,7 @@ static void au1k_wait(void) ...@@ -69,7 +68,7 @@ static void au1k_wait(void)
"nop\n\t" "nop\n\t"
"nop\n\t" "nop\n\t"
".set mips0\n\t" ".set mips0\n\t"
: : "r" (addr)); : : "r" (au1k_wait));
} }
static inline void check_wait(void) static inline void check_wait(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment