From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pu Wen Subject: [PATCH v2 08/17] x86/apic: add modern APIC support for Hygon Date: Mon, 23 Jul 2018 21:20:28 +0800 Message-ID: <1532352037-7151-9-git-send-email-puwen@hygon.cn> References: <1532352037-7151-1-git-send-email-puwen@hygon.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1532352037-7151-1-git-send-email-puwen@hygon.cn> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: tglx@linutronix.de, bp@alien8.de, thomas.lendacky@amd.com, mingo@redhat.com, hpa@zytor.com, peterz@infradead.org, tony.luck@intel.com, pbonzini@redhat.com, rkrcmar@redhat.com, boris.ostrovsky@oracle.com, jgross@suse.com, rjw@rjwysocki.net, lenb@kernel.org, viresh.kumar@linaro.org, mchehab@kernel.org, trenn@suse.com, shuah@kernel.org, JBeulich@suse.com, x86@kernel.org Cc: linux-arch@vger.kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org List-Id: linux-arch.vger.kernel.org SHlnb24gcHJvY2Vzc29ycyB1c2UgbW9kZXJuIEFQSUMsIHNvIGp1c3QgcmV0dXJuIGluIG1vZGVy bl9hcGljKCkgYW5kCnN5bmNfQXJiX0lEcygpLiBBbmQgc2hvdWxkIGJyZWFrIGluIHN3aXRjaCBj YXNlIGluIGRldGVjdF9pbml0X0FQSSgpLgoKU2lnbmVkLW9mZi1ieTogUHUgV2VuIDxwdXdlbkBo eWdvbi5jbj4KLS0tCiBhcmNoL3g4Ni9rZXJuZWwvYXBpYy9hcGljLmMgfCAxMyArKysrKysrKysr Ky0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXBpYy9hcGljLmMgYi9hcmNoL3g4Ni9rZXJuZWwv YXBpYy9hcGljLmMKaW5kZXggMmFhYmQ0Yy4uZDhiN2FjMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYv a2VybmVsL2FwaWMvYXBpYy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hcGljL2FwaWMuYwpAQCAt MjIzLDYgKzIyMywxMSBAQCBzdGF0aWMgaW50IG1vZGVybl9hcGljKHZvaWQpCiAJaWYgKGJvb3Rf Y3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCAmJgogCSAgICBib290X2NwdV9k YXRhLng4NiA+PSAweGYpCiAJCXJldHVybiAxOworCisJLyogSHlnb24gc3lzdGVtcyB1c2UgbW9k ZXJuIEFQSUMgKi8KKwlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1Jf SFlHT04pCisJCXJldHVybiAxOworCiAJcmV0dXJuIGxhcGljX2dldF92ZXJzaW9uKCkgPj0gMHgx NDsKIH0KIApAQCAtMTIwNyw5ICsxMjEyLDExIEBAIHZvaWQgX19pbml0IHN5bmNfQXJiX0lEcyh2 b2lkKQogewogCS8qCiAJICogVW5zdXBwb3J0ZWQgb24gUDQgLSBzZWUgSW50ZWwgRGV2LiBNYW51 YWwgVm9sLiAzLCBDaC4gOC42LjEgQW5kIG5vdAotCSAqIG5lZWRlZCBvbiBBTUQuCisJICogbmVl ZGVkIG9uIEFNRCBvciBIeWdvbi4KIAkgKi8KLQlpZiAobW9kZXJuX2FwaWMoKSB8fCBib290X2Nw dV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQpCisJaWYgKG1vZGVybl9hcGljKCkg fHwKKwkgICAgYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EIHx8CisJ ICAgIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0hZR09OKQogCQlyZXR1 cm47CiAKIAkvKgpAQCAtMTkwOCw2ICsxOTE1LDggQEAgc3RhdGljIGludCBfX2luaXQgZGV0ZWN0 X2luaXRfQVBJQyh2b2lkKQogCQkgICAgKGJvb3RfY3B1X2RhdGEueDg2ID49IDE1KSkKIAkJCWJy ZWFrOwogCQlnb3RvIG5vX2FwaWM7CisJY2FzZSBYODZfVkVORE9SX0hZR09OOgorCQlicmVhazsK IAljYXNlIFg4Nl9WRU5ET1JfSU5URUw6CiAJCWlmIChib290X2NwdV9kYXRhLng4NiA9PSA2IHx8 IGJvb3RfY3B1X2RhdGEueDg2ID09IDE1IHx8CiAJCSAgICAoYm9vdF9jcHVfZGF0YS54ODYgPT0g NSAmJiBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQVBJQykpKQotLSAKMi43LjQKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp21.cstnet.cn ([159.226.251.21]:52036 "EHLO cstnet.cn" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2388190AbeGWO3e (ORCPT ); Mon, 23 Jul 2018 10:29:34 -0400 From: Pu Wen Subject: [PATCH v2 08/17] x86/apic: add modern APIC support for Hygon Date: Mon, 23 Jul 2018 21:20:28 +0800 Message-ID: <1532352037-7151-9-git-send-email-puwen@hygon.cn> In-Reply-To: <1532352037-7151-1-git-send-email-puwen@hygon.cn> References: <1532352037-7151-1-git-send-email-puwen@hygon.cn> Sender: linux-arch-owner@vger.kernel.org List-ID: To: tglx@linutronix.de, bp@alien8.de, thomas.lendacky@amd.com, mingo@redhat.com, hpa@zytor.com, peterz@infradead.org, tony.luck@intel.com, pbonzini@redhat.com, rkrcmar@redhat.com, boris.ostrovsky@oracle.com, jgross@suse.com, rjw@rjwysocki.net, lenb@kernel.org, viresh.kumar@linaro.org, mchehab@kernel.org, trenn@suse.com, shuah@kernel.org, JBeulich@suse.com, x86@kernel.org Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org Message-ID: <20180723132028.-JmQZeL8VU4gYqQys_RG7zObkNrE3eaYyoiHa9Ilic0@z> Hygon processors use modern APIC, so just return in modern_apic() and sync_Arb_IDs(). And should break in switch case in detect_init_API(). Signed-off-by: Pu Wen --- arch/x86/kernel/apic/apic.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index 2aabd4c..d8b7ac1 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -223,6 +223,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; } @@ -1207,9 +1212,11 @@ void __init sync_Arb_IDs(void) { /* * Unsupported on P4 - see Intel Dev. Manual Vol. 3, Ch. 8.6.1 And not - * needed on AMD. + * needed on AMD or Hygon. */ - if (modern_apic() || boot_cpu_data.x86_vendor == X86_VENDOR_AMD) + if (modern_apic() || + boot_cpu_data.x86_vendor == X86_VENDOR_AMD || + boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) return; /* @@ -1908,6 +1915,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))) -- 2.7.4