.section ".rodata","a" #ifdef CONFIG_X86_64 # Duplicate the global descriptor table # so the kernel can live anywhere .balign 16 .globl tr_gdt tr_gdt: .short tr_gdt_end - tr_gdt - 1 # gdt limit .long pa_tr_gdt .short 0 .quad 0x00cf9b000000ffff # __KERNEL32_CS .quad 0x00af9b000000ffff # __KERNEL_CS .quad 0x00cf93000000ffff # __KERNEL_DS tr_gdt_end: #endif .balign 4 tr_idt: .fill 1, 6, 0 .bss .balign 4 GLOBAL(trampoline_status) .space 4 .balign 8 GLOBAL(trampoline_header) #ifdef CONFIG_X86_32 tr_start: .space 4 tr_gdt_pad: .space 2 tr_gdt: .space 6 #else tr_start: .space 8 GLOBAL(tr_cr4) .space 4 GLOBAL(tr_efer) .space 8 #endif END(trampoline_header) #ifdef CONFIG_X86_64 .balign PAGE_SIZE GLOBAL(trampoline_pgd) .space PAGE_SIZE #endif