]> git.sur5r.net Git - u-boot/blobdiff - arch/x86/include/asm/cpu.h
Merge branch 'master' of git://www.denx.de/git/u-boot-imx
[u-boot] / arch / x86 / include / asm / cpu.h
index 89b748b3926d418e6ef5f931d38b4725bd9e5f58..ebc74adbc360911e380c639f24dcecffb23040e5 100644 (file)
@@ -151,6 +151,11 @@ static inline int flag_is_changeable_p(uint32_t flag)
        return ((f1^f2) & flag) != 0;
 }
 
+static inline void mfence(void)
+{
+       __asm__ __volatile__("mfence" : : : "memory");
+}
+
 /**
  * cpu_enable_paging_pae() - Enable PAE-paging
  *
@@ -179,12 +184,31 @@ int cpu_has_64bit(void);
  */
 const char *cpu_vendor_name(int vendor);
 
+#define CPU_MAX_NAME_LEN       49
+
 /**
- * fill_processor_name() - Get processor name
+ * cpu_get_name() - Get the name of the current cpu
  *
- * @processor_name:    Address to hold the processor name string
+ * @name: Place to put name, which must be CPU_MAX_NAME_LEN bytes including
+ * @return pointer to name, which will likely be a few bytes after the start
+ * of @name
+ * \0 terminator
  */
-void fill_processor_name(char *processor_name);
+char *cpu_get_name(char *name);
+
+/**
+ *
+* x86_cpu_get_desc() - Get a description string for an x86 CPU
+*
+* This uses cpu_get_name() and is suitable to use as the get_desc() method for
+* the CPU uclass.
+*
+* @dev:                Device to check (UCLASS_CPU)
+* @buf:                Buffer to place string
+* @size:       Size of string space
+* @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
+*/
+int x86_cpu_get_desc(struct udevice *dev, char *buf, int size);
 
 /**
  * cpu_call64() - Jump to a 64-bit Linux kernel (internal function)