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    [W:0.024 / U:30.640 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site