diff options
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r-- | arch/x86/include/asm/lguest.h | 7 | ||||
-rw-r--r-- | arch/x86/include/asm/lguest_hcall.h | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/include/asm/lguest.h b/arch/x86/include/asm/lguest.h index 1caf57628b9c..313389cd50d2 100644 --- a/arch/x86/include/asm/lguest.h +++ b/arch/x86/include/asm/lguest.h | |||
@@ -17,8 +17,13 @@ | |||
17 | /* Pages for switcher itself, then two pages per cpu */ | 17 | /* Pages for switcher itself, then two pages per cpu */ |
18 | #define TOTAL_SWITCHER_PAGES (SHARED_SWITCHER_PAGES + 2 * nr_cpu_ids) | 18 | #define TOTAL_SWITCHER_PAGES (SHARED_SWITCHER_PAGES + 2 * nr_cpu_ids) |
19 | 19 | ||
20 | /* We map at -4M for ease of mapping into the guest (one PTE page). */ | 20 | /* We map at -4M (-2M when PAE is activated) for ease of mapping |
21 | * into the guest (one PTE page). */ | ||
22 | #ifdef CONFIG_X86_PAE | ||
23 | #define SWITCHER_ADDR 0xFFE00000 | ||
24 | #else | ||
21 | #define SWITCHER_ADDR 0xFFC00000 | 25 | #define SWITCHER_ADDR 0xFFC00000 |
26 | #endif | ||
22 | 27 | ||
23 | /* Found in switcher.S */ | 28 | /* Found in switcher.S */ |
24 | extern unsigned long default_idt_entries[]; | 29 | extern unsigned long default_idt_entries[]; |
diff --git a/arch/x86/include/asm/lguest_hcall.h b/arch/x86/include/asm/lguest_hcall.h index b14b3552a4db..d31c4a684078 100644 --- a/arch/x86/include/asm/lguest_hcall.h +++ b/arch/x86/include/asm/lguest_hcall.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #define LHCALL_TS 8 | 12 | #define LHCALL_TS 8 |
13 | #define LHCALL_SET_CLOCKEVENT 9 | 13 | #define LHCALL_SET_CLOCKEVENT 9 |
14 | #define LHCALL_HALT 10 | 14 | #define LHCALL_HALT 10 |
15 | #define LHCALL_SET_PMD 13 | ||
15 | #define LHCALL_SET_PTE 14 | 16 | #define LHCALL_SET_PTE 14 |
16 | #define LHCALL_SET_PGD 15 | 17 | #define LHCALL_SET_PGD 15 |
17 | #define LHCALL_LOAD_TLS 16 | 18 | #define LHCALL_LOAD_TLS 16 |
@@ -33,7 +34,7 @@ | |||
33 | * operations? There are two ways: the direct way is to make a "hypercall", | 34 | * operations? There are two ways: the direct way is to make a "hypercall", |
34 | * to make requests of the Host Itself. | 35 | * to make requests of the Host Itself. |
35 | * | 36 | * |
36 | * We use the KVM hypercall mechanism. Eighteen hypercalls are | 37 | * We use the KVM hypercall mechanism. Seventeen hypercalls are |
37 | * available: the hypercall number is put in the %eax register, and the | 38 | * available: the hypercall number is put in the %eax register, and the |
38 | * arguments (when required) are placed in %ebx, %ecx, %edx and %esi. | 39 | * arguments (when required) are placed in %ebx, %ecx, %edx and %esi. |
39 | * If a return value makes sense, it's returned in %eax. | 40 | * If a return value makes sense, it's returned in %eax. |