hi,everybody. I am
sorry to send a same email without subject for this question.^_^ I don't
know why use the "stmia sp, {r0, lr}" instruction rather than
"stmdb sp, {r0, lr}" in the macros "vector_stub" defined in
file "arch/arm/kernel/entry-armv.S". becaue
the "sp" register is point to the kernel stack top. The
"sp" register is initialized with "init_thread_union +
THREAD_START_SP" Kernel
stack: ======================================================================= Lower
address higher
address |
init_thread_union|
<-------stack content--------| sp |<----------------------------8K
bytes--------------------------->| ======================================================================= According
to the Kernel stack mechanism,I think that it should
be "stmdb sp, {r0, lr}" and the SP should decrement. |