ответ

2

copy_to_user для s390 реализован здесь: linux/arch/s390/include/asm/uaceess.h.

uaccess является указателем на копирование_ [в/из] фактической реализации _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/mvcs: 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