Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp5808466imm; Mon, 23 Jul 2018 06:30:35 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfzKdMDZV4WKwtsxw/M1iEUHGSuPPa0NkHlTdVGQgok7Cq+qffhNn3ETwLz1pAEM8i3U67G X-Received: by 2002:a17:902:f83:: with SMTP id 3-v6mr12862473plz.282.1532352634966; Mon, 23 Jul 2018 06:30:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532352634; cv=none; d=google.com; s=arc-20160816; b=gKA5t+IuVpfTfEYfcw8ploZmu3mubCJKSPgDTeoeO7zktFZx+fnly1eJmdyh7H3GcF TFvW96Qs+1xAi2kuZM5OnDVcctOu5ucbmYoRPHot0KxOfHEhEujC1DY9Jp3sLJLNkKdM 7pUyYSUHi3zEDRmyOO4AEtlymoA0wMQPYk+EwYdU5dkILPWvVF4O1pgsTCrD/FJqywR/ k4jSvMcjxNP3xsyEBn172jeK01Iy8pHw8EgZ+vnVYMeMNA7o4+z2cnn9+odveueK8B4h ohdeQkZgLuNP0oiBielJ4WRwqrdAQEvwLwYnzMnUZznAXVS/vYbp9Oc2Hz8sFzKpHJOX 1o8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=1I4U7urf+a3tGnnJIV/6GYyJwoq/QHrRe5n/jqkjGrU=; b=FiHRqIWuWk/XrYAl7G7oL/n4nNoMTX4aNEayqlp4ZYWzPh3d+s8re50cm9Gvz7Zcqv qw9tZZ4nQ8x0XDvgQr7K9hsHMnVNtgQ0YsLotTZ0CHURfN7pYevQ/rXyGJA5kxnxPuka MpAkMp8sa6VlUDCd3tLc1MQDTwUOLO2nFFHz1mIGVdj6eJxBBi3tGNEDSCQY0ufS0VCl vaYPHu1cKbf1k8xRAlMA9lK0kaVCe4O0vz8FVAGrxYufAPhu/zaEW4Xd1BwREXEBH2aM DQ6mNPJLsxVSwvjjSA59DIyswKfMEn92EGkomcPcjbTzjZd5fbWF5yyL/ccQxpfHxPnb jKVg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f7-v6si963952pgp.496.2018.07.23.06.30.20; Mon, 23 Jul 2018 06:30:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388456AbeGWO3f (ORCPT + 99 others); Mon, 23 Jul 2018 10:29:35 -0400 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 Received: from pw-vbox.higon.com (unknown [182.150.46.145]) by APP-01 (Coremail) with SMTP id qwCowAD3_5sl1lVbkm7cEA--.63S10; Mon, 23 Jul 2018 21:21:23 +0800 (CST) From: Pu Wen 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 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> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1532352037-7151-1-git-send-email-puwen@hygon.cn> References: <1532352037-7151-1-git-send-email-puwen@hygon.cn> X-CM-TRANSID: qwCowAD3_5sl1lVbkm7cEA--.63S10 X-Coremail-Antispam: 1UD129KBjvJXoW7tr45JrWDWFyxKF4fGFyrCrg_yoW8Xr4xpF W7JF48JFsYqas3Wasakrs7XFyUZFn7Ga17G3y3Cw1fJF4YvF1UXrsayw1Skayj9rZ5Grn5 ta1kXa1YvaykCaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUP2b7Iv0xC_tr1lb4IE77IF4wAFF20E14v26rWj6s0DM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI 8067AKxVWUAVCq3wA2048vs2IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28C jxkF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUCVW8JwA2z4x0Y4vE2Ix0cI 8IcVCY1x0267AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E 87Iv6xkF7I0E14v26r4UJVWxJr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2 IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r4UJVWx Jr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4IIrI8v6xkF7I0E8cxan2 IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF wI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVW8ZVWrXwCIc4 0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AK xVW8Jr0_Cr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JV WxJwCI42IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43ZEXa7IU8c1 8PUUUUU== X-Originating-IP: [182.150.46.145] X-CM-SenderInfo: psxzv046klw03qof0z/ Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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