Peter Eisentraut wrote:
> Bruce Momjian writes:
>
> > I can't certify the following platform because it doesn't recognize our
> > spinlock code. Would you run src/tools/ccsym and report back the
> > symbols you have. Do you not have __powerpc__ defined?
>
> The way I read his report (a little tricky to find the divisions) is that
> ppc has passed and parisc64 doesn't have spinlock code, which sounds a
> lot more credible.
Oh, I see now --- sorry.
Wow, I looked in hpux.h and saw:#if defined(__hppa)#define HAS_TEST_AND_SETtypedef struct{ int sema[4];}
slock_t;#ifndef BYTE_ORDER#define BYTE_ORDER BIG_ENDIAN#endif
and I see in s_lock.h:#if defined(__hppa)/* * HP's PA-RISC * * Note that slock_t on PA-RISC is a structure instead of
char* (see include/port/hpux.h). * * a "set" slock_t has a single word cleared. a "clear" slock_t has * all words set
tonon-zero. tas() is in tas.s */#define S_UNLOCK(lock) \ do { \ volatile slock_t *lock_ = (volatile slock_t
*)(lock); \ lock_->sema[0] = -1; \ lock_->sema[1] = -1; \ lock_->sema[2] = -1; \
lock_->sema[3]= -1; \ } while (0)#define S_LOCK_FREE(lock) ( *(int *) (((long) (lock) + 15) & ~15) != 0)#endif
/*__hppa */
Can Linux handle this? Can you copy the stuff from hpux.h and see if
that works for Linux?
We can't mark this port as working unless we have spinlocks.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073