Displaying 4 results from an estimated 4 matches for "__hv_ds".
Did you mean:
__hv_cs
2007 Apr 18
1
[RFC/PATCH PV_OPS X86_64 05/17] pravirt_ops - segments
...==============================
--- clean-start.orig/include/asm-x86_64/segment.h
+++ clean-start/include/asm-x86_64/segment.h
@@ -37,8 +37,14 @@
#define GS_TLS_SEL ((GDT_ENTRY_TLS_MIN+GS_TLS)*8 + 3)
#define FS_TLS_SEL ((GDT_ENTRY_TLS_MIN+FS_TLS)*8 + 3)
+#define __HV_CS 0x80 /* 16*8 */
+#define __HV_DS 0x88 /* 17*8 */
+
+#define GDT_ENTRY_HV_CS 16
+#define GDT_ENTRY_HV_DS 17
+
#define IDT_ENTRIES 256
-#define GDT_ENTRIES 16
+#define GDT_ENTRIES 18
#define GDT_SIZE (GDT_ENTRIES * 8)
#define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)
--
2007 Apr 18
1
[RFC/PATCH PV_OPS X86_64 05/17] pravirt_ops - segments
...==============================
--- clean-start.orig/include/asm-x86_64/segment.h
+++ clean-start/include/asm-x86_64/segment.h
@@ -37,8 +37,14 @@
#define GS_TLS_SEL ((GDT_ENTRY_TLS_MIN+GS_TLS)*8 + 3)
#define FS_TLS_SEL ((GDT_ENTRY_TLS_MIN+FS_TLS)*8 + 3)
+#define __HV_CS 0x80 /* 16*8 */
+#define __HV_DS 0x88 /* 17*8 */
+
+#define GDT_ENTRY_HV_CS 16
+#define GDT_ENTRY_HV_DS 17
+
#define IDT_ENTRIES 256
-#define GDT_ENTRIES 16
+#define GDT_ENTRIES 18
#define GDT_SIZE (GDT_ENTRIES * 8)
#define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)
--
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...+
+#define SWITCH_TO_HOST \
+ SAVE_REGS; \
+ /* Save old pgdir */ \
+ movq %cr3, %rax; \
+ pushq %rax; \
+ /* Point rdi to the vcpu struct */ \
+ movq %rsp, %rdi; \
+ subq $LGUEST_VCPU_regs, %rdi; \
+ /* Load lguest ds segment for convenience. */ \
+ movq $(__HV_DS), %rax; \
+ movq %rax, %ds; \
+ /* Load the host page tables since that's where the gdt is */ \
+ movq LGUEST_VCPU_host_cr3(%rdi), %rax; \
+ movq %rax, %cr3; \
+ /* Switch to hosts gdt */ \
+ lgdt LGUEST_VCPU_host_gdt(%rdi); \
+ /* Set guest's TSS to availabl...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...+
+#define SWITCH_TO_HOST \
+ SAVE_REGS; \
+ /* Save old pgdir */ \
+ movq %cr3, %rax; \
+ pushq %rax; \
+ /* Point rdi to the vcpu struct */ \
+ movq %rsp, %rdi; \
+ subq $LGUEST_VCPU_regs, %rdi; \
+ /* Load lguest ds segment for convenience. */ \
+ movq $(__HV_DS), %rax; \
+ movq %rax, %ds; \
+ /* Load the host page tables since that's where the gdt is */ \
+ movq LGUEST_VCPU_host_cr3(%rdi), %rax; \
+ movq %rax, %cr3; \
+ /* Switch to hosts gdt */ \
+ lgdt LGUEST_VCPU_host_gdt(%rdi); \
+ /* Set guest's TSS to availabl...