alexey.korolev at intel.com
Thu Oct 20 12:05:52 EDT 2005
Selecting of only one CFI buswidth and chip interleave helped to resolve
the halting issue.
cfi_cmdset001.o doesn't contain any reference to __udivsi3 __divsi3 and
__ashrdi3 in data segment.
I made several tests no halts or kernel panics got appeared.
1. I also tried to relocate some /arch/arm/lib code into RAM. It was
very bad move because it caused kernel Data abort at the very beginning
of kernel bootup process. Looks some code uses __divsi3 operations
before memory got initialized.
2. I have a question about XIP and icache
a. Execute kernel instructions from FLASH. Start filling of
icache pages by instructions from FLASH.
b. Do_write_buffer call. Switching to READ_STATUS.
c. Finish filling of icache pages by instructions from FLASH.
(Part of icache is corrupted).
d. Return from Do_write_buffer
e. Execute instruction from FLASH which is presorted in icache.
-> Data abort or kernel panic.
Is it possible to face the following scenario?
More information about the linux-mtd