2008/7/13, Kevin O'Connor kevin@koconnor.net:
In LegacyBIOS(SeaBIOS), I inserted some code in post.c
[...]
"movl $" __stringify(BUILD_STACK_ADDR) ", %esp\n"
[...]
I think the return address in the stack is wrong. I am trying to figure it out.
You moved the stack (by assigning a new value to %esp). So, the return address is not on the stack - it's on the previous stack.
But I tried without "movl $" __stringify(BUILD_STACK_ADDR) ", %esp\n", post_coreboot in LegacyBIOS(SeaBIOS) can not run correctly. I think I should manually set the return address?