回答

2

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_switchuaccess_ptuaccess_mvcosuaccess_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

+0

也在這裏:www.tachyonsoft.com/s8139db.pdf – osgx

+0

謝謝!因此,用戶和內核地址空間實際上同時存在(以主頁空間和主要空間形式存在) – artistoex

+0

是的。你不能從非特權模式訪問內核空間。 – osgx