From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Martin Subject: [PATCH v3 15/28] arm64: cpufeature: Move sys_caps_initialised declarations Date: Tue, 10 Oct 2017 19:38:32 +0100 Message-ID: <1507660725-7986-16-git-send-email-Dave.Martin@arm.com> References: <1507660725-7986-1-git-send-email-Dave.Martin@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1507660725-7986-1-git-send-email-Dave.Martin@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: linux-arm-kernel@lists.infradead.org Cc: linux-arch@vger.kernel.org, Okamoto Takayuki , libc-alpha@sourceware.org, Ard Biesheuvel , Szabolcs Nagy , Catalin Marinas , Will Deacon , Richard Sandiford , kvmarm@lists.cs.columbia.edu List-Id: linux-arch.vger.kernel.org dXBkYXRlX2NwdV9mZWF0dXJlcygpIGN1cnJlbnRseSBjYW5ub3QgdGVsbCB3aGV0aGVyIGl0IGlz IGJlaW5nCmNhbGxlZCBkdXJpbmcgZWFybHkgb3IgbGF0ZSBzZWNvbmRhcnkgYm9vdC4gIFRoaXMg ZG9lc24ndApkZXNwZXJhdGVseSBtYXR0ZXIgZm9yIGFueXRoaW5nIGl0IGN1cnJlbnRseSBkb2Vz LgoKSG93ZXZlciwgU1ZFIHdpbGwgbmVlZCB0byBrbm93IGhlcmUgd2hldGhlciB0aGUgc2V0IG9m IGF2YWlsYWJsZQp2ZWN0b3IgbGVuZ3RocyBpcyBmaXhlZCBvZiBzdGlsbCB0byBiZSBkZXRlcm1p bmVkIHdoZW4gYm9vdGluZyBhCkNQVSBzbyB0aGF0IGl0IGNhbiBiZSB1cGRhdGVkIGFwcHJvcHJp YXRlbHkuCgpUaGlzIHBhdGNoIHNpbXBseSBtb3ZlcyB0aGUgc3lzX2NhcHNfaW5pdGlhbGlzZWQg c3R1ZmYgdG8gdGhlIHRvcApvZiB0aGUgZmlsZSBzbyB0aGF0IGl0IGNhbiBiZSBtb3JlIHdpZGVs eS4gIFRoZXJlIGRvZXNuJ3Qgc2VlbSB0bwpiZSBhIG1vcmUgb2J2aW91cyBwbGFjZSB0byBwdXQg aXQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIE1hcnRpbiA8RGF2ZS5NYXJ0aW5AYXJtLmNvbT4KUmV2 aWV3ZWQtYnk6IEFsZXggQmVubsOpZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz4KUmV2aWV3ZWQt Ynk6IFN1enVraSBLIFBvdWxvc2UgPHN1enVraS5wb3Vsb3NlQGFybS5jb20+Ci0tLQogYXJjaC9h cm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jIHwgMzAgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jIGIvYXJjaC9hcm02NC9r ZXJuZWwvY3B1ZmVhdHVyZS5jCmluZGV4IDIxZTJjOTUuLjkyYTk1MDIgMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYworKysgYi9hcmNoL2FybTY0L2tlcm5lbC9jcHVm ZWF0dXJlLmMKQEAgLTUxLDYgKzUxLDIxIEBAIHVuc2lnbmVkIGludCBjb21wYXRfZWxmX2h3Y2Fw MiBfX3JlYWRfbW9zdGx5OwogREVDTEFSRV9CSVRNQVAoY3B1X2h3Y2FwcywgQVJNNjRfTkNBUFMp OwogRVhQT1JUX1NZTUJPTChjcHVfaHdjYXBzKTsKIAorLyoKKyAqIEZsYWcgdG8gaW5kaWNhdGUg aWYgd2UgaGF2ZSBjb21wdXRlZCB0aGUgc3lzdGVtIHdpZGUKKyAqIGNhcGFiaWxpdGllcyBiYXNl ZCBvbiB0aGUgYm9vdCB0aW1lIGFjdGl2ZSBDUFVzLiBUaGlzCisgKiB3aWxsIGJlIHVzZWQgdG8g ZGV0ZXJtaW5lIGlmIGEgbmV3IGJvb3RpbmcgQ1BVIHNob3VsZAorICogZ28gdGhyb3VnaCB0aGUg dmVyaWZpY2F0aW9uIHByb2Nlc3MgdG8gbWFrZSBzdXJlIHRoYXQgaXQKKyAqIHN1cHBvcnRzIHRo ZSBzeXN0ZW0gY2FwYWJpbGl0aWVzLCB3aXRob3V0IHVzaW5nIGEgaG90cGx1ZworICogbm90aWZp ZXIuCisgKi8KK3N0YXRpYyBib29sIHN5c19jYXBzX2luaXRpYWxpc2VkOworCitzdGF0aWMgaW5s aW5lIHZvaWQgc2V0X3N5c19jYXBzX2luaXRpYWxpc2VkKHZvaWQpCit7CisJc3lzX2NhcHNfaW5p dGlhbGlzZWQgPSB0cnVlOworfQorCiBzdGF0aWMgaW50IGR1bXBfY3B1X2h3Y2FwcyhzdHJ1Y3Qg bm90aWZpZXJfYmxvY2sgKnNlbGYsIHVuc2lnbmVkIGxvbmcgdiwgdm9pZCAqcCkKIHsKIAkvKiBm aWxlLXdpZGUgcHJfZm10IGFkZHMgIkNQVSBmZWF0dXJlczogIiBwcmVmaXggKi8KQEAgLTEwNDEs MjEgKzEwNTYsNiBAQCB2b2lkIF9faW5pdCBlbmFibGVfY3B1X2NhcGFiaWxpdGllcyhjb25zdCBz dHJ1Y3QgYXJtNjRfY3B1X2NhcGFiaWxpdGllcyAqY2FwcykKIH0KIAogLyoKLSAqIEZsYWcgdG8g aW5kaWNhdGUgaWYgd2UgaGF2ZSBjb21wdXRlZCB0aGUgc3lzdGVtIHdpZGUKLSAqIGNhcGFiaWxp dGllcyBiYXNlZCBvbiB0aGUgYm9vdCB0aW1lIGFjdGl2ZSBDUFVzLiBUaGlzCi0gKiB3aWxsIGJl IHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgbmV3IGJvb3RpbmcgQ1BVIHNob3VsZAotICogZ28gdGhy b3VnaCB0aGUgdmVyaWZpY2F0aW9uIHByb2Nlc3MgdG8gbWFrZSBzdXJlIHRoYXQgaXQKLSAqIHN1 cHBvcnRzIHRoZSBzeXN0ZW0gY2FwYWJpbGl0aWVzLCB3aXRob3V0IHVzaW5nIGEgaG90cGx1Zwot ICogbm90aWZpZXIuCi0gKi8KLXN0YXRpYyBib29sIHN5c19jYXBzX2luaXRpYWxpc2VkOwotCi1z dGF0aWMgaW5saW5lIHZvaWQgc2V0X3N5c19jYXBzX2luaXRpYWxpc2VkKHZvaWQpCi17Ci0Jc3lz X2NhcHNfaW5pdGlhbGlzZWQgPSB0cnVlOwotfQotCi0vKgogICogQ2hlY2sgZm9yIENQVSBmZWF0 dXJlcyB0aGF0IGFyZSB1c2VkIGluIGVhcmx5IGJvb3QKICAqIGJhc2VkIG9uIHRoZSBCb290IENQ VSB2YWx1ZS4KICAqLwotLSAKMi4xLjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmt2bWFybSBtYWlsaW5nIGxpc3QKa3ZtYXJtQGxpc3RzLmNzLmNvbHVt YmlhLmVkdQpodHRwczovL2xpc3RzLmNzLmNvbHVtYmlhLmVkdS9tYWlsbWFuL2xpc3RpbmZvL2t2 bWFybQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com ([217.140.101.70]:49024 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932518AbdJJSj0 (ORCPT ); Tue, 10 Oct 2017 14:39:26 -0400 From: Dave Martin Subject: [PATCH v3 15/28] arm64: cpufeature: Move sys_caps_initialised declarations Date: Tue, 10 Oct 2017 19:38:32 +0100 Message-ID: <1507660725-7986-16-git-send-email-Dave.Martin@arm.com> In-Reply-To: <1507660725-7986-1-git-send-email-Dave.Martin@arm.com> References: <1507660725-7986-1-git-send-email-Dave.Martin@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: linux-arm-kernel@lists.infradead.org Cc: Catalin Marinas , Will Deacon , Ard Biesheuvel , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Szabolcs Nagy , Richard Sandiford , Okamoto Takayuki , kvmarm@lists.cs.columbia.edu, libc-alpha@sourceware.org, linux-arch@vger.kernel.org Message-ID: <20171010183832.FF7HuQfH9f3WolAb9YXZS-n2Cpytn2xO2IgfPgpLvHo@z> update_cpu_features() currently cannot tell whether it is being called during early or late secondary boot. This doesn't desperately matter for anything it currently does. However, SVE will need to know here whether the set of available vector lengths is fixed of still to be determined when booting a CPU so that it can be updated appropriately. This patch simply moves the sys_caps_initialised stuff to the top of the file so that it can be more widely. There doesn't seem to be a more obvious place to put it. Signed-off-by: Dave Martin Reviewed-by: Alex Bennée Reviewed-by: Suzuki K Poulose --- arch/arm64/kernel/cpufeature.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 21e2c95..92a9502 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -51,6 +51,21 @@ unsigned int compat_elf_hwcap2 __read_mostly; DECLARE_BITMAP(cpu_hwcaps, ARM64_NCAPS); EXPORT_SYMBOL(cpu_hwcaps); +/* + * Flag to indicate if we have computed the system wide + * capabilities based on the boot time active CPUs. This + * will be used to determine if a new booting CPU should + * go through the verification process to make sure that it + * supports the system capabilities, without using a hotplug + * notifier. + */ +static bool sys_caps_initialised; + +static inline void set_sys_caps_initialised(void) +{ + sys_caps_initialised = true; +} + static int dump_cpu_hwcaps(struct notifier_block *self, unsigned long v, void *p) { /* file-wide pr_fmt adds "CPU features: " prefix */ @@ -1041,21 +1056,6 @@ void __init enable_cpu_capabilities(const struct arm64_cpu_capabilities *caps) } /* - * Flag to indicate if we have computed the system wide - * capabilities based on the boot time active CPUs. This - * will be used to determine if a new booting CPU should - * go through the verification process to make sure that it - * supports the system capabilities, without using a hotplug - * notifier. - */ -static bool sys_caps_initialised; - -static inline void set_sys_caps_initialised(void) -{ - sys_caps_initialised = true; -} - -/* * Check for CPU features that are used in early boot * based on the Boot CPU value. */ -- 2.1.4