declare global data ptr

来源:互联网 发布:gta5pc优化 编辑:程序博客网 时间:2024/05/22 03:13
DECLARE_GLOBAL_DATA_PTR 只是一个定义的宏,这个宏定义了一个gd_t全局数据结构的指针,这个指针存放在指定的寄存器中(386体系结构没有放到指定寄存器中)。

例如mips体系结构中,DECLARE_GLOBAL_DATA_PTR定义如下:
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("k0")

例如ppc体系结构中,DECLARE_GLOBAL_DATA_PTR定义如下:
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r29")

例如ARM体系结构中,DECLARE_GLOBAL_DATA_PTR定义如下:
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r9")

例如386体系结构中,DECLARE_GLOBAL_DATA_PTR定义如下:
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd = global_data

例如M68K体系结构中,DECLARE_GLOBAL_DATA_PTR定义如下:
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("d7")

例如nios结构中,DECLARE_GLOBAL_DATA_PTR定义如下:
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("%g7")