From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B586CC48BC4 for ; Wed, 21 Feb 2024 02:29:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B39E6B0081; Tue, 20 Feb 2024 21:29:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1638D6B0087; Tue, 20 Feb 2024 21:29:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 029786B0089; Tue, 20 Feb 2024 21:29:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E5B5E6B0081 for ; Tue, 20 Feb 2024 21:29:26 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id AB5B840781 for ; Wed, 21 Feb 2024 02:29:26 +0000 (UTC) X-FDA: 81814229532.11.0812040 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) by imf09.hostedemail.com (Postfix) with ESMTP id 428B114000F for ; Wed, 21 Feb 2024 02:29:24 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WRvQrpS6; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf09.hostedemail.com: domain of binbin.wu@linux.intel.com has no SPF policy when checking 198.175.65.21) smtp.mailfrom=binbin.wu@linux.intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708482565; a=rsa-sha256; cv=none; b=EKUMLkGmWeHJC9sol7+P2YXkrOWeoJInrl+IMmkb1lsPtexTFxans/SDCmr8mbhDXPaqAD KXESP8BuYI3bhVj4HpQohDEtJcZxKl962wR8j69EhzUSeoqgLHIiIodVn80l58qER22O32 AgsZ8yeDoCsSlBWXd/+h4V7hjohcjKA= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WRvQrpS6; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf09.hostedemail.com: domain of binbin.wu@linux.intel.com has no SPF policy when checking 198.175.65.21) smtp.mailfrom=binbin.wu@linux.intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708482565; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oVLD2bU2eId6hnwGLZd21GxQPk7a0tfGVCylfbMollo=; b=r1VyWNU3JCSsoUZQLpsxoKcs7IN2Ip9SQsFykDBZsjFAmh/JSgO3aIM1t/9dBGK1hX+I+D ibX/st0jIJhcD/HtBS1tTAxYYEOzBK2D++Ja8cACQJ6H38oWMtC6BqEmRKwW9d9Arzyp4l pIUOYaF/7fXZID+qUjGBqDnSkrDQCqc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708482564; x=1740018564; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=gPPbnQYj1+eq6sPOlu7HUtlfxwyArBDBxuXKAwgAUJw=; b=WRvQrpS6n+ww79dTdiDy51jEfXFKQ8GR8vDrgsqJjtvFv2z5LNyttVGx BiD4CYaVdp8C7z5sBr3U195idrhyaAy7rsOzqrFk3cQ8j+6xWmMSLE4iz FKal5PUBfFtujOXxhbFHE39ig9BHnvdXzDB2P9O7GX8GhuQsm5hmJO8Bk 4QvE7D6+gbpBJ6PJnLfSDjMSh1ABB4+mjUPH6GXvtKEs4yo+yWLDlJXZF j6JIhW34xa7uMO5BuvuV4g2Yhk+ZFLmLdzXYT7qQQrQM6Nsr9BPfthcyP 7graTKXMD6AbNqiCJVYUhxBAG6eBQa9POw27jaQsZzfWzl0h/zJh2ad/F A==; X-IronPort-AV: E=McAfee;i="6600,9927,10990"; a="2533265" X-IronPort-AV: E=Sophos;i="6.06,174,1705392000"; d="scan'208";a="2533265" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Feb 2024 18:29:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,174,1705392000"; d="scan'208";a="5333435" Received: from binbinwu-mobl.ccr.corp.intel.com (HELO [10.93.18.46]) ([10.93.18.46]) by orviesa006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Feb 2024 18:29:18 -0800 Message-ID: Date: Wed, 21 Feb 2024 10:29:15 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v5 03/29] KVM: selftests: Store initial stack address in struct kvm_vcpu To: Sagi Shahar Cc: linux-kselftest@vger.kernel.org, Ackerley Tng , Ryan Afranji , Erdem Aktas , Isaku Yamahata , Sean Christopherson , Paolo Bonzini , Shuah Khan , Peter Gonda , Haibo Xu , Chao Peng , Vishal Annapurve , Roger Wang , Vipin Sharma , jmattson@google.com, dmatlack@google.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org References: <20231212204647.2170650-1-sagis@google.com> <20231212204647.2170650-4-sagis@google.com> From: Binbin Wu In-Reply-To: <20231212204647.2170650-4-sagis@google.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 428B114000F X-Stat-Signature: 13ogoyi4x5m36tmx63xtpufuum4zh7uj X-HE-Tag: 1708482564-241545 X-HE-Meta: U2FsdGVkX1/Ba1pDvJQsfvA5wOvN5mmr2u/pUeozpMujjCv7q62slpouZEaHWe87tDcNNjZRLLvhCHK3rjhfJ1sae3qYDpDtYEhCe7BgP1wxTgqsS05R9TMcVSdiy/696wYx5oxGdZRipcnx9dvtsU6oTDgPsHG5IEHXg8vuUeK3eqY2GOQYLzKrUu0b+aDJ1aZArMThyogEy66E2XSsKaGkVepJ2iFeFu6lh8LdaLhPzmynK8VxavBCO4znY21f7uCzXFlxe0Dz5+STkISSQXQpuPxNAAynwwncGRITWOVWki82R8agOjus6/94KEKGLG02hMVyXJvDLijYkjHrNH+liy5bVdjGOd3IMb8RVDLt0BY8wHhYY5Ot01G2nYjsOsYT+bvM2tYL/HRfJeXsg8Es2LEGn4aBnG4ZQoL1TUgHjWq0PSazE49ltyLkr3T09UBkDJQonCMurCQkO/N8fdeGRPWgPfnzUNnQk6Z5gcFEWYPfxxIwSOvDDDaG1mE+FmNIWbzbbfQ2T2KGIxoD/lZcCG6tEBbA2/DxxEfiCREL/Myc5IMIJZdTR/I3+Xjd2+EDT7+g3pkA7PBAUkvMjNIU0RfjqT2L86Qo8ljZoCWup9bHBBQ6n68C1WkZOssr2nhFKjIeA/EXdsda6CyyvUytNRUP1QvO34T4MW3DHuAoOxBj7t+98JulRK+D9fdZ4i0FY/D2lvc5R6nGz7XLok0o58TjusgQRmneVtSE1phXIr3FJnCr/p7nswJ0jntiEVYJyndYW+QMxlDCGtk39cwznJPuLl+ujGdU6ZC2GTePByxRNg65Jerl3f1h9f6thklM4neLUvy7Crsa6b74z2jPkjII/Fx525uOtVXYHWM8kCoF5o14YIZtrj4g+rMvULvyAjDv4RV/Jg8kjfIQNJv+ZihDaMQS X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 12/13/2023 4:46 AM, Sagi Shahar wrote: > From: Ackerley Tng > > TDX guests' registers cannot be initialized directly using > vcpu_regs_set(), hence the stack pointer needs to be initialized by > the guest itself, running boot code beginning at the reset vector. > > We store the stack address as part of struct kvm_vcpu so that it can > be accessible later to be passed to the boot code for rsp > initialization. > > Signed-off-by: Ackerley Tng > Signed-off-by: Ryan Afranji > Signed-off-by: Sagi Shahar > --- > tools/testing/selftests/kvm/include/kvm_util_base.h | 1 + > tools/testing/selftests/kvm/lib/x86_64/processor.c | 4 +++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/kvm/include/kvm_util_base.h b/tools/testing/selftests/kvm/include/kvm_util_base.h > index c2e5c5f25dfc..b353617fcdd1 100644 > --- a/tools/testing/selftests/kvm/include/kvm_util_base.h > +++ b/tools/testing/selftests/kvm/include/kvm_util_base.h > @@ -68,6 +68,7 @@ struct kvm_vcpu { > int fd; > struct kvm_vm *vm; > struct kvm_run *run; > + vm_vaddr_t initial_stack_addr; > #ifdef __x86_64__ > struct kvm_cpuid2 *cpuid; > #endif > diff --git a/tools/testing/selftests/kvm/lib/x86_64/processor.c b/tools/testing/selftests/kvm/lib/x86_64/processor.c > index f130f78a4974..b6b9438e0a33 100644 > --- a/tools/testing/selftests/kvm/lib/x86_64/processor.c > +++ b/tools/testing/selftests/kvm/lib/x86_64/processor.c > @@ -621,10 +621,12 @@ struct kvm_vcpu *vm_arch_vcpu_add(struct kvm_vm *vm, uint32_t vcpu_id, > vcpu_init_cpuid(vcpu, kvm_get_supported_cpuid()); > vcpu_setup(vm, vcpu); > > + vcpu->initial_stack_addr = stack_vaddr; > + > /* Setup guest general purpose registers */ > vcpu_regs_get(vcpu, ®s); > regs.rflags = regs.rflags | 0x2; > - regs.rsp = stack_vaddr; > + regs.rsp = vcpu->initial_stack_addr; Nit: No need to do this change. Reviewed-by: Binbin Wu > regs.rip = (unsigned long) guest_code; > vcpu_regs_set(vcpu, ®s); >