DECLARE_GLOBAL_DATA_PTR; 这个宏在include/global_data.h中 #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8") /* 声明一个寄存器变量gd占用r8。这个宏在所有需要引用全局数据指针gd_t *gd的源码中都有声明 * 这个声明也避免编译器把r8分配给其他的变量,所以gd就是r8,这个指针变量不...
在一些 uboot 文件中我看到了这样的声明: DECLARE_GLOBAL_DATA_PTR 就在包含内容的正下方...有谁知道这是做什么/为什么这样做的? 谢谢,vj 小智5 这是一个宏声明,资源(例如,CPU 寄存器)将被保留用于指向 struct global_data。对于ARM,该宏定义在arch/arm/include/asm/global_data.h中,它保留CPU寄存器r8。 ...
今天查了一下,发现是DECLARE_GLOBAL_DATA_PTR这个定义的问题,友善的代码里面加了注释,说gcc4.5.1+版本对这个宏定义的定义已经不支持了! uboot中原始定义如下: #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8") 友善给改成了: #define DECLARE_GLOBAL_DATA_PTR extern gd_t *gd; ...
uboot在初始化完成后会为用户提供一个命令行交互接口,用户可通过该接口执行uboot定义的命令,以用于查看...
DECLARE_GLOBAL_DATA_PTR; u32 cpu_mask(void) { return readl(MC_ME_CS); 2 changes: 0 additions & 2 deletions 2 arch/arm/cpu/pxa/timer.c Original file line numberDiff line numberDiff line change @@ -9,8 +9,6 @@ #include <common.h> #include <asm/io.h> DECLARE_GLOBAL_DATA_PT...
DECLARE_GLOBAL_DATA_PTR; 这个宏在include/global_data.h中 #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8") /* 声明一个寄存器变量gd占用r8。这个宏在所有需要引用全局数据指针gd_t *gd的源码中都有声明 * 这个声明也避免编译器把r8分配给其他的变量,所以gd就是r8,这个指针变量不...