2013年5月14日 星期二

於u-boot內查看Linux kernl的printk buffer.

於Linux build directory內,打開System.map,搜尋__log_buf,

c035ff98 b __log_buf

->009e06b8即是printk buffer所在的kernel virtual address,可以使用下列方式取得實體位址
printk(KERN_ERR "__log_buf 0xc035ff98 ---> %p \n",__pa(0xc035ff98));

一般想偷懶的話可以直接將0xc0換成chipset 的DRAM memory base address,像AST2300是0x40000000

可以使用md 4035ff98讀出printk buffer的內容。