Xen will require using the update_descriptor() hypercall.
movl 4(%esp), %ecx /* prev */
movl 8(%esp), %edx /* next */
- /* reload tls for new thread */
- movl $0x18, %eax
- movl %eax, %gs
-
pushl %ebp
pushl %ebx
pushl %esi
movl $0x10, %eax
movl %eax, %ds
movl %eax, %es
- movl %eax, %ss
movl %eax, %fs
-
- movl $0x18, %eax
+ movl %eax, %ss
movl %eax, %gs
popl %eax
sd->sd_lobase = p & 0xffffff;
sd->sd_hibase = (p >> 24) & 0xff;
sd->sd_lolimit = s;
+
+ __asm__ __volatile__("mov %0, %%gs" :: "r"(8*SEGMENT_GS));
}
#define PIC1_CMD 0x20