[coreboot] (GSoC__SCSI boot)GSOC Midterm survey and new problem(Vendor ID mismatch)
Kevin O'Connor
kevin at koconnor.net
Tue Jul 15 19:34:33 CEST 2008
On Mon, Jul 14, 2008 at 11:21:47PM +0800, Zhang Rui wrote:
> 2008/7/14, Kevin O'Connor <kevin at koconnor.net>:
> > movl %esp, %esi
> > movl $BUILD_STACK_ADDR, %esp
> > ljmp 0x10, $1f
> >
> > 1:
> > calll post_coreboot
> >
> > movl %esi, %esp
> > retl
>
> I used this:
> "movl %esp, %esi\n"
> "movl $" __stringify(BUILD_STACK_ADDR) ", %esp\n"
> "ljmp $0x10, $post_coreboot\n"
>
> and added this at the end of post_coreboot() function:
> asm(
> "movl %esi, %esp\n"
> "retl"
> );
That's dangerous because the compiler might use %esi in the
post_coreboot() function. If you really want to do this, you should
move %esp to %eax and declare the stack pointer as an argument to
post_coreboot() and then pass the argument to the inline asm.
-Kevin
More information about the coreboot
mailing list