Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp406939ybk; Fri, 15 May 2020 04:01:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz8ya7OKAlUrVpdy+fS3XfYDG2P9QEVMIIq30dnMG3kZm4Uad77ItEDQirW41QKTo5dusCA X-Received: by 2002:a05:6402:8c7:: with SMTP id d7mr2124337edz.113.1589540493846; Fri, 15 May 2020 04:01:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589540493; cv=none; d=google.com; s=arc-20160816; b=fvDhcHjWGj8zwD01wgfWUbZNgqTlYVMIe7Zs2/0G5js/u8G77XOXWyufrr7Ig147z3 ouS73f2s1CT92X7FhgFpCXMWQXA34pK4jJmBlyx5hxp7GobZ3ZtV6rrWEYbsGRDtCq03 HMbdfC5TXwU8hvQJV/YCNIiCCC6Cj3q+7n87qO9QoOPenFkaKvl+Pzj9YaRvFUNBckkQ ehV99XCahO4TQdC0Y/05HHPWGg2C0ohog3xdtkwLefH0u54XBDbYPGW6vQGp1Uq1mkpH OFuMUr8D3CQjA6jfprD8ApvoiYv4EjdAHzlGbwacHdFlsIcsSaYVQGIS0PdUcvjMuSjw GWtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=qIsoQzx8QXc1ir+dRugWu1fsq9J9q4alaZWOk635tTE=; b=lWNqbXR1xdBZtCLG1YSc03eiEaHjRs/YOwHqJJiEegvQr6rnP30Xa2C/rkO5QL4Xhw l46utmdrmyA2I1piYIe8luzI2lLsSa+d1vLzRvt5WGWYEqL5ZOp8zIJ8/aEsD8i99Z2G p/aDKL9eRbsir9TUM8BgSp2/udsR7GRhMXu9D6ufcZbahRbAbDVgWsC5WXiZnV2EQDid 6XyyIG32F+sNCVqJy/irPt4hhgFIa0Iouv0m0uV5UCORn9+PMNCX7v9sJmdf8tMb1HGV Q17y4aOC54ZNl863zVOxoNfmNgzPQFlsoardTFFHtcwIVtQ1RymgNBqIRgGvBuWOnpd1 p6CQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=hem7MA7S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id by25si972501ejb.413.2020.05.15.04.01.10; Fri, 15 May 2020 04:01:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=hem7MA7S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726723AbgEOK7X (ORCPT + 99 others); Fri, 15 May 2020 06:59:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726659AbgEOK7T (ORCPT ); Fri, 15 May 2020 06:59:19 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C64AEC05BD0A for ; Fri, 15 May 2020 03:59:18 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id e1so3028390wrt.5 for ; Fri, 15 May 2020 03:59:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qIsoQzx8QXc1ir+dRugWu1fsq9J9q4alaZWOk635tTE=; b=hem7MA7Smzp8TqztYBuB5W3IWuLc4iqDhkp4S4YrnIqEmIZYd5pPdRcokkZiSQCBXL 58opF2y7yXszqJ3evDxLwos9xZqkclw8sRQh7P0+fHtLZlqrEbIdYFuY2QzUT/3oNp3+ 56D/84m33gXnqSp+cu9AJxgtA7yK1RJAbAO0VQpW+NCdV214WKsw960f4Toq0JR2zORt KAesZDc+Dr2ZIqP8yY5XwJ6nLSGu7pB7APkga9EQl8I78PToaK+HwDB54eqVuf/tRtOS pzcnoFrrzdZU3MnypcCryPp2ei+6BLBHpvUaf/5Qk4Uvog7s+owQl8nsBFbR/RUPagH9 HC7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qIsoQzx8QXc1ir+dRugWu1fsq9J9q4alaZWOk635tTE=; b=g6ioICWB3hcgRjIY7IBrrN0ggdvtWCkVkfoXmlAqnFzBtFeIBb50URmFmMTnQmbl2i +6gcBy8ug1xmhJhiwxqA58Qvi9jqSWOKYU3bLTNN1lNdfB99PA9OYZhCUQCCv+ITGNbB C/J58sGwEzh03aORK+2pXyG4QetN71rdCV35fnJK+EqyG47NrJLseYw/Xx2y3MgfbIH5 diI7giCE7c5ixeIYSejZn3eq3UUvnrh3684UoQkl/F2X2gkKED6ZTX2iV3OGOkSgJgSB q3HDUj/RDaV+Rc7V+Z+FUi2TPYLVC53FRn2Zrw9M1evveSPoTaNDuEJibAlEwSycc5+j wkQQ== X-Gm-Message-State: AOAM5318/hTogNtHTE+d28A7xP6p3MjSWovGv0CGEj+9beXupFFV/e1C S3vnycDABH6SYB/bgVSsZzU5jg== X-Received: by 2002:adf:fa44:: with SMTP id y4mr3731198wrr.135.1589540357099; Fri, 15 May 2020 03:59:17 -0700 (PDT) Received: from localhost ([2a01:4b00:8523:2d03:d11b:f847:8002:7411]) by smtp.gmail.com with ESMTPSA id 128sm3156597wme.39.2020.05.15.03.59.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 15 May 2020 03:59:16 -0700 (PDT) From: David Brazdil To: Catalin Marinas , James Morse , Julien Thierry , Marc Zyngier , Suzuki K Poulose , Will Deacon Cc: kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, David Brazdil Subject: [PATCH v2 12/14] arm64: kvm: Add comments around __kvm_nvhe_ symbol aliases Date: Fri, 15 May 2020 11:58:39 +0100 Message-Id: <20200515105841.73532-13-dbrazdil@google.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200515105841.73532-1-dbrazdil@google.com> References: <20200515105841.73532-1-dbrazdil@google.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch is part of a series which builds KVM's non-VHE hyp code separately from VHE and the rest of the kernel. With all source files split between VHE/nVHE, add comments around the list of symbols where nVHE code still links against kernel proper. Split them into groups and explain how each group is currently used. Some of these dependencies will be removed in the future. Signed-off-by: David Brazdil --- arch/arm64/kernel/image-vars.h | 47 ++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h index 217e5e5a101d..0b3a3fe07a64 100644 --- a/arch/arm64/kernel/image-vars.h +++ b/arch/arm64/kernel/image-vars.h @@ -61,23 +61,36 @@ __efistub__ctype = _ctype; * memory mappings. */ -__kvm_nvhe___icache_flags = __icache_flags; -__kvm_nvhe___kvm_handle_stub_hvc = __kvm_handle_stub_hvc; -__kvm_nvhe_arm64_const_caps_ready = arm64_const_caps_ready; -__kvm_nvhe_arm64_enable_wa2_handling = arm64_enable_wa2_handling; -__kvm_nvhe_arm64_ssbd_callback_required = arm64_ssbd_callback_required; -__kvm_nvhe_cpu_hwcap_keys = cpu_hwcap_keys; -__kvm_nvhe_cpu_hwcaps = cpu_hwcaps; -__kvm_nvhe_kimage_voffset = kimage_voffset; -__kvm_nvhe_kvm_host_data = kvm_host_data; -__kvm_nvhe_kvm_patch_vector_branch = kvm_patch_vector_branch; -__kvm_nvhe_kvm_update_va_mask = kvm_update_va_mask; -__kvm_nvhe_kvm_vgic_global_state = kvm_vgic_global_state; -__kvm_nvhe_panic = panic; -__kvm_nvhe_sve_load_state = sve_load_state; -__kvm_nvhe_sve_save_state = sve_save_state; -__kvm_nvhe_vgic_v2_cpuif_trap = vgic_v2_cpuif_trap; -__kvm_nvhe_vgic_v3_cpuif_trap = vgic_v3_cpuif_trap; +/* If nVHE code panics, it ERETs into panic() in EL1. */ +__kvm_nvhe_panic = panic; + +/* Stub HVC IDs are routed to a handler in .hyp.idmap.text. Executed in EL2. */ +__kvm_nvhe___kvm_handle_stub_hvc = __kvm_handle_stub_hvc; + +/* Alternative callbacks, referenced in .altinstructions. Executed in EL1. */ +__kvm_nvhe_arm64_enable_wa2_handling = arm64_enable_wa2_handling; +__kvm_nvhe_kvm_patch_vector_branch = kvm_patch_vector_branch; +__kvm_nvhe_kvm_update_va_mask = kvm_update_va_mask; + +/* Values used to convert between memory mappings, read-only after init. */ +__kvm_nvhe_kimage_voffset = kimage_voffset; + +/* Data shared with the kernel. */ +__kvm_nvhe_cpu_hwcaps = cpu_hwcaps; +__kvm_nvhe_cpu_hwcap_keys = cpu_hwcap_keys; +__kvm_nvhe___icache_flags = __icache_flags; +__kvm_nvhe_kvm_vgic_global_state = kvm_vgic_global_state; +__kvm_nvhe_arm64_ssbd_callback_required = arm64_ssbd_callback_required; +__kvm_nvhe_kvm_host_data = kvm_host_data; + +/* Static keys shared with the kernel. */ +__kvm_nvhe_arm64_const_caps_ready = arm64_const_caps_ready; +__kvm_nvhe_vgic_v2_cpuif_trap = vgic_v2_cpuif_trap; +__kvm_nvhe_vgic_v3_cpuif_trap = vgic_v3_cpuif_trap; + +/* SVE support, currently unused by nVHE. */ +__kvm_nvhe_sve_save_state = sve_save_state; +__kvm_nvhe_sve_load_state = sve_load_state; #endif /* CONFIG_KVM */ -- 2.26.2