Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15531662
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类: LINUX

2009-11-19 11:07:12

static inline mm_segment_t snd_enter_user(void)
{
在linux内核中操作文件的方法--使用get_fs()和set_fs(KERNEL_DS)
// get_fs()和set_fs()位于include/asm-generic/uaccess.h
    mm_segment_t fs = get_fs(); // 获取current_thread_info()->addr_limit,正常的user用户空间所能访问的最大虚拟地址为0xc0000000[luther.gliethttp]
// get_ds()获取内核最大访问虚拟地址为MAKE_MM_SEG(~0UL),对于32bits处理器为0xffffffff.
    set_fs(get_ds()); // 设置user用户空间所能访问的最大虚拟地址为current_thread_info()->addr_limit为0xffffffff.
    return fs;
}
阅读(3399) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

2011-05-22 15:33:02

学习了,多谢楼主分享哦!也欢迎广大linux爱好者来我的论坛一起讨论arm哦!www.lt-net.cn