diff options
Diffstat (limited to 'arch/x86/kernel/apic/apic.c')
| -rw-r--r-- | arch/x86/kernel/apic/apic.c | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index 84132eddb5a8..ab731ab09f06 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -224,6 +224,11 @@ static int modern_apic(void)  	if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD &&  	    boot_cpu_data.x86 >= 0xf)  		return 1; + +	/* Hygon systems use modern APIC */ +	if (boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) +		return 1; +  	return lapic_get_version() >= 0x14;  } @@ -1912,6 +1917,8 @@ static int __init detect_init_APIC(void)  		    (boot_cpu_data.x86 >= 15))  			break;  		goto no_apic; +	case X86_VENDOR_HYGON: +		break;  	case X86_VENDOR_INTEL:  		if (boot_cpu_data.x86 == 6 || boot_cpu_data.x86 == 15 ||  		    (boot_cpu_data.x86 == 5 && boot_cpu_has(X86_FEATURE_APIC))) |