![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mips architecture
文章平均质量分 85
傲世阿龍
这个作者很懒,什么都没留下…
展开
-
mips架构linux启动分析(三)(setup_arch--->cpu_probe)
接下来就要介绍板级初始化了。这篇主要是说一下板级初始化函数setup_arch中的cpu_probe函数。这里看一下setup_arch函数的样子:void __init setup_arch(char **cmdline_p){ cpu_probe(); prom_init();#ifdef CONFIG_EARLY_PRINTK setup_early_printk原创 2017-11-14 20:20:03 · 1213 阅读 · 0 评论 -
linux中platform总线解析(二)(platform设备的注册)
这里分析的是linux3.10内核,mips架构。然后说一下platform设备注册的时机:那是系统启动到什么时候调用的呢?就是在device_initcall阶段,也就是对应的对应6阶段。看一下函数调用:ls2h_device-initcall--->platform_add_devices(ls2h_platform_devices,ARRAY_SIZE(ls2h_pl原创 2017-11-17 16:39:04 · 557 阅读 · 0 评论 -
mips架构linux启动分析(四)(接收bios信息和环境初始化)
老样子先看函数把.void __init prom_init(void){//初始化命令 prom_init_cmdline();//初始化环境 prom_init_env();//这里所作的是把桥片进行了一些配置 if (loongson_pch) loongson_pch->early_config();#ifdef CONFIG_NUMA prom_init_n原创 2017-11-17 18:11:53 · 1278 阅读 · 0 评论 -
mips架构中的原子操作指令(llsc)
在多线程程序中,为了实现对共享变量的互斥访问,一般都会用spinlock实现,而spinlock需要一个TestAndSet的原子操作。而这种原子操作是需要专门的硬件支持才能完成的,在MIPS中,是通过特殊的Load,Store操作LL(Load Linked,链接加载)以及SC(Store Conditional,条件存储)完成的。LL 指令的功能是从内存中读取一个字,以实现接下来的转载 2017-11-14 10:05:50 · 2843 阅读 · 0 评论 -
mips汇编程序中的.set指令使用
.set push --> save all settings .set reorder/noreorder --> let/don't let assembler reorder instructions .set at/noat --> let/don't let assembler use the register $at in instruction aliases (li,la,转载 2017-11-14 15:49:21 · 7907 阅读 · 0 评论