在start_armboot()函数中,gd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递。分别定义在./include/asm-arm/global_data.h和./include/asm-arm/u-boot.h
1、gd_t: global data数据结构定义,位于文件include/asm-arm/global_data.h。其成员主要是一些全局的系统初始化参数。当使用gd_t时需用宏定义进行声明:DECLARE_GLOBAL_DATA_PTR,指定占用寄存器R8。
/*
*The following data structure is placed in some memory wich is
*available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
*some locked parts of the data cache) to allow for a minimum set of
*global variables during system initialization (until we have set
*up the memory controller so that we can use RAM).