Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1926229ybz; Thu, 30 Apr 2020 07:53:24 -0700 (PDT) X-Google-Smtp-Source: APiQypKgz9ZVz5X2l19fQchKFoGznLO7do+o++8WWBgjU2Cw17kZLq0YhNZQTvfBmgfzOZelYaUw X-Received: by 2002:a05:6402:3094:: with SMTP id de20mr703915edb.158.1588258403870; Thu, 30 Apr 2020 07:53:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588258403; cv=none; d=google.com; s=arc-20160816; b=XVUz5RnWzx7ANK+u+Tj5dPJhrBZ2C15kP2KwHUF7HstJOvZsIZgChoEDk53DJqzuC4 ohgp7+JmIq8rbLgGHG1/K4buQdJBodyvBJT9bEvsIhlqL8Wh5+qXrxIWEL9TEks69fUe 2yY1aP3PtXP+CJJlvak9SQG48aK/5n3QmEWJKoNQ6ULsnsnZn0v9z1DDkeN4g8TYB27/ FkWtsENAaBN6N9kLVzPgC6F1PVTnkDvio/WSrTxtqL/tsPl4xvKmQOil+R3K0xX+HBVL a/FjNXVUVdyd+R0joPAcWWxLlfUCgZkLhUXdLegBlwHJlithzaablQ/Sm433Hsnahmvo yNlw== 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=wdv9+QboSB0n8mCt4SCrZeIquYs40oZsiEsRDsuUlz0=; b=qzL0Cg7xF88+WHlE/CIPn9MCwutFw8EbKkqWnqKqRA+Q9PKZFWf9mxPpXXTLSsZU4f 6VnRje50bB9M5oaC3+4BAtKNjCacU/NyWwp3qFtGqGz0ibPN1KufP7+I1i73JvxHQjwR GyJlUzy2PQuFbH44ni8m6juO95IkI0LIvc1wHEda6l/4GRw3DZI1QdG549HEXcxfaKVY s3SKh+LeNmAbGhdLdh2EfmSWssuE0LaUR3OfXRgzzFY7vIfrLWEmguEccomUccsD6Cgt KX+LWFwlq8q0MxbTXRSawJT4Aas9lEBv66IvZFZeD9qMUwass/DA9u/rOKGIX2GHYlST TVzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=d2VkIY9z; 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 q6si5243660edb.559.2020.04.30.07.52.59; Thu, 30 Apr 2020 07:53:23 -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=d2VkIY9z; 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 S1728305AbgD3OtN (ORCPT + 99 others); Thu, 30 Apr 2020 10:49:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728246AbgD3OtL (ORCPT ); Thu, 30 Apr 2020 10:49:11 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 327B5C035494 for ; Thu, 30 Apr 2020 07:49:11 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id x25so2194501wmc.0 for ; Thu, 30 Apr 2020 07:49:11 -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=wdv9+QboSB0n8mCt4SCrZeIquYs40oZsiEsRDsuUlz0=; b=d2VkIY9z2QxMTr9h0uS1PRKv10w2VGgdwRE0sKCV0WjUfaxd1zset/EMhBFQfskuJe goCtRuSXhK3kBgyLdjxZkBMTTngcnKPaSof2L7u3yexydH49mW/U9M2iAHHQSRFilRvM k5KEZcFespm6qTVeA32TSRCr6jhm8eRQ7Ym71GbZAd8JnCvyrcI6hKtB2OiGX+xOYXeV ZJH2zA3r+wbu9/VfJjCHzG1bm+FreLspb3qUpNwgCGbxVqCG0mvKmtssm+3ikb0CfkWM 4I5A3chetvEn8rgjOt0JZFuLRpLheKnZsDVdY+eVw++ctr0guSEm0z28nbRuzNSgGdil gVHg== 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=wdv9+QboSB0n8mCt4SCrZeIquYs40oZsiEsRDsuUlz0=; b=Fr1ZJkxS8oOttuzipq3vZ/CD3hYV2Not6JSf+466GpKOOuSrbF6On+8aALgkw24WVI Gt/XIhHdW7mIncVNuCo+NnHTneBErj4m1BjaurXncCfqsEVvcRugsqjkZ3/5ydLCThPh 3qzA1T2QEJeNdGfmvvP7JAqbPVT9nkIrGfUCA4tc8XwgZZuszrUPmR8i0CLme8HAMkBz d0mNa1LGXucgsm7osNDeFVbHwrVN/+LUCJPTDesDUYu1oafnyv3MYQJz0Iu9s6Jjjl9C W3ibvRqX3jGW8bnxNeSweRtu4h9C5hRJRBF27swrQesHuk/qAV0w4CXzAhrYlOkrOPTp 8jnA== X-Gm-Message-State: AGi0PuZjOObaEynSknU3nn86JM6uHqHuEN+lHF7qlwEeSMx1EsEWMFec NzEi0HWl9sHvKpIrM5PFROr7LQ== X-Received: by 2002:a1c:7905:: with SMTP id l5mr3549110wme.5.1588258149457; Thu, 30 Apr 2020 07:49:09 -0700 (PDT) Received: from localhost ([2a01:4b00:8523:2d03:d4b6:9828:8bd2:ce6f]) by smtp.gmail.com with ESMTPSA id a24sm12220432wmb.24.2020.04.30.07.49.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Apr 2020 07:49:08 -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 13/15] arm64: kvm: Add comments around __hyp_text_ symbol aliases Date: Thu, 30 Apr 2020 15:48:29 +0100 Message-Id: <20200430144831.59194-14-dbrazdil@google.com> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200430144831.59194-1-dbrazdil@google.com> References: <20200430144831.59194-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 | 49 +++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h index e272eedfe19a..04a3ee21e694 100644 --- a/arch/arm64/kernel/image-vars.h +++ b/arch/arm64/kernel/image-vars.h @@ -61,24 +61,37 @@ __efistub__ctype = _ctype; * memory mappings. */ -__hyp_text___icache_flags = __icache_flags; -__hyp_text___kvm_handle_stub_hvc = __kvm_handle_stub_hvc; -__hyp_text_arm64_const_caps_ready = arm64_const_caps_ready; -__hyp_text_arm64_enable_wa2_handling = arm64_enable_wa2_handling; -__hyp_text_arm64_ssbd_callback_required = arm64_ssbd_callback_required; -__hyp_text_cpu_hwcap_keys = cpu_hwcap_keys; -__hyp_text_cpu_hwcaps = cpu_hwcaps; -__hyp_text_kimage_voffset = kimage_voffset; -__hyp_text_kvm_host_data = kvm_host_data; -__hyp_text_kvm_patch_vector_branch = kvm_patch_vector_branch; -__hyp_text_kvm_update_va_mask = kvm_update_va_mask; -__hyp_text_kvm_vgic_global_state = kvm_vgic_global_state; -__hyp_text_panic = panic; -__hyp_text_physvirt_offset = physvirt_offset; -__hyp_text_sve_load_state = sve_load_state; -__hyp_text_sve_save_state = sve_save_state; -__hyp_text_vgic_v2_cpuif_trap = vgic_v2_cpuif_trap; -__hyp_text_vgic_v3_cpuif_trap = vgic_v3_cpuif_trap; +/* If nVHE code panics, it ERETs into panic() in EL1. */ +__hyp_text_panic = panic; + +/* Stub HVC IDs are routed to a handler in .hyp.idmap.text. Executed in EL2. */ +__hyp_text___kvm_handle_stub_hvc = __kvm_handle_stub_hvc; + +/* Alternative callbacks, referenced in .altinstructions. Executed in EL1. */ +__hyp_text_arm64_enable_wa2_handling = arm64_enable_wa2_handling; +__hyp_text_kvm_patch_vector_branch = kvm_patch_vector_branch; +__hyp_text_kvm_update_va_mask = kvm_update_va_mask; + +/* Values used to convert between memory mappings, read-only after init. */ +__hyp_text_kimage_voffset = kimage_voffset; +__hyp_text_physvirt_offset = physvirt_offset; + +/* Data shared with the kernel. */ +__hyp_text_cpu_hwcaps = cpu_hwcaps; +__hyp_text_cpu_hwcap_keys = cpu_hwcap_keys; +__hyp_text___icache_flags = __icache_flags; +__hyp_text_kvm_vgic_global_state = kvm_vgic_global_state; +__hyp_text_arm64_ssbd_callback_required = arm64_ssbd_callback_required; +__hyp_text_kvm_host_data = kvm_host_data; + +/* Static keys shared with the kernel. */ +__hyp_text_arm64_const_caps_ready = arm64_const_caps_ready; +__hyp_text_vgic_v2_cpuif_trap = vgic_v2_cpuif_trap; +__hyp_text_vgic_v3_cpuif_trap = vgic_v3_cpuif_trap; + +/* SVE support, currently unused by nVHE. */ +__hyp_text_sve_save_state = sve_save_state; +__hyp_text_sve_load_state = sve_load_state; #endif /* CONFIG_KVM */ -- 2.26.1