由於uclinux不支持smp,因此也沒有raw_rwlock_t這樣的定義,為此需要在include/asm/spinlock_types.h中添加此定義:
typedef struct {
volatile testset_t lock;
} raw_rwlock_t;
#define __RAW_RW_LOCK_UNLOCKED { 0 }
然後在include/asm/spinlock_types.h中添加相關的操作:
static inline void __raw_read_lock(raw_rwlock_t *rw)
{
adi_acquire_lock(&rw->lock);
}
static inline void __raw_read_unlock(raw_rwlock_t *rw)
{
adi_release_lock(&rw->lock);
}
static inline void __raw_write_lock(raw_rwlock_t *rw)
{
adi_acquire_lock(&rw->lock);
}
static inline void __raw_write_unlock(raw_rwlock_t *rw)
{
adi_release_lock(&rw->lock);
}
uclinux-2008R1-RC8(bf561)到VDSP5的移植(62)
uclinux-2008R1-RC8(bf561)到VDSP5的移植(60):current_text_addr
uclinux-2008R1-RC8(bf561)到VDSP5的移植(58)
uclinux-2008R1-RC8(bf561)到VDSP5的移植(57)
uclinux-2008R1-RC8(bf561)到VDSP5的移植(56):__grab_cache_page
uclinux-2008R1-RC8(bf561)到VDSP5的移植(45):__delay