Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp3459039pxy; Mon, 26 Apr 2021 02:11:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWiN8tSsFvnqIsrf2ijFprrw4SfKK5+iLEq1PA3UGl3t+FNg5nUmW3N1U2sOVgEzGMmOJ0 X-Received: by 2002:a62:4d86:0:b029:252:c889:2dd8 with SMTP id a128-20020a624d860000b0290252c8892dd8mr17104777pfb.41.1619428293273; Mon, 26 Apr 2021 02:11:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619428293; cv=none; d=google.com; s=arc-20160816; b=C6LWSHEbkWXqhrA3NSrj6J4vp4SnwiJPj1MMVM26BHz7+4GAuJlcf2WC0/RPsxLAvV w2k2gkfFCIpBKmKrrkQu7pT7SYq4gAV9lFmmRF51sKUJ5mlGeOin1uyR6jVPQeZwEf14 iFxKcp4Cl82y81uyycJF+jjPlgrXiUsWSVQEHzkDxQcN9ZTJd+keLmEc6ExOxAxKUyYs Ntb5Rcl9HamXYHwynbiqNVDVCZbbHuJkAgieZWKVqJ/G2+yOJZOlD/GrR29FG+lFOcoB ZOaFVN0LWXdz8jEk84JZ7H/tFGVzGmNoGZ2oAJVGZHRrNloKdZm3hc/30S+7JmZr4QHU mqog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=CyW+WjVffqnD9VFGsqpSFk2yAUyd3GC+azDgWQuCGt8=; b=qX0wJiwkfViugPiCjA97Ouu0UYcnIkXSM3qC9GQiAsYJUD7TDmG3Gkuwf53OdC8aVU 0n7KNLI/iq0C9uhgKv2zyTSntTniSCqOOrBw6DF98iMyMz1SbCW04R9pylX4kj6FvK7x FeJBQa3viLST9/LR/z5uzIhigAhI2s2M+CJslMcAVDElMdGSmnilDiRQqpGh63E47r0m ROnWPtUHP7X8lL0jHyjmdTTlHxxDj6CzU32yGqPyd7zDBV4z44k0GSMOrG5dpdkSTpW+ 29dHEIStpT2d4HhVkcbYyZfurGmzjonf2v5H5Rv5aB4BB6GW0xEevcvu9oXQ2/heWT61 0/iA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=NfvuDJlz; 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=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w203si16357887pfc.83.2021.04.26.02.11.20; Mon, 26 Apr 2021 02:11: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=@chromium.org header.s=google header.b=NfvuDJlz; 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=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232715AbhDZJJ7 (ORCPT + 99 others); Mon, 26 Apr 2021 05:09:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59948 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232492AbhDZJJQ (ORCPT ); Mon, 26 Apr 2021 05:09:16 -0400 Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C49EBC06138B for ; Mon, 26 Apr 2021 02:08:30 -0700 (PDT) Received: by mail-pj1-x102a.google.com with SMTP id f6-20020a17090a6546b029015088cf4a1eso4905330pjs.2 for ; Mon, 26 Apr 2021 02:08:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CyW+WjVffqnD9VFGsqpSFk2yAUyd3GC+azDgWQuCGt8=; b=NfvuDJlz/4axwtjejO6Bhm8ZUOSpcdBl5CqsZzYNOleZcxJvwfRh2sth2duBAfJN1Q HTeUGen/ixs8Ww2Wzn+BxsyYRO2WwerMCpnUZ1W8V00BPJXr8gTd/r6QsQkrxdH19DnF wSiNGd7vmSRRV2YuJA6mT293nZ+w9XrrFUaU0= 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=CyW+WjVffqnD9VFGsqpSFk2yAUyd3GC+azDgWQuCGt8=; b=Ez86qkW9BLNYU89hZdzZoxYUB1DVq5bzn1Suph9qCuSOgeVpVL3Ji4D7G8yXQm63IX lEirDOazq7UCfbEuoZ9/M8+CaovuqazDUYGKm1yif9Yn89qwsFYdcJJfUYVHHxLm4aK/ hvO+/YfhSJgoOdFgniDUxtf0mRL+Dk4iCeVNYcwyya+EgkHKzV8umWnJik6ZAzohKLAf PRmW3gnWEBL/3iMGDyDPHOwUbD7QfB9kWPYRtD5/d9gFZEtOdaqidnkYR5dYUZ8FCKNm rj3x15dU/ddy191De2QDAG21eYbphC5J55F6juhFrT9SiHLwSzN6+WCaJjON5mKzqEGZ x/Zw== X-Gm-Message-State: AOAM531MjsQ6BhP9xhYTNjuuw3Qre6CI0f5UkHU/et72n+gC1XiajPbJ b4JGVD3TW0QUyO0f/xzbflau2w== X-Received: by 2002:a17:90a:a61:: with SMTP id o88mr7915546pjo.8.1619428110375; Mon, 26 Apr 2021 02:08:30 -0700 (PDT) Received: from localhost (160.131.236.35.bc.googleusercontent.com. [35.236.131.160]) by smtp.gmail.com with UTF8SMTPSA id x2sm10358014pfx.41.2021.04.26.02.08.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 26 Apr 2021 02:08:30 -0700 (PDT) From: Hikaru Nishida To: kvm@vger.kernel.org Cc: suleiman@google.com, Hikaru Nishida , Borislav Petkov , "H. Peter Anvin" , Ingo Molnar , Jim Mattson , Joerg Roedel , John Stultz , Paolo Bonzini , Sean Christopherson , Stephen Boyd , Thomas Gleixner , Vitaly Kuznetsov , Wanpeng Li , linux-kernel@vger.kernel.org, x86@kernel.org Subject: [RFC PATCH 2/6] x86/kvm: Add a struct and constants for virtual suspend time injection Date: Mon, 26 Apr 2021 18:06:41 +0900 Message-Id: <20210426090644.2218834-3-hikalium@chromium.org> X-Mailer: git-send-email 2.31.1.498.g6c1eba8ee3d-goog In-Reply-To: <20210426090644.2218834-1-hikalium@chromium.org> References: <20210426090644.2218834-1-hikalium@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds definitions that are needed by both host and guest to implement virtual suspend time injection. This patch also adds #include in kernel/time/timekeeping.c to make necesarily functions which will be introduced in later patches available. Signed-off-by: Hikaru Nishida --- arch/x86/include/uapi/asm/kvm_para.h | 6 ++++++ kernel/time/timekeeping.c | 1 + 2 files changed, 7 insertions(+) diff --git a/arch/x86/include/uapi/asm/kvm_para.h b/arch/x86/include/uapi/asm/kvm_para.h index 950afebfba88..13788b01094f 100644 --- a/arch/x86/include/uapi/asm/kvm_para.h +++ b/arch/x86/include/uapi/asm/kvm_para.h @@ -33,6 +33,7 @@ #define KVM_FEATURE_PV_SCHED_YIELD 13 #define KVM_FEATURE_ASYNC_PF_INT 14 #define KVM_FEATURE_MSI_EXT_DEST_ID 15 +#define KVM_FEATURE_HOST_SUSPEND_TIME 16 #define KVM_HINTS_REALTIME 0 @@ -54,6 +55,7 @@ #define MSR_KVM_POLL_CONTROL 0x4b564d05 #define MSR_KVM_ASYNC_PF_INT 0x4b564d06 #define MSR_KVM_ASYNC_PF_ACK 0x4b564d07 +#define MSR_KVM_HOST_SUSPEND_TIME 0x4b564d08 struct kvm_steal_time { __u64 steal; @@ -64,6 +66,10 @@ struct kvm_steal_time { __u32 pad[11]; }; +struct kvm_host_suspend_time { + __u64 suspend_time_ns; +}; + #define KVM_VCPU_PREEMPTED (1 << 0) #define KVM_VCPU_FLUSH_TLB (1 << 1) diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 6aee5768c86f..ff0304de7de9 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -22,6 +22,7 @@ #include #include #include +#include #include "tick-internal.h" #include "ntp_internal.h" -- 2.31.1.498.g6c1eba8ee3d-goog