typedef struct memory_area_struct {u32 start; /* the base address of the memory region */u32 size; /* the byte number of the memory region */int used;} memory_area_t;
Linux 內(nèi)核在啟動時可以以命令行參數(shù)的形式來接收信息,利用這一點我們可以向內(nèi)核提供那些內(nèi)核不能自己檢測的硬件參數(shù)信息,或者重載(override)內(nèi)核自己檢測到的信息。比如,我們用這樣一個命令行參數(shù)字符串“console=ttyS0,115200n8”來通知內(nèi)核以 ttyS0 作為控制臺,且串口采用 “115200bps、無奇偶校驗、8位數(shù)據(jù)位”這樣的設(shè)置。下面是一段設(shè)置調(diào)用內(nèi)核命令行參數(shù)字符串的示例代碼:
char *p;/* eat leading white space */for(p = commandline; *p == ‘ ’; p++);/* skip non-existent command lines so the kernel will still * use its default command line. */if(*p == ‘’)return;params-》hdr.tag = ATAG_CMDLINE;params-》hdr.size = (sizeof(struct tag_header) + strlen(p) + 1 + 4) 》》 2;strcpy(params-》u.cmdline.cmdline, p);params = tag_next(params);