1
在s390架構上,虛擬內核和用戶地址空間不會同時出現,那麼copy_to_user
如何工作?copy_to_user如何在s390上工作?
在s390架構上,虛擬內核和用戶地址空間不會同時出現,那麼copy_to_user
如何工作?copy_to_user如何在s390上工作?
copy_to_user
s390在這裏實現:linux/arch/s390/include/asm/uaceess.h。
uaccess
是指向copy_ [to/from] _user實際實現的指針。它在這裏設置(grep uaccess):arch/s390/kernel/setup.c。有4個實現uaccess
,從模式depening:
uaccess_mvcos_switch
,uaccess_pt
,uaccess_mvcos
和uaccess_std
例如uaccess_std是在這裏:http://lxr.linux.no/#linux+v3.2.1/arch/s390/lib/uaccess_std.c
4 * Standard user space access functions based on mvcp/mvcs and doing
5 * interesting things in the secondary space mode.
...
82 size_t copy_to_user_std(size_t size, void __user *ptr, const void *x)
83 {
84 unsigned long tmp1, tmp2;
85
86 tmp1 = -256UL;
87 asm volatile(
88 "0: mvcs 0(%0,%1),0(%2),%3\n"
該mvcp
/使用機制: http://publib.boulder.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieaa500/iea2a57031.htm
也在這裏:www.tachyonsoft.com/s8139db.pdf – osgx
謝謝!因此,用戶和內核地址空間實際上同時存在(以主頁空間和主要空間形式存在) – artistoex
是的。你不能從非特權模式訪問內核空間。 – osgx