From nobody Wed May 15 18:31:30 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1711706854; cv=none; d=zohomail.com; s=zohoarc; b=W/d3gsDoDsX26G1x9jqHujJAJDC/zoPUvymntekAPV74YBPJpOHH543HLNOixlgz5ZEtlmLLbx7+TakAndlsF6jv2zrtZOISboo5clP69xpjwSluIok7IoAXHkffjXjAwOYU9v4WcqFJJ2VH9vsOF9vBxy+zXvJZhG44JmpgQx8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711706854; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ivMFL5Rn33eefe2VIJsrVfHS0hGDbP4Yyqh3Z/TK2eg=; b=H1Q0OcSouoELS7/L/ub6Sr0S9iwa70wWDD9cSYvX692pc70ZMDxBuJ8/5t24vMtv/g7sMqmK9DVJsAz5jB18Kg9MT3gMnqeVd4+fC/ftVvs0vmT1eu9J5kkt8/S4I1WlciJ/Ngbj4E2JKTRyAuL45DAktm0CuE5UEpl7hDe3w6s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1711706854013395.71845016222824; Fri, 29 Mar 2024 03:07:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rq97q-00024t-EC; Fri, 29 Mar 2024 06:06:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97n-00023W-2z for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:15 -0400 Received: from mgamail.intel.com ([192.198.163.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97l-000161-1N for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:14 -0400 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 03:06:10 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 29 Mar 2024 03:06:07 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711706773; x=1743242773; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tGavWDETP6FT06JEiwwRQmVvkPbXQlkwx2ajYdHWMAQ=; b=OYCt8IqBPr3WwTXvqdr6Gq8EN+AafBjpX893uWA4dMfMONfhrMSa+kby BKxRq1/8FXWyp/Kfvfu+sRh19OOEzP87Zj1s2jn8NjTscHt9yEA2uJCtH jS1R9/a3EwLTfIq83gGLvFTCKQdf5YOqX9ZA0UXu/M/Bd122pUMsHwutu lo0cj5cTFJVuhPKVhIlwdC/6jt57Ccm5kW3a2/gYddmczmC7Y6HVcIfnd qf5H685CKOIX3Qtihy+RxKOzdM3NxosFliA+YKUd2BK8kR8e4IU3NHGPb jj00wa3gCTgjD4YA5muRvmBk+XlKrCccUnva2TTldY6tm3aCyHAJ7w625 w==; X-CSE-ConnectionGUID: HLJIVqBmTJGFqJuYwuSHoA== X-CSE-MsgGUID: CRVuEC0ZTTOfGGPk235VCw== X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="17519197" X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="17519197" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="21441949" From: Zhao Liu To: Paolo Bonzini , Richard Henderson , Eduardo Habkost , "Michael S . Tsirkin" , Marcel Apfelbaum , Marcelo Tosatti , Igor Mammedov , Tim Wiederhake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhao Liu Subject: [PATCH for-9.1 1/7] target/i386/kvm: Add feature bit definitions for KVM CPUID Date: Fri, 29 Mar 2024 18:19:48 +0800 Message-Id: <20240329101954.3954987-2-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> References: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=192.198.163.11; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1711706854562100007 Content-Type: text/plain; charset="utf-8" From: Zhao Liu Add feature definiations for KVM_CPUID_FEATURES in CPUID ( CPUID[4000_0001].EAX and CPUID[4000_0001].EDX), to get rid of lots of offset calculations. Signed-off-by: Zhao Liu --- hw/i386/kvm/clock.c | 5 ++--- target/i386/cpu.h | 23 +++++++++++++++++++++++ target/i386/kvm/kvm.c | 28 ++++++++++++++-------------- 3 files changed, 39 insertions(+), 17 deletions(-) diff --git a/hw/i386/kvm/clock.c b/hw/i386/kvm/clock.c index 40aa9a32c32c..7c9752d5036f 100644 --- a/hw/i386/kvm/clock.c +++ b/hw/i386/kvm/clock.c @@ -27,7 +27,6 @@ #include "qapi/error.h" =20 #include -#include "standard-headers/asm-x86/kvm_para.h" #include "qom/object.h" =20 #define TYPE_KVM_CLOCK "kvmclock" @@ -334,8 +333,8 @@ void kvmclock_create(bool create_always) =20 assert(kvm_enabled()); if (create_always || - cpu->env.features[FEAT_KVM] & ((1ULL << KVM_FEATURE_CLOCKSOURCE) | - (1ULL << KVM_FEATURE_CLOCKSOURCE2))= ) { + cpu->env.features[FEAT_KVM] & (CPUID_FEAT_KVM_CLOCK | + CPUID_FEAT_KVM_CLOCK2)) { sysbus_create_simple(TYPE_KVM_CLOCK, -1, NULL); } } diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 83e473584517..b1b8d11cb0fe 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -27,6 +27,7 @@ #include "qapi/qapi-types-common.h" #include "qemu/cpu-float.h" #include "qemu/timer.h" +#include "standard-headers/asm-x86/kvm_para.h" =20 #define XEN_NR_VIRQS 24 =20 @@ -951,6 +952,28 @@ uint64_t x86_cpu_get_supported_feature_word(FeatureWor= d w, /* Packets which contain IP payload have LIP values */ #define CPUID_14_0_ECX_LIP (1U << 31) =20 +/* (Old) KVM paravirtualized clocksource */ +#define CPUID_FEAT_KVM_CLOCK (1U << KVM_FEATURE_CLOCKSOURCE) +/* (New) KVM specific paravirtualized clocksource */ +#define CPUID_FEAT_KVM_CLOCK2 (1U << KVM_FEATURE_CLOCKSOURCE2) +/* KVM asynchronous page fault */ +#define CPUID_FEAT_KVM_ASYNCPF (1U << KVM_FEATURE_ASYNC_PF) +/* KVM stolen (when guest vCPU is not running) time accounting */ +#define CPUID_FEAT_KVM_STEAL_TIME (1U << KVM_FEATURE_STEAL_TIME) +/* KVM paravirtualized end-of-interrupt signaling */ +#define CPUID_FEAT_KVM_PV_EOI (1U << KVM_FEATURE_PV_EOI) +/* KVM paravirtualized spinlocks support */ +#define CPUID_FEAT_KVM_PV_UNHALT (1U << KVM_FEATURE_PV_UNHALT) +/* KVM host-side polling on HLT control from the guest */ +#define CPUID_FEAT_KVM_POLL_CONTROL (1U << KVM_FEATURE_POLL_CONTROL) +/* KVM interrupt based asynchronous page fault*/ +#define CPUID_FEAT_KVM_ASYNCPF_INT (1U << KVM_FEATURE_ASYNC_PF_INT) +/* KVM 'Extended Destination ID' support for external interrupts */ +#define CPUID_FEAT_KVM_MSI_EXT_DEST_ID (1U << KVM_FEATURE_MSI_EXT_DEST_ID) + +/* Hint to KVM that vCPUs expect never preempted for an unlimited time */ +#define CPUID_FEAT_KVM_HINTS_REALTIME (1U << KVM_HINTS_REALTIME) + /* CLZERO instruction */ #define CPUID_8000_0008_EBX_CLZERO (1U << 0) /* Always save/restore FP error pointers */ diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index e68cbe929302..2f3c8bc3a4ed 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -481,13 +481,13 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, ui= nt32_t function, * be enabled without the in-kernel irqchip */ if (!kvm_irqchip_in_kernel()) { - ret &=3D ~(1U << KVM_FEATURE_PV_UNHALT); + ret &=3D ~CPUID_FEAT_KVM_PV_UNHALT; } if (kvm_irqchip_is_split()) { - ret |=3D 1U << KVM_FEATURE_MSI_EXT_DEST_ID; + ret |=3D CPUID_FEAT_KVM_MSI_EXT_DEST_ID; } } else if (function =3D=3D KVM_CPUID_FEATURES && reg =3D=3D R_EDX) { - ret |=3D 1U << KVM_HINTS_REALTIME; + ret |=3D CPUID_FEAT_KVM_HINTS_REALTIME; } =20 return ret; @@ -3324,20 +3324,20 @@ static int kvm_put_msrs(X86CPU *cpu, int level) kvm_msr_entry_add(cpu, MSR_IA32_TSC, env->tsc); kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, env->system_time_msr); kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, env->wall_clock_msr); - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_ASYNC_PF_INT)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF_INT) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_INT, env->async_pf_int= _msr); } - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_ASYNC_PF)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_EN, env->async_pf_en_m= sr); } - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_PV_EOI)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_PV_EOI) { kvm_msr_entry_add(cpu, MSR_KVM_PV_EOI_EN, env->pv_eoi_en_msr); } - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_STEAL_TIME)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_STEAL_TIME) { kvm_msr_entry_add(cpu, MSR_KVM_STEAL_TIME, env->steal_time_msr= ); } =20 - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_POLL_CONTROL)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_POLL_CONTROL) { kvm_msr_entry_add(cpu, MSR_KVM_POLL_CONTROL, env->poll_control= _msr); } =20 @@ -3789,19 +3789,19 @@ static int kvm_get_msrs(X86CPU *cpu) #endif kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, 0); kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, 0); - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_ASYNC_PF_INT)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF_INT) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_INT, 0); } - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_ASYNC_PF)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_EN, 0); } - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_PV_EOI)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_PV_EOI) { kvm_msr_entry_add(cpu, MSR_KVM_PV_EOI_EN, 0); } - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_STEAL_TIME)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_STEAL_TIME) { kvm_msr_entry_add(cpu, MSR_KVM_STEAL_TIME, 0); } - if (env->features[FEAT_KVM] & (1 << KVM_FEATURE_POLL_CONTROL)) { + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_POLL_CONTROL) { kvm_msr_entry_add(cpu, MSR_KVM_POLL_CONTROL, 1); } if (has_architectural_pmu_version > 0) { @@ -5434,7 +5434,7 @@ uint64_t kvm_swizzle_msi_ext_dest_id(uint64_t address) return address; } env =3D &X86_CPU(first_cpu)->env; - if (!(env->features[FEAT_KVM] & (1 << KVM_FEATURE_MSI_EXT_DEST_ID))) { + if (!(env->features[FEAT_KVM] & CPUID_FEAT_KVM_MSI_EXT_DEST_ID)) { return address; } =20 --=20 2.34.1 From nobody Wed May 15 18:31:30 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1711706856; cv=none; d=zohomail.com; s=zohoarc; b=VFj5YsG96jTEkknJgG7y0ACnv4D6YLGntcITbVLBq8SBFZySaTFn5X7A9E4BC/0f8JfKXKLRW4i10sh+TBGUznU99uCzEOi6pjU0zebru7QLH8dRYOaOS21jm5Lw96kqrv5CgpKr0kEOfhU1Oj7cD8w/ZnsoPk8Ra7mgh1fBTh4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711706856; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oclP5L9kXLoOxJXuVRyy7bsXVlTsROsWc/O4dLREkZ8=; b=BmvFJXxe0C1/gZX3XeRWNUCZoRuUyHf9pgQmzvCfrOm3gLCzrLUU0oQB0TAtsbfRSFcY1Ovwob7mVw+UkSpm9y4NIlwMFfGjoeB/FsLTFfPeE7vGmt5NXlstaRfM1I7WaWWlJfXvJ0kPxRVg180XBDpl6c9Dg0l6roBF59YEeW8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17117068565241015.7637586286859; Fri, 29 Mar 2024 03:07:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rq97r-000255-5d; Fri, 29 Mar 2024 06:06:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97o-000240-4n for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:16 -0400 Received: from mgamail.intel.com ([192.198.163.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97m-00016H-4U for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:15 -0400 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 03:06:13 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 29 Mar 2024 03:06:10 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711706774; x=1743242774; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nNPyld0ZVjtOrEm2t2CP+87Iy7y4IZ/jnSqhCZUWB2k=; b=HwP8qpl6a5Fdwp0v5jko3KVbky6jamLcOuNb/o/KtZLeojzFIRVG/sy9 l6ilhkxC0ODdO2U/PaJpneOe/jxaJe2vsBXYIhFhklpNVY0hMK584Fxgn nHzhivkLUWyXMYE/B2GcgyjYRgVtxQyQzzrw/zW0ftG2QutlvuAVHOY1s ynPbD+IJZ9YGcGUfRjw1blUBzBEpz7nwjAbO3MnhK4mhHKn3DP6bfEBiA /kpnF0A172XY6V2jsRyaNa1rjhhW9l4iaGQ+1b1rK/VC6jz1ubl6SR4vn LPkHy35J0uzh1I0ZgZVVZpy3ou7dHV6//zdIXd9HzICBoKp3ReAXeEdub A==; X-CSE-ConnectionGUID: +ZgT7TmWS2yjTU4B8VJOIQ== X-CSE-MsgGUID: VxhRvCqtTtWei8qzY2Z9Gg== X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="17519213" X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="17519213" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="21441964" From: Zhao Liu To: Paolo Bonzini , Richard Henderson , Eduardo Habkost , "Michael S . Tsirkin" , Marcel Apfelbaum , Marcelo Tosatti , Igor Mammedov , Tim Wiederhake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhao Liu Subject: [PATCH for-9.1 2/7] target/i386/kvm: Remove local MSR_KVM_WALL_CLOCK and MSR_KVM_SYSTEM_TIME definitions Date: Fri, 29 Mar 2024 18:19:49 +0800 Message-Id: <20240329101954.3954987-3-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> References: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=192.198.163.11; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1711706858261100001 Content-Type: text/plain; charset="utf-8" From: Zhao Liu These 2 MSRs have been already defined in the kvm_para header (standard-headers/asm-x86/kvm_para.h). Remove QEMU local definitions to avoid duplication. Signed-off-by: Zhao Liu Reviewed-by: Xiaoyao Li --- target/i386/kvm/kvm.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 2f3c8bc3a4ed..be88339fb8bd 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -78,9 +78,6 @@ #define KVM_APIC_BUS_CYCLE_NS 1 #define KVM_APIC_BUS_FREQUENCY (1000000000ULL / KVM_APIC_BUS_CYCLE_NS) =20 -#define MSR_KVM_WALL_CLOCK 0x11 -#define MSR_KVM_SYSTEM_TIME 0x12 - /* A 4096-byte buffer can hold the 8-byte kvm_msrs header, plus * 255 kvm_msr_entry structs */ #define MSR_BUF_SIZE 4096 --=20 2.34.1 From nobody Wed May 15 18:31:30 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1711706872; cv=none; d=zohomail.com; s=zohoarc; b=nsWz1d0noqi1oSKBz7MthNBC1qxslQLDUF5gmv8iEn85n7JnTjmrYXkjJym95Z/lkGTkyF/pkKCn45VsGvPQvIk67PFs7W+8X8pswBLdfEFReNLFWQiFk4SCj1gXzlYebDj0AVoEdtKIMcbJdkaDzQe6f2p/5yz8PB2896psbBM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711706872; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7rrI24k8ZEhgiu/cA1jdWKT26tcIOgaXNGJUxTdA9HY=; b=DTXxxDLmYYF0kAh/fWXneWTfS6qainkEEvFlY3HLITOafrh3BxaqMkJmIBi7DznXCxNRJ+PUOf2Ad75K+6CRgyzLStykmQXXyO6V/wAvTwUqFCARH59KWYqFXE5Wo5Cs89C2zbfS3TDh3OS+AX66HGptTuYqlONsMsU1cvw21qA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1711706872440571.1870064927983; Fri, 29 Mar 2024 03:07:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rq97r-00025T-Ss; Fri, 29 Mar 2024 06:06:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97q-00024v-Ik for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:18 -0400 Received: from mgamail.intel.com ([192.198.163.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97o-00016H-Rt for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:18 -0400 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 03:06:16 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 29 Mar 2024 03:06:13 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711706777; x=1743242777; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=YsoWb/M4LNq8Md17vTgsxsQeQ69Hei3aqAO+226S55Q=; b=Vk7+KaYRFJ7aht//dKbFUdsw5DyVOBHpyLQnHDo6x1IRJw4QNFj9qJ4c 6kGnxlGa7FWraAHyUdGWJRdW+jYkOk/sulfpOnyIM5/oo2OiO6yUwdR3L MysdJwv9TTlJG7WXa0n42Tsgzqd4l+wS/IjEaH4qqWSCWBy3/lm8uuSZn W6AJhCaB1l2N4YEGNNZR5McL0cBcXhfY8PUt3XEB2N5/rMSV4i/Dj3xW7 H8FuKMJP3SatNmbjUDVMjCgKDpGRVmQiq8fmIFTudMIeAPN79FEwk9AGl lBYpYCIv5p+XigJHhMBUxS1ASU9bsX0Gfv5hFzMN/wDEMvJYwq0boaCGT g==; X-CSE-ConnectionGUID: pUie6QQIT1uMO/LNV9Vl+w== X-CSE-MsgGUID: fJ9Kz+epRWu/j7LpVg+jZw== X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="17519219" X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="17519219" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="21441971" From: Zhao Liu To: Paolo Bonzini , Richard Henderson , Eduardo Habkost , "Michael S . Tsirkin" , Marcel Apfelbaum , Marcelo Tosatti , Igor Mammedov , Tim Wiederhake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhao Liu Subject: [PATCH for-9.1 3/7] target/i386/kvm: Only Save/load kvmclock MSRs when kvmclock enabled Date: Fri, 29 Mar 2024 18:19:50 +0800 Message-Id: <20240329101954.3954987-4-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> References: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=192.198.163.11; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1711706874304100007 Content-Type: text/plain; charset="utf-8" From: Zhao Liu MSR_KVM_SYSTEM_TIME and MSR_KVM_WALL_CLOCK are attached with the (old) kvmclock feature (KVM_FEATURE_CLOCKSOURCE). So, just save/load them only when kvmclock (KVM_FEATURE_CLOCKSOURCE) is enabled. Signed-off-by: Zhao Liu --- target/i386/kvm/kvm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index be88339fb8bd..498580d60c3b 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -3319,8 +3319,10 @@ static int kvm_put_msrs(X86CPU *cpu, int level) */ if (level >=3D KVM_PUT_RESET_STATE) { kvm_msr_entry_add(cpu, MSR_IA32_TSC, env->tsc); - kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, env->system_time_msr); - kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, env->wall_clock_msr); + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_CLOCK) { + kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, env->system_time_m= sr); + kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, env->wall_clock_msr= ); + } if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF_INT) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_INT, env->async_pf_int= _msr); } @@ -3784,8 +3786,10 @@ static int kvm_get_msrs(X86CPU *cpu) kvm_msr_entry_add(cpu, MSR_LSTAR, 0); } #endif - kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, 0); - kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, 0); + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_CLOCK) { + kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, 0); + kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, 0); + } if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF_INT) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_INT, 0); } --=20 2.34.1 From nobody Wed May 15 18:31:30 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1711706854; cv=none; d=zohomail.com; s=zohoarc; b=ZuU5zUdMv7oU850N8gooHoVZnhTOkRETturH/768XVxrwWd3o59RWuzKxaDLKndJcAqXUu+GRQy+gLSe4PqA9DA4UcXBm74/nxUU1B+P0L7fTBhwTgWIs7Gr48KJEgcqpvgwZ/B4GipXpzT7p8XyeaGS+IeOXaawX508PBusjIw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711706854; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uoxAASY1Cv4qGVlyGr+JAuTaywnoF2E7dVWy7jM3TgY=; b=TuPsYusJrck4pjonFyZK5D1WlkBVRX51otTj7cei9o6v9+QMSg8308lGWPaPmjMuo6PgELbnhXx8yv04vyqdI/9MvJP8NbwFYTG7ipcg5oUB47wmGybhCyrwkVD6863e8mT+WeMNhqk1A7PE5i3xpwMHWGSBO/yX1r9DsJMhUcM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1711706854444820.9301308116925; Fri, 29 Mar 2024 03:07:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rq97u-00025k-MV; Fri, 29 Mar 2024 06:06:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97t-00025b-AH for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:21 -0400 Received: from mgamail.intel.com ([192.198.163.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97r-00017E-Rh for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:21 -0400 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 03:06:18 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 29 Mar 2024 03:06:15 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711706780; x=1743242780; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CPFiTV9kwMUtT6nXjgynyO/zl1aHyjo5L0Y6/sSk7Tg=; b=Bmsk2/6B9qzjR0g53W0MsC4RivRBMOv74Y3yYU37o4Flr5tyKNBJPg7w AMLvyfJJzp2nXa/Dv226Bledql3UJkyIOsZKzfJcd4gOnNoKLqH/XrMpy W8d3bWwNoy5i2jOp/H4MTibkBvUS6l8s69CNIVN7+JauliePa/PG5Xvxa nRJWO4o0Xw7EdAToJCEs7nXEIvCQWKUBNs6tJc2P5qTmqzkd5lrz+bs3i I2D3vWO7uTiO8840yK4sydjE9jCAeMChTRSehhkeUv7ZbnhB3gd9OnBYe PjVoHk4qV+De+x6ptC4SYYnxlp2z/FmTHQ8noqpu0Cb2qBXEyjSvW8fGa A==; X-CSE-ConnectionGUID: Gle+EadTQbeohNrzUUX+/w== X-CSE-MsgGUID: Jyi/iDVeQHWzhKJ/YLHKqw== X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="17519227" X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="17519227" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="21441975" From: Zhao Liu To: Paolo Bonzini , Richard Henderson , Eduardo Habkost , "Michael S . Tsirkin" , Marcel Apfelbaum , Marcelo Tosatti , Igor Mammedov , Tim Wiederhake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhao Liu Subject: [PATCH for-9.1 4/7] target/i386/kvm: Save/load MSRs of new kvmclock (KVM_FEATURE_CLOCKSOURCE2) Date: Fri, 29 Mar 2024 18:19:51 +0800 Message-Id: <20240329101954.3954987-5-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> References: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=192.198.163.11; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1711706864290100002 Content-Type: text/plain; charset="utf-8" From: Zhao Liu MSR_KVM_SYSTEM_TIME_NEW and MSR_KVM_WALL_CLOCK_NEW are bound to new kvmclock (KVM_FEATURE_CLOCKSOURCE2). Add the save/load support for these 2 MSRs. Signed-off-by: Zhao Liu --- target/i386/cpu.h | 2 ++ target/i386/kvm/kvm.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/target/i386/cpu.h b/target/i386/cpu.h index b1b8d11cb0fe..b339f9ce454f 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1741,6 +1741,8 @@ typedef struct CPUArchState { =20 uint64_t system_time_msr; uint64_t wall_clock_msr; + uint64_t system_time_new_msr; + uint64_t wall_clock_new_msr; uint64_t steal_time_msr; uint64_t async_pf_en_msr; uint64_t async_pf_int_msr; diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 498580d60c3b..4a6bf0581859 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -3323,6 +3323,12 @@ static int kvm_put_msrs(X86CPU *cpu, int level) kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, env->system_time_m= sr); kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, env->wall_clock_msr= ); } + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_CLOCK2) { + kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME_NEW, + env->system_time_new_msr); + kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK_NEW, + env->wall_clock_new_msr); + } if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF_INT) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_INT, env->async_pf_int= _msr); } @@ -3790,6 +3796,10 @@ static int kvm_get_msrs(X86CPU *cpu) kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, 0); kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, 0); } + if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_CLOCK2) { + kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME_NEW, 0); + kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK_NEW, 0); + } if (env->features[FEAT_KVM] & CPUID_FEAT_KVM_ASYNCPF_INT) { kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_INT, 0); } @@ -4029,6 +4039,12 @@ static int kvm_get_msrs(X86CPU *cpu) case MSR_KVM_WALL_CLOCK: env->wall_clock_msr =3D msrs[i].data; break; + case MSR_KVM_SYSTEM_TIME_NEW: + env->system_time_new_msr =3D msrs[i].data; + break; + case MSR_KVM_WALL_CLOCK_NEW: + env->wall_clock_new_msr =3D msrs[i].data; + break; case MSR_MCG_STATUS: env->mcg_status =3D msrs[i].data; break; --=20 2.34.1 From nobody Wed May 15 18:31:30 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1711706854; cv=none; d=zohomail.com; s=zohoarc; b=aUNxWz0K67StgAfs/rkq676Dj/18iMXHrl1nR4ayx4KsAm+CiM1trqOZqYTJvHVAfYEvj4c8p2V+TSew/gzQJS/gFH4luCphZUm2GhGGgBat4ao1Fzwc1LLUa/S19SLVHISspF3ywJSZ6r0Vj7lzWG21+PsveFHn8lIsV848QdU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711706854; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Rlu77tvkacjEklLxBRMXqYcphLbn8C2dKUzLPtCCrhU=; b=ZWil2nGWHfrSEcB/qpgy2rHIpEMlvpo4NAq0PO/fUyfiXdvniZgkCMZG1JK0a8iv58vQ2HAUoiynRm3NzRY9cmaH8RIqFbojYBfPvAYurXryRv1mY+AT2bww6c6QZGxnUk0gEILXqKkNuMHRZ0HOvQxOY+fEMUxPCwO7ri/e/v0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1711706854034534.7193616173685; Fri, 29 Mar 2024 03:07:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rq984-00028X-77; Fri, 29 Mar 2024 06:06:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97v-000262-If for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:24 -0400 Received: from mgamail.intel.com ([192.198.163.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97t-00017E-U5 for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:23 -0400 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 03:06:21 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 29 Mar 2024 03:06:18 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711706782; x=1743242782; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UcXLu1O/drx9QFOgVCmPf+BlIYW0CAl3F27Dh66GxMI=; b=iogve1bM+Lp77JnRIE20WJQO288rF8TT0vyreI1OOUIrpm/hKyp23jjE z0cM8bAsO32qrm5uB8hlo8sv2Z+EbqRabfsE61nTEdiT1wi9nzeStc7HN tyA1PdzvZFnN0jtUFEkom93BnE+sVKXOeIjmOShkEXLBVu7AnmEfCPuMF PPFy+0k5HKQNBro0zYB2EKZFgcMqYWdzT3zeQp4KCp1iVpIQwKx/qnhvo OtbEbf1RenpwBLV4amjrGcjtVArYvulf5Ja742OGLrwyddTaxA5ejFweg LzP4jov5TYY1bLgM7apTkOhk2sxeXM/iBQys2WbxyksJ3HEJL8wv6XJYM g==; X-CSE-ConnectionGUID: 9qAqpmpHQEWGk/BKgUFQCw== X-CSE-MsgGUID: pwgK1xUZREeHVletxidvhg== X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="17519233" X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="17519233" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="21441978" From: Zhao Liu To: Paolo Bonzini , Richard Henderson , Eduardo Habkost , "Michael S . Tsirkin" , Marcel Apfelbaum , Marcelo Tosatti , Igor Mammedov , Tim Wiederhake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhao Liu Subject: [PATCH for-9.1 5/7] target/i386/kvm: Add legacy_kvmclock cpu property Date: Fri, 29 Mar 2024 18:19:52 +0800 Message-Id: <20240329101954.3954987-6-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> References: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=192.198.163.11; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1711706854533100003 Content-Type: text/plain; charset="utf-8" From: Zhao Liu Currently, the old kvmclock (KVM_FEATURE_CLOCKSOURCE) and the new (KVM_FEATURE_CLOCKSOURCE2) are always set/unset together since they have the same feature name "kvmclock" since the commit 642258c6c7 ("kvm: add kvmclock to its second bit"). Before renaming the new kvmclock, introduce legacy_kvmclock to inherit the behavior of both old and new kvmclocks being enabled/disabled at the same time. Signed-off-by: Zhao Liu --- hw/i386/pc.c | 1 + target/i386/cpu.c | 1 + target/i386/cpu.h | 7 +++++++ target/i386/kvm/kvm-cpu.c | 19 +++++++++++++++++++ 4 files changed, 28 insertions(+) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 9c4b3969cc8a..a452da0a45a1 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -80,6 +80,7 @@ =20 GlobalProperty pc_compat_9_0[] =3D { { TYPE_X86_CPU, "guest-phys-bits", "0" }, + { TYPE_X86_CPU, "legacy-kvmclock", "true" }, }; const size_t pc_compat_9_0_len =3D G_N_ELEMENTS(pc_compat_9_0); =20 diff --git a/target/i386/cpu.c b/target/i386/cpu.c index eef3d08473ed..1b6caf071a6d 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -7941,6 +7941,7 @@ static Property x86_cpu_properties[] =3D { */ DEFINE_PROP_BOOL("legacy-cache", X86CPU, legacy_cache, true), DEFINE_PROP_BOOL("xen-vapic", X86CPU, xen_vapic, false), + DEFINE_PROP_BOOL("legacy-kvmclock", X86CPU, legacy_kvmclock, false), =20 /* * From "Requirements for Implementing the Microsoft diff --git a/target/i386/cpu.h b/target/i386/cpu.h index b339f9ce454f..b3ee2a35f2c1 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -2070,6 +2070,13 @@ struct ArchCPU { int32_t hv_max_vps; =20 bool xen_vapic; + + /* + * Compatibility bits for old machine types. + * If true, always set/unset KVM_FEATURE_CLOCKSOURCE and + * KVM_FEATURE_CLOCKSOURCE2 at the same time. + */ + bool legacy_kvmclock; }; =20 typedef struct X86CPUModel X86CPUModel; diff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c index e6b7a46743b5..ae3cb27c8aa8 100644 --- a/target/i386/kvm/kvm-cpu.c +++ b/target/i386/kvm/kvm-cpu.c @@ -18,6 +18,8 @@ #include "kvm_i386.h" #include "hw/core/accel-cpu.h" =20 +#include "standard-headers/asm-x86/kvm_para.h" + static void kvm_set_guest_phys_bits(CPUState *cs) { X86CPU *cpu =3D X86_CPU(cs); @@ -72,6 +74,23 @@ static bool kvm_cpu_realizefn(CPUState *cs, Error **errp) MSR_IA32_UCODE_REV); } } + + if (cpu->legacy_kvmclock) { + /* + * The old and new kvmclock are both set by default from the + * oldest KVM supported (v4.5, see "OS requirements" section at + * docs/system/target-i386.rst). So when one of them is missing, + * it is only possible that the user is actively masking it. + * Then, mask both at the same time for compatibility with v9.0 + * and older QEMU's kvmclock behavior. + */ + if (!(env->features[FEAT_KVM] & CPUID_FEAT_KVM_CLOCK) || + !(env->features[FEAT_KVM] & CPUID_FEAT_KVM_CLOCK2)) { + env->features[FEAT_KVM] &=3D ~(CPUID_FEAT_KVM_CLOCK | + CPUID_FEAT_KVM_CLOCK2); + } + } + ret =3D host_cpu_realizefn(cs, errp); if (!ret) { return ret; --=20 2.34.1 From nobody Wed May 15 18:31:30 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1711706869; cv=none; d=zohomail.com; s=zohoarc; b=RhFOrJwF+YgF/ZqvBoE+3ELFn4MODSlPFzoAQGHGZRvdtGJ68Su1QFGPTZ0ZNc9Mnn4kV647q6eO7rseqFNUwjAMIkmwRWd6reEiQVxoA7QpIQdQcdZv+m5qQqx0JCm+tcoofyuc+Vt9mzxEZe++C0oJtdYZaXjhqHYqk2tsGwc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711706869; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hWK9o/RuVSsKUpbrsmcuwcrx/s9ox5FKSCJ29DOYcWU=; b=EwEOW7tZ9DNMPLkaXdqbQqfieXBtVNIXMFlXVsmf2+FM8yG2tWK/gE++/oT9AZGTjo7DPKJxr8qO6jCnVjGcd3QLxlw5PZUIdebxOSmwPP9Jta3IEznRQFg5VJb8IAS2PFNVoWFzc1kXxpcmFydQDTRdhDRnGxMXNAWuSbdQ0aY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1711706869583822.035041405888; Fri, 29 Mar 2024 03:07:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rq98A-000296-3h; Fri, 29 Mar 2024 06:06:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97z-00026W-2A for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:28 -0400 Received: from mgamail.intel.com ([192.198.163.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97x-00017E-82 for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:26 -0400 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 03:06:24 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 29 Mar 2024 03:06:21 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711706785; x=1743242785; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5YnpqPAXnQgSLnwyieSH2PQh+ZNUxgYyQ1OBV3sT/yg=; b=Ka4xH/kX4X2LeMFlVTPn+SbJM/A4y8rjnNtiknOGmvk69t+r7JBpVF4u PLAlxl3wM47rlQwsA+FA7ClsNTMCIe1vVGxr4Akv8+cqBSLPM2oGwfZNQ BKElJtTg0HH4DsqiscZdlBM82f//7/gcnilfomIsPDUtpGM9YbwXDMU3j xMC+NJF0REL+dq9Gqk/EhZXdIgAdEgoToejqXjvVkvIlvBy8O6/x1fKxx WSwnnl0RfRZDBiMWzj3fSj3hHwn57smk8umTcpwq45QwlEnROf+aETYYB tm6HAfew4s7ap0cQvSCdQKdQO1mGgtK5Tznlla55rL9B0iK6+gmHfDm6a Q==; X-CSE-ConnectionGUID: vbpDncvrSDy7HeD5LYWovA== X-CSE-MsgGUID: p5+2ZrGCQICvTxR76/Cpcw== X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="17519239" X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="17519239" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="21441985" From: Zhao Liu To: Paolo Bonzini , Richard Henderson , Eduardo Habkost , "Michael S . Tsirkin" , Marcel Apfelbaum , Marcelo Tosatti , Igor Mammedov , Tim Wiederhake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhao Liu Subject: [PATCH for-9.1 6/7] target/i386: Fix duplicated kvmclock name in FEAT_KVM Date: Fri, 29 Mar 2024 18:19:53 +0800 Message-Id: <20240329101954.3954987-7-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> References: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=192.198.163.11; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1711706870335100001 Content-Type: text/plain; charset="utf-8" From: Tim Wiederhake The commit 642258c6c7 ("kvm: add kvmclock to its second bit") gave the old and new kvmclocks with the same name "kvmclock", to facilitate user to set/unset the feature bits for both 2 kvmclock features together. This could work because: * QEMU side: - x86_cpu_register_bit_prop() supports "the same property name can be registered multiple times to make it affect multiple bits in the same FeatureWord". * KVM side: - The only difference between 2 version kvmclocks is their MSRs have different addresses. - When 2 kvmclocks are both enabled, KVM will prioritize the use of new kvmclock's MSRs. However, there're reasons we need give the second kvmclock a new name: * Based on the KVM mechanism, it doesn't make sense to bind two kvmclocks together. Since kvmclock is enabled by default in most cases as a KVM PV feature, the benefit of the same naming is reflected in the fact that -kvmclock can disable both. But, following the KVM interface style (i.e., separating the two kvmclocks) is clearly clearer to the user. * For developers, identical names have been creating confusion along with persistent doubts about the naming. * FeatureWordInfo should define names based on hardware/Host CPUID bit, and the name is used to distinguish the bit. * User actions based on +/- feature names should only work on independent feature bits. The common effect of multiple features should be controlled by an additional CPU property or additional code logic to show the association between different feature bits. * The old kvmclock will eventually be removed. Different naming can ease the burden of future cleanups. Therefore, rename the new kvmclock feature as "kvmclock2". Additionally, add "kvmclock2" entry in kvm_default_props[] since the oldest kernel supported by QEMU (v4.5) has supported the new kvm clock. Signed-off-by: Tim Wiederhake Signed-off-by: Zhao Liu --- Based on Tim's original patch, rewrote the commit message and added the tiny fix for compatibility. --- target/i386/cpu.c | 2 +- target/i386/kvm/kvm-cpu.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 1b6caf071a6d..0a1dac60f5de 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -855,7 +855,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { [FEAT_KVM] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { - "kvmclock", "kvm-nopiodelay", "kvm-mmu", "kvmclock", + "kvmclock", "kvm-nopiodelay", "kvm-mmu", "kvmclock2", "kvm-asyncpf", "kvm-steal-time", "kvm-pv-eoi", "kvm-pv-unhalt", NULL, "kvm-pv-tlb-flush", "kvm-asyncpf-vmexit", "kvm-pv-ipi", "kvm-poll-control", "kvm-pv-sched-yield", "kvm-asyncpf-int", "= kvm-msi-ext-dest-id", diff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c index ae3cb27c8aa8..753f90c18bd6 100644 --- a/target/i386/kvm/kvm-cpu.c +++ b/target/i386/kvm/kvm-cpu.c @@ -77,7 +77,7 @@ static bool kvm_cpu_realizefn(CPUState *cs, Error **errp) =20 if (cpu->legacy_kvmclock) { /* - * The old and new kvmclock are both set by default from the + * The kvmclock and kvmclock2 are both set by default from the * oldest KVM supported (v4.5, see "OS requirements" section at * docs/system/target-i386.rst). So when one of them is missing, * it is only possible that the user is actively masking it. @@ -179,6 +179,7 @@ static void kvm_cpu_xsave_init(void) */ static PropValue kvm_default_props[] =3D { { "kvmclock", "on" }, + { "kvmclock2", "on" }, { "kvm-nopiodelay", "on" }, { "kvm-asyncpf", "on" }, { "kvm-steal-time", "on" }, --=20 2.34.1 From nobody Wed May 15 18:31:30 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1711706854; cv=none; d=zohomail.com; s=zohoarc; b=cjMfXrafxXPB0bhSp6rbdbup+hE0ZGZbsalNoAId7Luz5a/ABkuIXBZQ1NDXA7kkuR3w63SxRlhv9KXV8Lbictr6y77wGFb37gea/7bwszDk/mTK+qhCRjA2gc4rMOauAdOnd0DWJtwYwZ9DfAs7CypyVBH5wj2Tcr0EujMh4lY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1711706854; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lL11TlE3s73wKR3Lj80w6uMKVocMMwPmuVsQiKVWVSo=; b=cmueFy0ONDJo8lmBUzcHNoXJeMGYhE+PvS9740HQD7sITLsSJgxmPj7zxL+iIGj7hlMQ6kZa37wFSbeEEyCV48qg9mVjr2LFZTKBMe2zk1J6TKnMRgjGK3s864E0bm+88o5eoxTYx4/BqiNbj6ETtvrY+qu1ecMYA5IFIhz3Ruo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1711706854043368.99863616980053; Fri, 29 Mar 2024 03:07:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rq98A-00029V-Oa; Fri, 29 Mar 2024 06:06:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq982-00028e-JA for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:32 -0400 Received: from mgamail.intel.com ([192.198.163.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rq97z-00017E-Qp for qemu-devel@nongnu.org; Fri, 29 Mar 2024 06:06:29 -0400 Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 03:06:27 -0700 Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36]) by fmviesa003.fm.intel.com with ESMTP; 29 Mar 2024 03:06:24 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711706788; x=1743242788; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=EAlsIr9gV/OWidz8nIWqoCkuvpdnZz9VytfSWf5d/ic=; b=Dpotuzxdo6Vyu2HEjqBd3RpQCqHBZRSarfiC/GRaHdyHPBtPvAGT5/Jl ML7JRaWnQffkjOEjJBASMeUBMFd5bANeTSkN1j0QAndLZmtWcHU96toC1 OtZV5y2Gic6wX/4pcXl4ODh3N790B74t2jNSZ+Mu75gXVxQspmaY2PNYE to6KiEuX1RdXaLmYoHUmobzGUQtG/mKjNgugrwZxvBdGls1wB7Q1br6BP 2lNgJX3F8DCHwj0fHnEV0J4G1k0KL9uq23BjagzhFYBoxDqMJDZEtbo74 6SHEnE/KOt4cmTSRD/LNlrdoGZTs7+Bpx+zX909LiroUBEgQ100hhPN6x Q==; X-CSE-ConnectionGUID: 9put4kvVTDSLMrXDPPBjqw== X-CSE-MsgGUID: y01UVaM6TgWc0uP3Y2p0Ew== X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="17519246" X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="17519246" X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,164,1708416000"; d="scan'208";a="21441989" From: Zhao Liu To: Paolo Bonzini , Richard Henderson , Eduardo Habkost , "Michael S . Tsirkin" , Marcel Apfelbaum , Marcelo Tosatti , Igor Mammedov , Tim Wiederhake Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, Zhao Liu Subject: [PATCH for-9.1 7/7] target/i386/kvm: Update comment in kvm_cpu_realizefn() Date: Fri, 29 Mar 2024 18:19:54 +0800 Message-Id: <20240329101954.3954987-8-zhao1.liu@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> References: <20240329101954.3954987-1-zhao1.liu@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=192.198.163.11; envelope-from=zhao1.liu@linux.intel.com; helo=mgamail.intel.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1711706854516100001 Content-Type: text/plain; charset="utf-8" From: Zhao Liu With the guest_phys_bits and legacy_kvmclock change, update the comment about function call flow. Signed-off-by: Zhao Liu --- target/i386/kvm/kvm-cpu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c index 753f90c18bd6..5b48b023c33b 100644 --- a/target/i386/kvm/kvm-cpu.c +++ b/target/i386/kvm/kvm-cpu.c @@ -60,7 +60,10 @@ static bool kvm_cpu_realizefn(CPUState *cs, Error **errp) * -> x86_cpu_expand_features() * -> cpu_exec_realizefn(): * -> accel_cpu_common_realize() - * kvm_cpu_realizefn() -> host_cpu_realizefn() + * kvm_cpu_realizefn() + * -> update cpu_pm, ucode_rev, kvmclock + * host_cpu_realizefn() + * update guest_phys_bits on Host support * -> cpu_common_realizefn() * -> check/update ucode_rev, phys_bits, mwait */ --=20 2.34.1