為了支持多核,在config.h中定義了一個宏:
#define CONFIG_SMP 1
定義宏之後,提示找不到asm/spinlock_types.h,這個文件用於定義兩個結構體和兩個宏,如下所示:
#ifndef __ASM_SPINLOCK_TYPES_H
#define __ASM_SPINLOCK_TYPES_H
#ifndef __LINUX_SPINLOCK_TYPES_H
# error "please don't include this file directly"
#endif
typedef struct {
volatile unsigned int lock;
} raw_spinlock_t;
#define __RAW_SPIN_LOCK_UNLOCKED { 0 }
typedef struct {
volatile unsigned int lock;
} raw_rwlock_t;
#define __RAW_RW_LOCK_UNLOCKED { 0 }
#endif
在這裡,由於不知道__RAW_SPIN_LOCK_UNLOCKED和__RAW_RW_LOCK_UNLOCKED的確切意義,暫時先將它定義為0,還有,lock似乎應該定義為testset_t的類型,暫時先這樣吧。
當然,由於uclinux不支持SMP,這個文件必須手工創建並放在include/asm目錄下。
uclinux-2008R1-RC8(bf561)到VDSP5的移植(62)
uclinux-2008R1-RC8(bf561)到VDSP5的移植(61):KBUILD_MODNAME
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的移植(32):cdefbf561.h