[Misc]利用cmdline,将参数从preloader传递到kernel
[DESCRIPTION]
客户有些需求是,在preloader阶段获取得到一些参数,如EMMC ver, DDR type等,需要将这些参数传递到kernel driver层使用,可以做些driver的兼容情况。
如果这些参数比较少,如一个int变量,几个字符串等,则可以通过cmdline的方式来传递。
注意:系统默认cmdline的长度是200 byte,default已经有参数传递,所以客制化参数长度不大,可以适用此方法。
[SOLUTION]
以定义参数 cus_param 为例,int型变量。
1. Preloader部分
Platform.h(mediatek\platform\[$platform]\preloader\src\drivers\inc\platfor
m.h)
在如下结构体中加cus_param变量,如果是char型,请注意4byte对其:
typedef struct {
u32 magic;
boot_mode_t mode;
u32 e_flag;
u32 log_port;
u32 log_baudrate;
u8 log_enable;
u8 part_num;
u8 reserved[2];
u32 dram_rank_num;
u32 d
客户有些需求是,在preloader阶段获取得到一些参数,如EMMC ver, DDR type等,需要将这些参数传递到kernel driver层使用,可以做些driver的兼容情况。
如果这些参数比较少,如一个int变量,几个字符串等,则可以通过cmdline的方式来传递。
注意:系统默认cmdline的长度是200 byte,default已经有参数传递,所以客制化参数长度不大,可以适用此方法。
[SOLUTION]
以定义参数 cus_param 为例,int型变量。
1. Preloader部分
Platform.h(mediatek\platform\[$platform]\preloader\src\drivers\inc\platfor
m.h)
在如下结构体中加cus_param变量,如果是char型,请注意4byte对其:
typedef struct {
u32 magic;
boot_mode_t mode;
u32 e_flag;
u32 log_port;
u32 log_baudrate;
u8 log_enable;
u8 part_num;
u8 reserved[2];
u32 dram_rank_num;
u32 d