Commit 2b6cf10a authored by Anton Blanchard's avatar Anton Blanchard

ppc64: add large page bit, use lwsync instead of eieio for spinlock

release.
parent 3c0d49b2
......@@ -108,7 +108,7 @@ typedef struct {
unsigned long : 2; /* Software use */
unsigned long bolted: 1; /* HPTE is "bolted" */
unsigned long : 1; /* Software use */
unsigned long : 1; /* Reserved */
unsigned long l: 1; /* Virtual page is large (L=1) or 4 KB (L=0) */
unsigned long h: 1; /* Hash function identifier */
unsigned long v: 1; /* Valid (v=1) or invalid (v=0) */
} Hpte_dword0;
......
......@@ -67,7 +67,7 @@ static __inline__ void _raw_spin_lock(spinlock_t *lock)
static __inline__ void _raw_spin_unlock(spinlock_t *lock)
{
__asm__ __volatile__("eieio # spin_unlock": : :"memory");
__asm__ __volatile__("lwsync # spin_unlock": : :"memory");
lock->lock = 0;
}
......@@ -137,7 +137,7 @@ static __inline__ void _raw_read_unlock(rwlock_t *rw)
unsigned int tmp;
__asm__ __volatile__(
"eieio # read_unlock\n\
"lwsync # read_unlock\n\
1: lwarx %0,0,%1\n\
addic %0,%0,-1\n\
stwcx. %0,0,%1\n\
......@@ -192,7 +192,7 @@ static __inline__ void _raw_write_lock(rwlock_t *rw)
static __inline__ void _raw_write_unlock(rwlock_t *rw)
{
__asm__ __volatile__("eieio # write_unlock": : :"memory");
__asm__ __volatile__("lwsync # write_unlock": : :"memory");
rw->lock = 0;
}
......
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