Messages in this thread | | | From | Yuhong Bao <> | Subject | RE: x86 embedded - Problem getting past 'move compressed kernel before decompression' | Date | Sun, 21 Feb 2010 01:11:47 -0800 |
| |
> Make that: > > asm volatile( > "movl %2, %%ds\n" \ > "movl %2, %%es\n" \ > "movl %2, %%fs\n" \ > "movl %2, %%gs\n" \ > "movl %2, %%ss\n" \ > "xorl %ebp, %ebp\n" \ > "xorl %ebx, %ebx\n" \ > "ljmpl $0x10,$0x100000" > : : "S" (&boot_params), "D" (0), "r" (0x18)); Or if you don't want a far jmp, something like this for non-PIC:
asm volatile(
"movl %4, %%ds\n" \
"movl %4, %%es\n" \
"movl %4, %%fs\n" \
"movl %4, %%gs\n" \
"movl %4, %%ss\n" \
"xorl %ebp, %ebp\n" \
"jmpl *%3"
: : "S" (&boot_params), "D" (0), "b" (0), "r" (0x100000), "r" (0x18));
This for PIC:
asm volatile(
"movl %3, %%ds\n" \
"movl %3, %%es\n" \
"movl %3, %%fs\n" \
"movl %3, %%gs\n" \
"movl %3, %%ss\n" \
"xorl %ebp, %ebp\n" \ "xorl %ebx, %ebx\n" \
"jmpl *%2"
: : "S" (&boot_params), "D" (0), "r" (0x100000), "r" (0x18));
Yuhong Bao _________________________________________________________________ Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. http://clk.atdmt.com/GBL/go/201469229/direct/01/
| |