summaryrefslogtreecommitdiff
path: root/msr.h
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2019-05-31 09:45:59 -0400
committerRobert Morris <[email protected]>2019-05-31 09:45:59 -0400
commit2ec1959fd1016a18ef3b2d154ce7076be8f237e4 (patch)
tree1aa75252085964283b3a2c735771f4da02346517 /msr.h
parent0f90388c893d1924e89e2e4d2187eda0004e9d73 (diff)
downloadxv6-labs-2ec1959fd1016a18ef3b2d154ce7076be8f237e4.tar.gz
xv6-labs-2ec1959fd1016a18ef3b2d154ce7076be8f237e4.tar.bz2
xv6-labs-2ec1959fd1016a18ef3b2d154ce7076be8f237e4.zip
fork/wait/exit work
Diffstat (limited to 'msr.h')
-rw-r--r--msr.h25
1 files changed, 0 insertions, 25 deletions
diff --git a/msr.h b/msr.h
deleted file mode 100644
index ad901a6..0000000
--- a/msr.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// SYSCALL and SYSRET registers
-#define MSR_STAR 0xc0000081
-#define MSR_LSTAR 0xc0000082
-#define MSR_CSTAR 0xc0000083
-#define MSR_SFMASK 0xc0000084
-
-// GS
-#define MSR_GS_BASE 0xc0000101
-#define MSR_GS_KERNBASE 0xc0000102
-
-static inline uint64
-readmsr(uint32 msr)
-{
- uint32 hi, lo;
- __asm volatile("rdmsr" : "=d" (hi), "=a" (lo) : "c" (msr));
- return ((uint64) lo) | (((uint64) hi) << 32);
-}
-
-static inline void
-writemsr(uint64 msr, uint64 val)
-{
- uint32 lo = val & 0xffffffff;
- uint32 hi = val >> 32;
- __asm volatile("wrmsr" : : "c" (msr), "a" (lo), "d" (hi) : "memory");
-}