2 * Jailhouse, a Linux-based partitioning hypervisor
4 * Copyright (c) Siemens AG, 2014
7 * Jan Kiszka <jan.kiszka@siemens.com>
9 * This work is licensed under the terms of the GNU GPL, version 2. See
10 * the COPYING file in the top-level directory.
15 #define X86_CR0_PE 0x00000001
16 #define X86_CR0_WP 0x00010000
17 #define X86_CR0_PG 0x80000000
19 #define X86_CR4_PSE 0x00000010
21 #define MSR_MTRR_DEF_TYPE 0x000002ff
22 #define MTRR_ENABLE 0x00000800
25 .section ".boot", "ax"
32 .section ".startup", "ax"
41 ljmpl $INMATE_CS32,$start32 + FSEGMENT_BASE
50 mov $loader_pdpt + FSEGMENT_BASE,%eax
53 mov $(X86_CR0_PG | X86_CR0_WP | X86_CR0_PE),%eax
56 movl $MSR_MTRR_DEF_TYPE,%ecx
85 .quad 0x00cf9b000000ffff
86 .quad 0x00af9b000000ffff
87 .quad 0x00cf93000000ffff
90 .short gdt_ptr - loader_gdt - 1
91 .long loader_gdt + FSEGMENT_BASE