社区
汇编语言
帖子详情
__raw_readl与__raw_readq
qixing1115
2015-05-12 08:45:58
读32位的数代码如下:
static inline u32 __raw_readl(const volatile void *addr)
{
u32 val;
asm volatile("ldr %1, %0"
: "+Qo" (*(volatile u32 *)addr),
"=r" (val));
return val;
}
请问64位的怎么读,CPU是支持64位的,只是目前没有代码,请问按这个格式 的内嵌汇编怎么写
...全文
506
5
打赏
收藏
__raw_readl与__raw_readq
读32位的数代码如下: static inline u32 __raw_readl(const volatile void *addr) { u32 val; asm volatile("ldr %1, %0" : "+Qo" (*(volatile u32 *)addr), "=r" (val)); return val; } 请问64位的怎么读,CPU是支持64位的,只是目前没有代码,请问按这个格式 的内嵌汇编怎么写
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
大熊猫侯佩
2015-06-26
打赏
举报
回复
没搞过,不过改成u64类型可以编译执行成功吗? 实在不行可以读2次32位地址,当然这个是下下策。
qixing1115
2015-05-21
打赏
举报
回复
大神回复下吧
qixing1115
2015-05-12
打赏
举报
回复
http://mengren425.blog.163.com/blog/static/569039312015227114039975/ 这里有参数函数,但是也是没有64位的,大家帮帮忙
qixing1115
2015-05-12
打赏
举报
回复
static inline u16 __raw_readw(const volatile void *addr) { u16 val; asm volatile("ldrh %1, %0" : "+Q" (*(volatile u16 *)addr), "=r" (val)); return val; } 另外读16位的也给大家参照下,32位和16位读是没有问题的
Linux Arch 符号 6 IO
IO_SPACE_LIMIT ...__
raw
_
read
l __
raw
_
read
w __
raw
_writeb __
raw
_writel __
raw
_writew
read
b
read
b_relaxed
read
l
read
l_relaxed __
read
_mostly
read
w
read
w_relaxed writeb writeb_relaxed writel writel_re.
linux内核头文件
对应__
raw
__write()和__
raw
__
read
()等的使用 1.2、<asm/uaccess.h> ----> /* copy_to_user, copy_from_user */ 1.3、<asm/system.h>:系统头文件,定义了设置或修改描述符/中断门等的嵌入式汇编宏...
常见内核函数
linux内核中likely与unlikely likely和unlikely 参考/include/linux/compiler.h */ # define likely(x) __builtin_expect(!!(x), 1) # define unlikely(x) __builtin_expect(!!(x), 0) 两次 !! 翻转非逻辑值(比如1...
asm/io.h linux,asm/io.h
1、
read
b:从指定的IO端口内存中读取的数据,数据以u8类型返回
read
w(addr):从指定的IO端口内存中读取的数据,数据以u16类型返回,并转化成该cpu的存储格式
read
l(addr):从指定的IO端口内存中读取的数据,数据以u32...
Linux Regmap分析
_regmap_
raw
_
read
(map, reg, map->work_buf, map->format.val_bytes); map-> format.format_reg (map->work_buf, reg, map->reg_shift); map->bus->
read
(map->bus_context,map->work_buf,map->...
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章