1/* Common bootstrapping code to transition from 16-bit to 32-bit code. */ 2 3/* EFI provides it's own SIPI sequence to handle relocation. */ 4#ifndef CONFIG_EFI 5.code16 6.globl rm_trampoline 7rm_trampoline: 8 9/* Store SIPI vector code at the beginning of trampoline. */ 10sipi_entry: 11 mov %cr0, %eax 12 or $1, %eax 13 mov %eax, %cr0 14 lgdtl ap_rm_gdt_descr - sipi_entry 15 ljmpl $8, $ap_start32 16sipi_end: 17 18.globl ap_rm_gdt_descr 19ap_rm_gdt_descr: 20#ifdef __i386__ 21 .word 0 22 .long 0 23#else 24 .word gdt32_end - gdt32 - 1 25 .long gdt32 26#endif 27 28.globl rm_trampoline_end 29rm_trampoline_end: 30#endif 31