Page MenuHomeFreeBSD

D18893.diff
No OneTemporary

D18893.diff

Index: head/sys/amd64/include/cpufunc.h
===================================================================
--- head/sys/amd64/include/cpufunc.h
+++ head/sys/amd64/include/cpufunc.h
@@ -627,6 +627,22 @@
__asm __volatile("mwait" : : "a" (hints), "c" (extensions));
}
+static __inline uint32_t
+rdpkru(void)
+{
+ uint32_t res;
+
+ __asm __volatile("rdpkru" : "=a" (res) : "c" (0) : "edx");
+ return (res);
+}
+
+static __inline void
+wrpkru(uint32_t mask)
+{
+
+ __asm __volatile("wrpkru" : : "a" (mask), "c" (0), "d" (0));
+}
+
#ifdef _KERNEL
/* This is defined in <machine/specialreg.h> but is too painful to get to */
#ifndef MSR_FSBASE
Index: head/sys/i386/include/cpufunc.h
===================================================================
--- head/sys/i386/include/cpufunc.h
+++ head/sys/i386/include/cpufunc.h
@@ -726,6 +726,22 @@
write_eflags(eflags);
}
+static __inline uint32_t
+rdpkru(void)
+{
+ uint32_t res;
+
+ __asm __volatile("rdpkru" : "=a" (res) : "c" (0) : "edx");
+ return (res);
+}
+
+static __inline void
+wrpkru(uint32_t mask)
+{
+
+ __asm __volatile("wrpkru" : : "a" (mask), "c" (0), "d" (0));
+}
+
#else /* !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */
int breakpoint(void);

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 22, 8:59 PM (59 m, 48 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16780044
Default Alt Text
D18893.diff (1 KB)

Event Timeline