x86: Add swap_gs helper
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 19 Nov 2015 02:22:57 +0000 (18:22 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 8 Dec 2015 20:59:08 +0000 (15:59 -0500)
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/x86/arch.h

index 8edd5a8..9865bb2 100644 (file)
@@ -32,6 +32,7 @@ static inline void reboot(void)
               __attribute__((always_inline)) __attribute__((noreturn));
 static inline void prefetch(void *addr);
 static inline void prefetchw(void *addr);
+static inline void swap_gs(void);
 
 /* in trap.c */
 void send_ipi(uint32_t os_coreid, uint8_t vector);
@@ -187,3 +188,8 @@ static inline uint64_t max_guest_pa(void)
 {
        return (1ULL<<40) - 1;
 }
+
+static inline void swap_gs(void)
+{
+       asm volatile ("swapgs");
+}