lkml.org 
[lkml]   [2010]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: x86 embedded - Problem getting past 'move compressed kernel before decompression'
Date

> 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/
\
 
 \ /
  Last update: 2010-02-21 10:15    [from the cache]
©2003-2011 Jasper Spaans