| 113 | static uint32_t cpuid_base; |
| 114 | |
| 115 | static uint32_t |
| 116 | xen_hvm_cpuid_base(void) |
| 117 | { |
| 118 | uint32_t base, regs[4]; |
| 119 | |
| 120 | for (base = 0x40000000; base < 0x40010000; base += 0x100) { |
| 121 | do_cpuid(base, regs); |
| 122 | if (!memcmp("XenVMMXenVMM", ®s[1], 12) |
| 123 | && (regs[0] - base) >= 2) |
| 124 | return (base); |
| 125 | } |
| 126 | return (0); |
| 127 | } |
| 128 | |
| 129 | static void |
| 130 | hypervisor_quirks(unsigned int major, unsigned int minor) |
no test coverage detected