From patchwork Thu Jun 6 17:10:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 166004 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp9055462ili; Thu, 6 Jun 2019 10:12:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqxh9/Np8cB45QoVksxdvNtmlZL83fUtGuU6WnOgupncwipKSbi67VGwydYj0F1q8c+T+3Ck X-Received: by 2002:a6b:b602:: with SMTP id g2mr16001390iof.54.1559841146987; Thu, 06 Jun 2019 10:12:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559841146; cv=none; d=google.com; s=arc-20160816; b=QcimN4vLyE3YadjsdAIp2rPNaI5y8VJPx6KGxiDiGvWFG3ux6+WcvaR2EQVmPmwU/B /JF/qg4K0STwrMXQw/mElfJuP9mRzisINq3HjLqcvAU9OSScJFwpcjB2a7QUC3utn8Si Bw/JVPRPkI1+0dHO3dnB67oOZTkLPV9ke8FjN/qO576ZpJ83j5GfTkABKM6x7qaL2lLZ UOC2FaOJFVfWr2KtqKF4Vt8mDsR92+DqaOhqEBM26tVWPbuqDelEimsrXtoo9AYXAKAc c9kM0iFmOHP7n0N45O1ubnT3z8GSeRaQjQhaEbFQ5YfZqJaY0IO7WUU3p71RQNXwkRpF s5Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-unsubscribe:list-id :precedence:subject:message-id:date:to:from; bh=spWKgGYQhDXmNaLFzUP9Z72A+44LFdhOBZGwp80Q7j0=; b=qHjxArUtBQLnmrS4LZSb/ivvUqyl8N0TZBbc350mCq8xrfHjbbIh7SLVUGjIALV/c7 andxjjL4pOXbRAOjw+0/5rPYVjBHlgo2EG7XBiBCjV3FTnOrS7RdPbpK1EMV/Zi6C/w4 jWLJpv/sg8drnXPxzbgYfR6nxCpTWYmX0s2ZwvWfnv0XMW3fwdDrY/Fz1cDu/GpREN8b JYhbN/8bIHcujoEbsKNBFijCCNXmMSPB6gcd+/ssN9Y57nj2bO7OGwYRadO3tDITb2qc NUfFYM5MfymubLM4R3TesBJgUql+S5iK2EyzrvcQfxJRfo+zzhF/xpt+4eqlH8wxrIzv N3zQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id r193si2058659ior.105.2019.06.06.10.12.26 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Jun 2019 10:12:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hYvuM-0004Lo-IM; Thu, 06 Jun 2019 17:10:34 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hYvuL-0004Lj-3A for xen-devel@lists.xenproject.org; Thu, 06 Jun 2019 17:10:33 +0000 X-Inumbo-ID: fcb10e87-887d-11e9-8980-bc764e045a96 Received: from foss.arm.com (unknown [217.140.101.70]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id fcb10e87-887d-11e9-8980-bc764e045a96; Thu, 06 Jun 2019 17:10:30 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 22CB9374; Thu, 6 Jun 2019 10:10:30 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.196.50]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E313B3F690; Thu, 6 Jun 2019 10:10:28 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Thu, 6 Jun 2019 18:10:24 +0100 Message-Id: <20190606171024.11152-1-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 Subject: [Xen-devel] [PATCH v3] xen/public: arch-arm: Restrict the visibility of struct vcpu_guest_core_regs X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: andrew.cooper3@citrix.com, Julien Grall , ian.jackson@eu.citrix.com, wl@xen.org, jbeulich@suse.com MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Currently, the structure vcpu_guest_core_regs is part of the public API. This implies that any change in the structure should be backward compatible. However, the structure is only needed by the tools and Xen. It is also not expected to be ever used outside of that context. So we could save us some headache by only declaring the structure for Xen and tools. Suggested-by: Andrew Cooper Signed-off-by: Julien Grall --- This is a follow-up of the discussion [1]. [1] <3c245c5b-51c6-1d0e-ad6c-42414573166f@arm.com> Changes in v3: - Avoid introduce a new #ifdef in the header by moving the definitions later on. --- xen/include/public/arch-arm.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h index eb424e8286..14e4cbad06 100644 --- a/xen/include/public/arch-arm.h +++ b/xen/include/public/arch-arm.h @@ -197,6 +197,18 @@ } while ( 0 ) #define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val) +typedef uint64_t xen_pfn_t; +#define PRI_xen_pfn PRIx64 +#define PRIu_xen_pfn PRIu64 + +/* Maximum number of virtual CPUs in legacy multi-processor guests. */ +/* Only one. All other VCPUS must use VCPUOP_register_vcpu_info */ +#define XEN_LEGACY_MAX_VCPUS 1 + +typedef uint64_t xen_ulong_t; +#define PRI_xen_ulong PRIx64 + +#if defined(__XEN__) || defined(__XEN_TOOLS__) #if defined(__GNUC__) && !defined(__STRICT_ANSI__) /* Anonymous union includes both 32- and 64-bit names (e.g., r0/x0). */ # define __DECL_REG(n64, n32) union { \ @@ -272,18 +284,6 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_core_regs_t); #undef __DECL_REG -typedef uint64_t xen_pfn_t; -#define PRI_xen_pfn PRIx64 -#define PRIu_xen_pfn PRIu64 - -/* Maximum number of virtual CPUs in legacy multi-processor guests. */ -/* Only one. All other VCPUS must use VCPUOP_register_vcpu_info */ -#define XEN_LEGACY_MAX_VCPUS 1 - -typedef uint64_t xen_ulong_t; -#define PRI_xen_ulong PRIx64 - -#if defined(__XEN__) || defined(__XEN_TOOLS__) struct vcpu_guest_context { #define _VGCF_online 0 #define VGCF_online (1<<_VGCF_online)