diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-06-25 00:19:32 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 07:15:58 -0400 |
commit | 9f9d489a3e78b49d897734eaaf9dea568dbea66e (patch) | |
tree | 5c3b851701817af0937225bd38602e54ca960868 /arch/x86/kernel | |
parent | fab58420ac0007a452b540cfb07923225ea4f48d (diff) |
x86/paravirt, 64-bit: make load_gs_index() a paravirt operation
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: xen-devel <xen-devel@lists.xensource.com>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 4 | ||||
-rw-r--r-- | arch/x86/kernel/paravirt.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 70fe13a1c41d..07d69f262337 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -944,7 +944,7 @@ KPROBE_END(error_entry) | |||
944 | 944 | ||
945 | /* Reload gs selector with exception handling */ | 945 | /* Reload gs selector with exception handling */ |
946 | /* edi: new selector */ | 946 | /* edi: new selector */ |
947 | ENTRY(load_gs_index) | 947 | ENTRY(native_load_gs_index) |
948 | CFI_STARTPROC | 948 | CFI_STARTPROC |
949 | pushf | 949 | pushf |
950 | CFI_ADJUST_CFA_OFFSET 8 | 950 | CFI_ADJUST_CFA_OFFSET 8 |
@@ -958,7 +958,7 @@ gs_change: | |||
958 | CFI_ADJUST_CFA_OFFSET -8 | 958 | CFI_ADJUST_CFA_OFFSET -8 |
959 | ret | 959 | ret |
960 | CFI_ENDPROC | 960 | CFI_ENDPROC |
961 | ENDPROC(load_gs_index) | 961 | ENDPROC(native_load_gs_index) |
962 | 962 | ||
963 | .section __ex_table,"a" | 963 | .section __ex_table,"a" |
964 | .align 8 | 964 | .align 8 |
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index b20c369cb89d..27819e3e4245 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c | |||
@@ -329,6 +329,9 @@ struct pv_cpu_ops pv_cpu_ops = { | |||
329 | .store_idt = native_store_idt, | 329 | .store_idt = native_store_idt, |
330 | .store_tr = native_store_tr, | 330 | .store_tr = native_store_tr, |
331 | .load_tls = native_load_tls, | 331 | .load_tls = native_load_tls, |
332 | #ifdef CONFIG_X86_64 | ||
333 | .load_gs_index = native_load_gs_index, | ||
334 | #endif | ||
332 | .write_ldt_entry = native_write_ldt_entry, | 335 | .write_ldt_entry = native_write_ldt_entry, |
333 | .write_gdt_entry = native_write_gdt_entry, | 336 | .write_gdt_entry = native_write_gdt_entry, |
334 | .write_idt_entry = native_write_idt_entry, | 337 | .write_idt_entry = native_write_idt_entry, |