-/* Move an aligned 32 or 64-bit word from user space to kernel space
- * using a single read instruction
+extern int copyin_atomic64(
+ const user_addr_t user_addr,
+ uint64_t *kernel_addr);
+
+/*
+ * Does an atomic copyin at the specified user_address and compares
+ * it to the passed in value, and if it matches, waits.
+ *
+ * This is used to implement adaptive spinning for userspace synchronization