From patchwork Wed Nov 2 14:00:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jinank Jain X-Patchwork-Id: 1027 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp3636860wru; Wed, 2 Nov 2022 07:02:35 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4f7tBraiyg3Am6t3Q1RKis1T+e0mo1AEMLxee7FcGFQzzG5Mxgev30ZyfiVnGf04qa6ST1 X-Received: by 2002:a05:6402:3641:b0:45c:4231:ddcc with SMTP id em1-20020a056402364100b0045c4231ddccmr25395823edb.224.1667397755433; Wed, 02 Nov 2022 07:02:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667397755; cv=none; d=google.com; s=arc-20160816; b=MzzrKkaLY+jUQvkrN8lQ9712awwVAltUvlVHlkmnVtCivoc/K9NbP09nqdA3qzxP1m L+U8ZGHMwUrK3/vV82hfwZ7hEjS56WG8u3hAl17r7926a6Q4QcF5vPycxvuBksouNpFm CSPXLMpvBj1XbsFv9PA1idaNXntLtOlwB7q30EHSYh0Agy6XeLtLn3UhGxmEpQ/fwq1l CF32Il5WLncgBYVRjGG5XwEcr+IRJOovh/00jybDF/XbJttvZW4fkSUHpI+a9TwOlXj9 HS0+8K3T/F3/UDURaBsP9657Ac9kuhu5/mPyAjYa6I+FlHdIJXb2+zs7o/arqQcbOQu3 6m+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:content-transfer-encoding:mime-version :message-id:date:subject:cc:from:dkim-signature:dkim-filter; bh=QDS071ByWL2Ky/RZhdG/Bn5KPQayXV/7JR1J8Lj5jZE=; b=wmF0DgKakS/ZT40wJnNExae4rk4IEwcjOgOnN5FeOTAHacpuVFafQQF+LyyziqqRxG kNvshPunURPLtwezAjHO0aGx1hDDtP6xNIHJOOlANEG+w94RXieD5+F4/AQl8/SLHiCt zzaP/jjQ/acbyNb0WBRi7xEoMgYahlGRjtz9sRfMSCUBuau9rrtYjdEHn0ri782Ytjtp +1fm/hFzM69lHrIt9cZK+Ie54LZLsxyv3rP/1W4H++ypFjDlgOvwaHEK/ZvewohbCuVh /S2uUnUk0dMCGll2VO6lDxdi5w63JboDNJRP//aXNaySfp/uKOixdwJZYdrNXJihiyaO intg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linux.microsoft.com header.s=default header.b=J7LFtD1E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hv9-20020a17090760c900b0078c31a71f47si17367875ejc.220.2022.11.02.07.02.10; Wed, 02 Nov 2022 07:02:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@linux.microsoft.com header.s=default header.b=J7LFtD1E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230424AbiKBOA3 (ORCPT + 99 others); Wed, 2 Nov 2022 10:00:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229939AbiKBOA0 (ORCPT ); Wed, 2 Nov 2022 10:00:26 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A2AE65F56; Wed, 2 Nov 2022 07:00:23 -0700 (PDT) Received: from jinankjain-dranzer.zrrkmle5drku1h0apvxbr2u2ee.ix.internal.cloudapp.net (unknown [20.188.121.5]) by linux.microsoft.com (Postfix) with ESMTPSA id 8863020B929F; Wed, 2 Nov 2022 07:00:19 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 8863020B929F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1667397623; bh=QDS071ByWL2Ky/RZhdG/Bn5KPQayXV/7JR1J8Lj5jZE=; h=From:To:Cc:Subject:Date:From; b=J7LFtD1EtoyIjvkmzKUkJLPgsuUE8hXEXuknMv6ldJ3EM1zD9dK+iCrGe+ShVUvbg g2Lbzsv3rs/flrYEjrccSpHfWb3ByAjmjDVM4DyrE06BXMxmP2IypjvfXBVO7+3iLc 5+hJYP+K1aAbUUmtE9EJQrC7jJIcIxQ2PYbfBXOo= From: Jinank Jain Cc: kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, arnd@arndb.de, peterz@infradead.org, jpoimboe@kernel.org, jinankjain@linux.microsoft.com, seanjc@google.com, kirill.shutemov@linux.intel.com, ak@linux.intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org Subject: [PATCH 0/6] Add support running nested Microsoft Hypervisor Date: Wed, 2 Nov 2022 14:00:11 +0000 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Spam-Status: No, score=-19.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748393268801564032?= X-GMAIL-MSGID: =?utf-8?q?1748393268801564032?= From: Jinank Jain This patch series plans to add support for running nested Microsoft Hypervisor. In case of nested Microsoft Hypervisor there are few privileged hypercalls which need to go L0 Hypervisor instead of L1 Hypervisor. This patches series basically identifies such hypercalls and replace them with nested hypercalls. Jinank Jain (6): mshv: Add support for detecting nested hypervisor hv: Setup synic registers in case of nested root partition hv: Set the correct EOM register in case of nested hypervisor hv: Add an interface to do nested hypercalls hv: Enable vmbus driver for nested root partition hv, mshv : Change interrupt vector for nested root partition arch/x86/include/asm/hyperv-tlfs.h | 17 ++++++++- arch/x86/include/asm/idtentry.h | 2 ++ arch/x86/include/asm/irq_vectors.h | 6 ++++ arch/x86/include/asm/mshyperv.h | 42 ++++++++++++++++++++--- arch/x86/kernel/cpu/mshyperv.c | 22 ++++++++++++ arch/x86/kernel/idt.c | 9 +++++ drivers/hv/hv.c | 55 ++++++++++++++++++------------ drivers/hv/vmbus_drv.c | 5 +-- include/asm-generic/hyperv-tlfs.h | 1 + include/asm-generic/mshyperv.h | 7 +++- 10 files changed, 137 insertions(+), 29 deletions(-)