#define        X86_FEATURE_XSAVE               KVM_X86_CPU_FEATURE(0x1, 0, ECX, 26)
 #define        X86_FEATURE_OSXSAVE             KVM_X86_CPU_FEATURE(0x1, 0, ECX, 27)
 #define        X86_FEATURE_RDRAND              KVM_X86_CPU_FEATURE(0x1, 0, ECX, 30)
+#define X86_FEATURE_PAE                        KVM_X86_CPU_FEATURE(0x1, 0, EDX, 6)
 #define        X86_FEATURE_MCE                 KVM_X86_CPU_FEATURE(0x1, 0, EDX, 7)
 #define        X86_FEATURE_APIC                KVM_X86_CPU_FEATURE(0x1, 0, EDX, 9)
 #define        X86_FEATURE_CLFLUSH             KVM_X86_CPU_FEATURE(0x1, 0, EDX, 19)
 
 void kvm_get_cpu_address_width(unsigned int *pa_bits, unsigned int *va_bits)
 {
        const struct kvm_cpuid_entry2 *entry;
-       bool pae;
 
        /* SDM 4.1.4 */
        if (kvm_get_cpuid_max_extended() < 0x80000008) {
-               pae = kvm_get_supported_cpuid_entry(1)->edx & (1 << 6);
-               *pa_bits = pae ? 36 : 32;
+               *pa_bits == kvm_cpu_has(X86_FEATURE_PAE) ? 36 : 32;
                *va_bits = 32;
        } else {
                entry = kvm_get_supported_cpuid_entry(0x80000008);