1.沒有asm/system.h的頭文件
2.asm/uaccess.h 要改爲linux/uaccess.h
3.沒有.ioctl,改爲.unlocked_ioctl或compat_ioctl,建議前者
4.在支持2個globamem的版本中,除了按照書上的要更改globamem_open,_init,_exit,還要修改globalmem_setup_cdev函數中的cdev_add的最後一個參數改爲2,否則測試是失敗的,這點是書上沒說明的,具體步驟是mknod /dev/globalmem0 c 254 0,mknod /dev/globalmem1 c 254 1,echo就不用說明了吧,能分別cat出不同的直就是正確的。
5.主設備號254一般來說在系統中都被佔用了,建議換一個,怎麼看內核中已被使用的主設備號:cat /proc/devices.