Linux kernel 在s390上,如何将_复制到_用户?

Linux kernel 在s390上,如何将_复制到_用户?,linux-kernel,virtual-address-space,address-space,zseries,Linux Kernel,Virtual Address Space,Address Space,Zseries,在s390体系结构上,虚拟内核和用户地址空间永远不会同时存在,因此复制到用户如何工作?针对s390的复制到用户在这里实现: uaccess是指向复制用户实际实现的指针。它设置在这里(grep uaccess):。uaccess共有4种实现方式,具体取决于模式: uaccess\u mvcos\u开关,uaccess\u pt,uaccess\u mvcos和uaccess\u std 例如,uaccess_标准如下: 使用mvcp/mvcs机制: 还有:www.tachyonsoft.com/

在s390体系结构上,虚拟内核和用户地址空间永远不会同时存在,因此
复制到用户
如何工作?

针对s390的
复制到用户
在这里实现:

uaccess
是指向复制用户实际实现的指针。它设置在这里(grep uaccess):。
uaccess
共有4种实现方式,具体取决于模式:

uaccess\u mvcos\u开关
uaccess\u pt
uaccess\u mvcos
uaccess\u std

例如,uaccess_标准如下:

使用
mvcp
/
mvcs
机制:

还有:www.tachyonsoft.com/s8139db.pdfThank!因此,用户和内核地址空间实际上是同时存在的(分别以主空间和主空间的形式)。您不能从非特权模式访问内核空间。
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"