From patchwork Thu Oct 26 09:19:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Roger_Pau_Monn=C3=A9?= X-Patchwork-Id: 10027879 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 678EE6032C for ; Thu, 26 Oct 2017 09:21:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5AE5528BB3 for ; Thu, 26 Oct 2017 09:21:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4FCCC28D71; Thu, 26 Oct 2017 09:21:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id ECB8B28BB3 for ; Thu, 26 Oct 2017 09:21:48 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e7eKQ-00068P-6X; Thu, 26 Oct 2017 09:19:54 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e7eKP-00066k-6D for xen-devel@lists.xenproject.org; Thu, 26 Oct 2017 09:19:53 +0000 Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id 5B/C9-13803-8B8A1F95; Thu, 26 Oct 2017 09:19:52 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrDIsWRWlGSWpSXmKPExsXitHRDpO72FR8 jDSbvtLD4vmUykwOjx+EPV1gCGKNYM/OS8isSWDOOX/zCXHBbqGLv1FmsDYzz+LsYOTgkBPwl VvakdDFycrAJ6EhcnLuTDSQsIqAicXuvQRcjFwezwHMmifcTGphBaoQFnCTmLVjNBGKzCKhKn N15iQ3E5hWwlPi17zMjxEg9iR/bDUHCnAJWEsvet7GC2EJAJQvPrmWEKBeUODnzCQuIzSygKd G6/Tc7hC0v0bx1NjNEvaJE/7wHbBMY+WYhaZmFpGUWkpYFjMyrGNWLU4vKUot0zfWSijLTM0p yEzNzdA0NjPVyU4uLE9NTcxKTivWS83M3MQLDjAEIdjA2fnc6xCjJwaQkysuw50OkEF9Sfkpl RmJxRnxRaU5q8SFGGQ4OJQne/OUfI4UEi1LTUyvSMnOAAQ+TluDgURLhfQOS5i0uSMwtzkyHS J1iNObouHn3DxPHs5mvG5iFWPLy81KlxHlvgZQKgJRmlObBDYJF4iVGWSlhXkag04R4ClKLcj NLUOVfMYpzMCoJ8x4FmcKTmVcCt+8V0ClMQKc0qX4AOaUkESEl1cA451zwtbsWIWH80pdqJHe eWFJUtnPRB7dMibmdp29P/m13rM2fj3GuX+7/U1ESudfCZ/87eIdfou33q7aXVSt8ZZyT5kun 8s8NlnoZdl88dfXrPlNdH1OtrZpnbENlLnTIfP9Z5Wr6ytFoJ6vvthKtoFr3IwdDPwtO7fA7F PCg8Na7SvNJl3SUWIozEg21mIuKEwH2MVEevwIAAA== X-Env-Sender: prvs=4659c6258=roger.pau@citrix.com X-Msg-Ref: server-11.tower-31.messagelabs.com!1509009584!81177347!3 X-Originating-IP: [66.165.176.89] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Received: (qmail 27424 invoked from network); 26 Oct 2017 09:19:51 -0000 Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89) by server-11.tower-31.messagelabs.com with RC4-SHA encrypted SMTP; 26 Oct 2017 09:19:51 -0000 X-IronPort-AV: E=Sophos;i="5.43,434,1503360000"; d="scan'208";a="448310670" From: Roger Pau Monne To: Date: Thu, 26 Oct 2017 10:19:33 +0100 Message-ID: <20171026091938.59247-5-roger.pau@citrix.com> X-Mailer: git-send-email 2.13.5 (Apple Git-94) In-Reply-To: <20171026091938.59247-1-roger.pau@citrix.com> References: <20171026091938.59247-1-roger.pau@citrix.com> MIME-Version: 1.0 Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich , Roger Pau Monne Subject: [Xen-devel] [PATCH for-next 4/9] gcov: introduce hooks for the sysctl X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP So that other implementations of the sysctl can be added. Signed-off-by: Roger Pau Monné --- Cc: Andrew Cooper Cc: George Dunlap Cc: Ian Jackson Cc: Jan Beulich Cc: Konrad Rzeszutek Wilk Cc: Stefano Stabellini Cc: Tim Deegan Cc: Wei Liu --- xen/common/coverage/gcov.c | 13 ++++++++++--- xen/include/xen/coverage.h | 7 +++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/xen/common/coverage/gcov.c b/xen/common/coverage/gcov.c index b1735693be..66c4075f8a 100644 --- a/xen/common/coverage/gcov.c +++ b/xen/common/coverage/gcov.c @@ -19,6 +19,7 @@ #include #include #include +#include #include @@ -209,6 +210,12 @@ static int gcov_dump_all(XEN_GUEST_HANDLE_PARAM(char) buffer, return ret; } +static struct cov_sysctl_ops cov_ops = { + .get_size = gcov_get_size, + .reset_counters = gcov_reset_all_counters, + .dump = gcov_dump_all, +}; + int sysctl_cov_op(struct xen_sysctl_cov_op *op) { int ret; @@ -216,7 +223,7 @@ int sysctl_cov_op(struct xen_sysctl_cov_op *op) switch ( op->cmd ) { case XEN_SYSCTL_COV_get_size: - op->size = gcov_get_size(); + op->size = cov_ops.get_size(); ret = 0; break; @@ -227,14 +234,14 @@ int sysctl_cov_op(struct xen_sysctl_cov_op *op) buf = guest_handle_cast(op->buffer, char); - ret = gcov_dump_all(buf, &size); + ret = cov_ops.dump(buf, &size); op->size = size; break; } case XEN_SYSCTL_COV_reset: - gcov_reset_all_counters(); + cov_ops.reset_counters(); ret = 0; break; diff --git a/xen/include/xen/coverage.h b/xen/include/xen/coverage.h index bdfd29d3bb..9078330109 100644 --- a/xen/include/xen/coverage.h +++ b/xen/include/xen/coverage.h @@ -3,6 +3,13 @@ #ifdef CONFIG_GCOV #include + +struct cov_sysctl_ops { + uint32_t (*get_size)(void); + void (*reset_counters)(void); + int (*dump)(XEN_GUEST_HANDLE_PARAM(char), uint32_t *); +}; + int sysctl_cov_op(struct xen_sysctl_cov_op *op); #endif