]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/include/asm/processor.h
Merge tag 'dmaengine-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw...
[karo-tx-linux.git] / arch / x86 / include / asm / processor.h
index 4c2d31d941ea086aac9085500c28759af297828a..987c75ecc334da595401237fe95bf2b3c743b749 100644 (file)
@@ -942,6 +942,21 @@ extern int set_tsc_mode(unsigned int val);
 
 extern u16 amd_get_nb_id(int cpu);
 
+static inline uint32_t hypervisor_cpuid_base(const char *sig, uint32_t leaves)
+{
+       uint32_t base, eax, signature[3];
+
+       for (base = 0x40000000; base < 0x40010000; base += 0x100) {
+               cpuid(base, &eax, &signature[0], &signature[1], &signature[2]);
+
+               if (!memcmp(sig, signature, 12) &&
+                   (leaves == 0 || ((eax - base) >= leaves)))
+                       return base;
+       }
+
+       return 0;
+}
+
 extern unsigned long arch_align_stack(unsigned long sp);
 extern void free_init_pages(char *what, unsigned long begin, unsigned long end);