[BUG] flash failure with CONFIG_RTAS_FLASH=m
Nathan Lynch
ntl at pobox.com
Fri Jan 5 10:49:51 EST 2007
Hi-
Was trying to flash firmware on a JS20 with the rtas flash code built
modular and I got the "kernel bug" printk in rtas_flash_firmware:
/* NOTE: the "first" block list is a global var with no data
* blocks in the kernel data segment. We do this because
* we want to ensure this block_list addr is under 4GB.
*/
rtas_firmware_flash_list.num_blocks = 0;
flist = (struct flash_block_list *)&rtas_firmware_flash_list;
rtas_block_list = virt_to_abs(flist);
if (rtas_block_list >= 4UL*1024*1024*1024) {
printk(KERN_ALERT "FLASH: kernel bug...flash list
header addr above 4GB\n");
return;
}
The problem doesn't happen if CONFIG_RTAS_FLASH=y.
What's the best way to fix this? Should rtas_firmware_flash_list be
defined in some non-modular code and exported?
More information about the Linuxppc-dev
mailing list