Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1304977
  • 博文数量: 92
  • 博客积分: 10389
  • 博客等级: 上将
  • 技术积分: 1918
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-10 16:13
文章存档

2014年(1)

2012年(15)

2009年(6)

2008年(37)

2007年(72)

2006年(54)

我的朋友

分类: LINUX

2007-04-13 00:22:28

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")
阅读(3811) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~