From patchwork Fri Jun 18 10:23:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12330933 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4D026C48BDF for ; Fri, 18 Jun 2021 10:23:42 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ED32E613C1 for ; Fri, 18 Jun 2021 10:23:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED32E613C1 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.144409.265794 (Exim 4.92) (envelope-from ) id 1luBew-0006J3-Hr; Fri, 18 Jun 2021 10:23:34 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 144409.265794; Fri, 18 Jun 2021 10:23:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBew-0006Iw-Dx; Fri, 18 Jun 2021 10:23:34 +0000 Received: by outflank-mailman (input) for mailman id 144409; Fri, 18 Jun 2021 10:23:32 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBeu-0006Io-Pw for xen-devel@lists.xenproject.org; Fri, 18 Jun 2021 10:23:32 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id c712d297-e757-4cac-9395-80a200201b2a; Fri, 18 Jun 2021 10:23:31 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2053.outbound.protection.outlook.com [104.47.5.53]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-8-DXMgaPD9OluqSot4-rIl6A-1; Fri, 18 Jun 2021 12:23:29 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19; Fri, 18 Jun 2021 10:23:26 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36%5]) with mapi id 15.20.4242.021; Fri, 18 Jun 2021 10:23:26 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR0P281CA0015.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.7 via Frontend Transport; Fri, 18 Jun 2021 10:23:26 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c712d297-e757-4cac-9395-80a200201b2a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624011810; h=from:from: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; bh=am03MNqDtS9SZU1GGRI1+xD+TyxHlgkohOfTvVtAEEs=; b=YovsMkCQXfHQeZH0FxFhejiCgsFhsGxlHVJ/3fwXVgPw+e2eJEBGtuKn47Pb8szKay7Wur wbIAC8Pb0vHH4gNo5jOfwRtSTDADUS8kOBbLABFF9FzFvXHjfwGbcaDHo+UalSLT7TmREI 0XhkkBtxbjJFR7QzxepfG5KQPvKD1UM= X-MC-Unique: DXMgaPD9OluqSot4-rIl6A-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PiB/hRNMUFVLL4X8PtBjATMaJmhVOiqh6IlIUerfthYw4G/KRXQzFbg4mxNkwM+XWWAv0c0f8i300NwkHgiRFFOvS4pOVFRCAStM+tEYofV7OVgJKbqcvbmvNN9Y+t4gCbQ0ZpirHCv107wek4ywpvz3Uh6HmfCxxt9wzUtsjVKLCa7kcTrQF2wf8boNo60rwU1X1EkKaUW0kFVITouo90xxT3Ubc5vpA0ALLTWCSN/y4oVhaHRepMtwRm2n+dwtwqFtPJtaUugQLrknpqpYbw0nui+DF6KIgKP9S1TOjg8IebED1vzVtO5ghqdLX6/LAUy+mHpe/2ngzDxIAwgiXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=am03MNqDtS9SZU1GGRI1+xD+TyxHlgkohOfTvVtAEEs=; b=m/kQyUHT5UKi6rLD6NVF3IO1yNgRpa3Kc+JxpQLA09BGKsbFiL0K1GEOCwGHLf/wUR1SAzmir7lAI7IiVGpd8kRtj0q08ER6Czxyepq3kZJSX6RkmvQt/m6TZVZK/L/14mfdNgUFivVIwiws4fcYQe1EsGFhVId5jjG71VTCVANAecpJuvph3MSiDbt31TiCcTkFs5WGBhYGxIcvjOIJPblerZvvYXNelku+b/gIJV29vJrXKLP5BHyIxc31AatPUphlPnspVtMxuPYq2aiC/chveOUkR0xb3CEIEqiUJRFbj9KS5nsS85u4hXcl11+9iOCsAy6kjbPJT1unwn0GGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 1/5] x86/HVM: wire up multicalls From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Ian Jackson , Juergen Gross References: Message-ID: Date: Fri, 18 Jun 2021 12:23:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR0P281CA0015.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::20) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 667b54ce-321f-4e77-ea13-08d932431c26 X-MS-TrafficTypeDiagnostic: VI1PR04MB6864: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SpKeuOYxzfWL62z6QrSobIJ/O7wHY9N7AZJFcj9SQo1yax1TymzwOPOnf0CzhZ75ukxYu366tvF7pSJtQl6EVdGoeHtWbDsJMxgvyT52kjdZoO7IuaBrGVzt72v8j8+Jg5/VZfW+pV+/EWIgsY2XoPDRxFY8VUXcxsRGDY4guPaPzyPediZuERst5aO4NTTL8jnSSYvSUetazwdkEX3TsaBXvzMet7Hf7CuJJz4IpPQycB1LXQsw+WNjfoeLTs2O0tSzAka+IGu7oLlFu/KE4MJr3B9sgMBb2+gUEeA50N89pcqFs4SB+bs7aoXU6aRRRNrw6oqF4EmPlvFbAkCiLiI0ou8OjFG3Ut4uQX2RGAHryvIhp8rNnpFN1oUlXlOc7W0ZiOJ0s8WVzhP6Kb6d/jeuVDgzdiSf/vi2pn2E0Y1BY5gMe4QkObqXOJIRFGkbgRo/Vi1A5cD6EQB7wFCz1HJJdVfIQYpIjBWQRGMwmAk9H+8mp3Nkua254X9osZGSyAifOnW2tLAqsQ4HkWrYviq7jILADectC9MHRnG2WA8uMQ9biTVoWsnQfgJ92cVhwu2tUqBBJyM5kUnU3QyW/PtpF1EQ1Ojv5nzkcoP3iy58yGagx6TLpSFv6mNLmXPoa+7aWRSb16MgDlWmSteR3GZbk4cbpxmUaiy0IbGMtBBCodI/M/JSodRTNiEnrtXs X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(396003)(376002)(346002)(39860400002)(2616005)(956004)(83380400001)(66946007)(66476007)(66556008)(6486002)(316002)(26005)(186003)(6916009)(16526019)(478600001)(54906003)(16576012)(107886003)(31686004)(38100700002)(2906002)(8936002)(8676002)(4326008)(31696002)(86362001)(5660300002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?cAVuDuGSrwJA6YJtJ03Z5JYW4jwW?= =?utf-8?q?oNyaKBewVDarwzpt7K4CS6GyzFmk74OSGC3jVvI4DsRJUyU9YTbr9r/lSMlGx4Jw0?= =?utf-8?q?fPWt64QxPdZw3xxULaRXNadUC6vQpDpqrhf77cu1ij4WbIhR5YYZp7bs5if4R0ORA?= =?utf-8?q?bBTkupYz/CeDb83Red/pnXQduuwR1kzMUBjOcPpK7ZunTeYqsGzMvC8a6aSQ1h444?= =?utf-8?q?wi4mC8MxvcnPOUB5chxf6j5zDZfSjtyAlYZAGoGXD2qrfixXz/Igki3cj5I//5P3R?= =?utf-8?q?7CPM7D/sQgp1jabbeeNCCHycmIQI5iGzBPvVOzVVmYa5Bo7M7nKGjYrT8MbsBBfUL?= =?utf-8?q?wFyXy04Neyvtxl07ZvmNiAzQoZbL36ijjBIMrKsRGV3jxjDBE0UxqiHH/rmqqWKPl?= =?utf-8?q?qCuJO3ahoCVYkTDQf9g8Liy1wFX24qSVg2IOHc5VPjxx/95ifwUSceadm/tE88ztS?= =?utf-8?q?EAFq//QbQAm7EFxVAg+1C+UPfzZnaKfmxIaZJkh1AplU3u9Mrm5w2ERzkaTs4qPRQ?= =?utf-8?q?UPxherVEn3s73Q7s7hqb7snNnPwGucZaf7DxnscAPO0izUysDIWefMHPO4fWjSA2/?= =?utf-8?q?09Pvj8NlLRhoEzoM5gohes2drN67tu6Q2TlEAS4tN/FLrcez1/XqKJXx9wavONFHM?= =?utf-8?q?x0W918uA29Qg8eyK8OgO0pPUZdqbl/lBDGjSAnv1TNoSlnxbBao0MHU2SHBiJA9Qf?= =?utf-8?q?bX8Sitdj2FS7aajg5wMLKUsgyuhoz59PA5/tzIjuO+StCnYDU2tdVjTsnRrD7x/FM?= =?utf-8?q?GuZ6aeEl7a6YKQdCRBhVurWYPf6YQoWRXHRJi77roUcQyioh7WtpLlBXPOJMBDQC+?= =?utf-8?q?4bA4BaHP+KvILHRkGwf7TkPf9uOSb18YyuLyjuVvgbUHUL9nJppRGKqXxGmOQ7dKj?= =?utf-8?q?h3e3LEF6JbwokTMgpKbzdmMqilQGmHOm5kl+rRwqWUYBRe3D3v9G8tgnDRJC8lH8C?= =?utf-8?q?A5w7yx8Fse1c/3VyfHQvmKlTrnJpt/6PVLnhVzyNBLaixL3KfuTMT70QZYZ0npUoD?= =?utf-8?q?sWa86o835O0vBe65S1Kd4px32XgF4KE+HD/Pd/gNcQomejfg6rImpCby4a59eY0oX?= =?utf-8?q?WFL6n/ENgxoeivY/BLz77JRPGsSFmb34W4BgiV4MJYN9//gaDyjTBoRXYTbYENQ1H?= =?utf-8?q?LnJC0fvJ9CYIAP6tmmF7uWmqRRsf++F/8B6G/7H009BTGMckNw2e9Lb+s9wc4zIiI?= =?utf-8?q?Z3pcbPFjmdKIV46HoLFqTEP9acnVZ1GS5jXiLHHP22tuSGY4iwz2cFeN/bEiKG+9c?= =?utf-8?q?u8WuV++V8VI+N/7D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 667b54ce-321f-4e77-ea13-08d932431c26 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2021 10:23:26.7205 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IWuUAzJ6QklGopWelo6pGPVxxX6Yi3uzwXqndQk13mLUTSwVVju5QqlIRWxGnOW1VwYDNP47XWGlDVrj06v4fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864 To be able to use them from, in particular, the tool stack, they need to be supported for all guest types. Note that xc_resource_op() already does, so would not work without this on PVH Dom0. Signed-off-by: Jan Beulich --- a/xen/arch/x86/hvm/hypercall.c +++ b/xen/arch/x86/hvm/hypercall.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -125,6 +126,7 @@ static const struct { hypercall_fn_t *native, *compat; } hvm_hypercall_table[] = { HVM_CALL(memory_op), + COMPAT_CALL(multicall), #ifdef CONFIG_GRANT_TABLE HVM_CALL(grant_table_op), #endif @@ -334,6 +336,39 @@ int hvm_hypercall(struct cpu_user_regs * return curr->hcall_preempted ? HVM_HCALL_preempted : HVM_HCALL_completed; } +enum mc_disposition hvm_do_multicall_call(struct mc_state *state) +{ + struct vcpu *curr = current; + hypercall_fn_t *func = NULL; + + if ( hvm_guest_x86_mode(curr) == 8 ) + { + struct multicall_entry *call = &state->call; + + if ( call->op < ARRAY_SIZE(hvm_hypercall_table) ) + func = array_access_nospec(hvm_hypercall_table, call->op).native; + if ( func ) + call->result = func(call->args[0], call->args[1], call->args[2], + call->args[3], call->args[4], call->args[5]); + else + call->result = -ENOSYS; + } + else + { + struct compat_multicall_entry *call = &state->compat_call; + + if ( call->op < ARRAY_SIZE(hvm_hypercall_table) ) + func = array_access_nospec(hvm_hypercall_table, call->op).compat; + if ( func ) + call->result = func(call->args[0], call->args[1], call->args[2], + call->args[3], call->args[4], call->args[5]); + else + call->result = -ENOSYS; + } + + return !hvm_get_cpl(curr) ? mc_continue : mc_preempt; +} + /* * Local variables: * mode: C --- a/xen/arch/x86/hypercall.c +++ b/xen/arch/x86/hypercall.c @@ -20,6 +20,7 @@ */ #include +#include #ifdef CONFIG_COMPAT #define ARGS(x, n) \ @@ -273,13 +274,18 @@ int hypercall_xlat_continuation(unsigned return rc; } -#ifndef CONFIG_PV -/* Stub for arch_do_multicall_call */ -enum mc_disposition arch_do_multicall_call(struct mc_state *mc) +enum mc_disposition arch_do_multicall_call(struct mc_state *state) { + const struct domain *currd = current->domain; + + if ( is_pv_domain(currd) ) + return pv_do_multicall_call(state); + + if ( is_hvm_domain(currd) ) + return hvm_do_multicall_call(state); + return mc_exit; } -#endif /* * Local variables: --- a/xen/arch/x86/pv/hypercall.c +++ b/xen/arch/x86/pv/hypercall.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #ifdef CONFIG_PV32 @@ -245,7 +246,7 @@ void pv_hypercall(struct cpu_user_regs * perfc_incr(hypercalls); } -enum mc_disposition arch_do_multicall_call(struct mc_state *state) +enum mc_disposition pv_do_multicall_call(struct mc_state *state) { struct vcpu *curr = current; unsigned long op; --- /dev/null +++ b/xen/include/asm-x86/multicall.h @@ -0,0 +1,12 @@ +/****************************************************************************** + * asm-x86/multicall.h + */ + +#ifndef __ASM_X86_MULTICALL_H__ +#define __ASM_X86_MULTICALL_H__ + +#include + +typeof(arch_do_multicall_call) pv_do_multicall_call, hvm_do_multicall_call; + +#endif /* __ASM_X86_MULTICALL_H__ */ From patchwork Fri Jun 18 10:23:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12330935 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C56A4C48BDF for ; Fri, 18 Jun 2021 10:24:10 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7AB4C6117A for ; Fri, 18 Jun 2021 10:24:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7AB4C6117A Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.144415.265805 (Exim 4.92) (envelope-from ) id 1luBfQ-0006uc-03; Fri, 18 Jun 2021 10:24:04 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 144415.265805; Fri, 18 Jun 2021 10:24:03 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBfP-0006uV-SH; Fri, 18 Jun 2021 10:24:03 +0000 Received: by outflank-mailman (input) for mailman id 144415; Fri, 18 Jun 2021 10:24:03 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBfP-0006sk-6x for xen-devel@lists.xenproject.org; Fri, 18 Jun 2021 10:24:03 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id a8e86627-16cc-4c01-b84d-763bcd93f4a1; Fri, 18 Jun 2021 10:24:02 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-37-TisWPV9fOs6JfCxzx0IXkg-1; Fri, 18 Jun 2021 12:23:59 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0401MB2607.eurprd04.prod.outlook.com (2603:10a6:800:58::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.15; Fri, 18 Jun 2021 10:23:58 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36%5]) with mapi id 15.20.4242.021; Fri, 18 Jun 2021 10:23:58 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR0P281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.7 via Frontend Transport; Fri, 18 Jun 2021 10:23:57 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: a8e86627-16cc-4c01-b84d-763bcd93f4a1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624011841; h=from:from: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; bh=V7LABsQDsEgnYdE2iTKHmR19AgygtEHLnin18+tzGjg=; b=S7PMwGVY6tHA/YfTCMGq6P3ggea2XACdOXaYuVJb48VFJczsbaCrZjVnJC0feviglMYMvu +tB0yv/YO9/JhZA4+D/0MRWn4tPrp1q/kKyg3lWIKKHp15sl08V3axQ46Br8+38k+Y4ioS UJ4L7h4328JPhDksmN9VBssCj+MqN3M= X-MC-Unique: TisWPV9fOs6JfCxzx0IXkg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C5PftO1tmGRbFNKFIX6jjW7+0oy5/rJW4KyjNQCOIQcC4uOrMD8FcxzouvBmLcrIOXUsaLK9TGGpiNK6bDfgxNrLaWRe5pa5mwCbXeEe+VxCMOmHbfBLIDbB3v0ZT31migZ7tqo8zOBKmWm6byK3rhTae7/V3Hpau5wNfXrewzg3+WDGgGEeQWh3XWRM0OGFBlAQbK7GUG98qFcAEWbP/LZlpeAf1G6yBb0da9RdSNPKIaRi2F7SDybLOo5h1loFLpQA5NKCQxyfdgzfqnat/n2IWAdgvp4/OZByK4kbRjhyFexiJ6RovrLt50b+HilbX6BkU1+A5xgsnw+1kSexDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V7LABsQDsEgnYdE2iTKHmR19AgygtEHLnin18+tzGjg=; b=JV5nxZdf2fi0XGNmnCox4KL1wDvkc0aF2A+XuDnk9ZUiXPRkTvCtivKhCTnVcorSzFeE1DYf2LUeH/eNMyBHQc7diqPy1BuGn5ZBna+RfNpOBZ703fQ30r1o/qMk+eNJH33dK4jObXnBBYIHxARJFC2f5I3GN0RNoDS8Z3MN5XXPxnH7jYnU6V1xtmU3PRtfnl+9UvRb0XH8cozmsHTO0AUcpHItH9fP1Fdd++/ddu/dSnOXEL8MfJLRPGFbbdCEqoP/T1JECexxXQW1CXgfTg39TEs14g3WGUuNGAHPnssqrntHAVIAgyVxBCI1x0fZsbY/CSeUTzUajE8XhY8h4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 2/5] libxencall: osdep_hypercall() should return long From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Ian Jackson , Juergen Gross References: Message-ID: <798b7eec-e31e-1798-773d-c2865fba4be2@suse.com> Date: Fri, 18 Jun 2021 12:23:56 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR0P281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::8) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 236ba0cd-44f7-44a7-603b-08d932432eee X-MS-TrafficTypeDiagnostic: VI1PR0401MB2607: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2657; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: emXe1XBozK77IhQdKbiHdyH2lglCcaxkd8464YkEJCXvJU+gaLBYbdWZLMOlLG+XNaXDKNbmGOLb3yb4ai7KzlEFR8akGON6uxUmqJ0WY0AU8xEkJrT1NEytRyGJN/t1mCoxJxBO6FSaWy5MXpGo/pNF4WBIYAd82gTzdJAeYsX7NBapwXZR2D58Azixt7Q8Ez+EcuMlNZkE5UECzMxFx0fAMpwQzGbITz78MYQBg6t74ew7ICgULFUcJu3Htl5oT+XjYTIJ9YsVlSPuSTz1z/BSgLeTX7Y7m1wIReef/vw4rCiZg/Mf1RBDTnLi/Ixz/JEfYdQgDMOmxUlATYto+mzSffjjySyZm9oET7BAh9UHtPlStsiVv03L5HV7k1gu2/iT0cISjKhdJb9pRMsIUbVkGkLvYHxas51sy6G6+oxmhJpqhqWm/SVTQhmqWcVtBLO7n9z3EKODXrQ7dTxHtIUWJcTLrHrX+g/aR2nCSNV6tsVynqkRi0f7vgiX/Oy+0zNUG/LhovIRe8wHXu7NmieYHEg+iFI30CPp1sXGaxnSM5EsdOkvirwW97TUgyw/ZqHIzej3w9qUXkSvqHOtaxXSuJKEiJDdNDdFGEoSeMvwOYXgJ9QkrYQpFatuEcp75uvjgm0T2piSpH+4Kg83tUW46PukD9CGtzpVSbUEeAUv/Ri3nzQgadvM9BXbbuPD X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(396003)(366004)(346002)(39860400002)(54906003)(4326008)(38100700002)(478600001)(316002)(2616005)(16526019)(8676002)(2906002)(6916009)(107886003)(66476007)(31696002)(31686004)(86362001)(956004)(66556008)(36756003)(26005)(6486002)(83380400001)(66946007)(8936002)(16576012)(5660300002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?4/wHM0soHl2g9XljUtH8L6JZdLdX?= =?utf-8?q?Bnzmy5yzhTEOrJp8CJ6Zu3AoiSaEdhbrtAdN0/2XrVtGgS7BD12Ka5Dng9RkE4/xZ?= =?utf-8?q?o1GpYJyHbb4iXZ6g9VNZszTrzJU6m1+mPU20NGY7j9D2Bb9N9W11NRTmuT66Trbdm?= =?utf-8?q?mJiH38aol8NnATQjAI9rZ9UVr5kwyeHDV6C1BbvjwhvN8DvKpCPUTzD0ZEE9oXSQR?= =?utf-8?q?ix/GAmgqF+Y7bcFof9TlOQ2XEMGZIRd/EQxWQcpc5obWgnHCvFKTbe0T/J9JKxF9q?= =?utf-8?q?AF11wBEP08HKj69Dy0sztxCAvHKBz9pRsQKrbpjn2lU70sWGV37nkUB6w0JezYpGs?= =?utf-8?q?k2KsmAmbl1INbfkOwENe0USLYJqWWYz4SzjbmER4BYLaSj0WRs3srjXlcdRDkA6fZ?= =?utf-8?q?t/rLmDKhb+VfKtLKbk0FCkF0qSWdvHrRpma5BqKON+duoyt4DFPkAf5i0RcyDWhew?= =?utf-8?q?T4nbU6a3FwzRjtAraVweQewhmCD6tqkUjX/wSvYK9q2o5VCp4OFj3+cWZv4ZqC7RJ?= =?utf-8?q?IK0FV47Rr9LuF3FYM8ATsFpa7Ef2xYK2EwtW2yI/bBSta018eM2EdaM0hd6l1+E2W?= =?utf-8?q?weeL+T3n5dkMbYJaHZl3msgytV3xfxllrfbiM3ibxOAgIRXW25bCdPdvdznhKvkSO?= =?utf-8?q?h5W4+Jie0HVZppY06JAr/zGxYahCj7TDaDnug/iSl5+TrnGRBaKioK54hJZyw5x4g?= =?utf-8?q?JUV59ek46ofoYbDveNcQzixmps8ZpquafDQBHSX4zdXfQNXuAPK6KALYADOUC55N9?= =?utf-8?q?QN0LjVFxdEFGIAm2vX6eB/7s/h8h0VAjuxsTplcFG+dJhsOTJVDIQptXKDVZfTfj9?= =?utf-8?q?qZaouwtKz3gNlyK/L324GhNdas2keNFDFbQnYBUYFCH4JKBxFYcKeDZrkWILkN8h4?= =?utf-8?q?L7c1GhwCKWV7NWuAFyE+W42zlQjIpy+Vb32gsAsgrXGGf0qk1yEDLfWc/qKNh9gYL?= =?utf-8?q?rtpDJV/RBZK3iy9F5Null4/ovLNbRaln8SREDaN5VwvhEP2VsfKJRCUN2ozqVpA+9?= =?utf-8?q?3t5uXcr8hzb67isBlDq0YRD5Y4IYAvyVDqN3GSGXkQjB8sOz9hzsWii4uQNoAR7vB?= =?utf-8?q?gyjaYPGaKZX/AiQrbQmAf5yoHTuNsu9B1thjAD2FVMf3CGmJRX9AgIdv5zLuCYSdH?= =?utf-8?q?LOtZsGMlkblQ/WNksdVN1ZYvloVuRlei7anV+aLdXXM3OO1TMvqeIZmrpdI4Zo4Jp?= =?utf-8?q?lM+QM15m43neJB5UMI1cX0yDRroEzcCApCYQ8u4wl4R+ULyygt8o/XRyIR+1ILlfA?= =?utf-8?q?sLxzQFWASbsiqKH9?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 236ba0cd-44f7-44a7-603b-08d932432eee X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2021 10:23:58.2277 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9GmKam6HL3cAocIxiUQ9zK7BHcI7YgNjWPjMkChZpT915C+PLpby5lzNTN+MKwuSHQPLo2w8Y9WdUgkZ0zFVoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2607 Some hypercalls, memory-op in particular, can return values requiring more than 31 bits to represent. Hence the underlying layers need to make sure they won't truncate such values. (Note that for Solaris the function also gets renamed, to match the other OSes.) Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/tools/libs/call/freebsd.c +++ b/tools/libs/call/freebsd.c @@ -62,7 +62,7 @@ int osdep_xencall_close(xencall_handle * return close(fd); } -int osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) +long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) { int fd = xcall->fd; int ret; --- a/tools/libs/call/linux.c +++ b/tools/libs/call/linux.c @@ -80,7 +80,7 @@ int osdep_xencall_close(xencall_handle * return 0; } -int osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) +long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) { return ioctl(xcall->fd, IOCTL_PRIVCMD_HYPERCALL, hypercall); } --- a/tools/libs/call/minios.c +++ b/tools/libs/call/minios.c @@ -38,7 +38,7 @@ int osdep_xencall_close(xencall_handle * return 0; } -int osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) +long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) { multicall_entry_t call; int i, ret; --- a/tools/libs/call/netbsd.c +++ b/tools/libs/call/netbsd.c @@ -96,7 +96,7 @@ void osdep_free_pages(xencall_handle *xc free(ptr); } -int osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) +long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) { int fd = xcall->fd; int error = ioctl(fd, IOCTL_PRIVCMD_HYPERCALL, hypercall); --- a/tools/libs/call/private.h +++ b/tools/libs/call/private.h @@ -55,7 +55,7 @@ struct xencall_handle { int osdep_xencall_open(xencall_handle *xcall); int osdep_xencall_close(xencall_handle *xcall); -int osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall); +long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall); void *osdep_alloc_pages(xencall_handle *xcall, size_t nr_pages); void osdep_free_pages(xencall_handle *xcall, void *p, size_t nr_pages); --- a/tools/libs/call/solaris.c +++ b/tools/libs/call/solaris.c @@ -80,7 +80,7 @@ void osdep_free_hypercall_buffer(xencall free(ptr); } -int do_xen_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) +long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall) { int fd = xcall->fd; return ioctl(fd, IOCTL_PRIVCMD_HYPERCALL, hypercall); From patchwork Fri Jun 18 10:24:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12330937 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C348C48BDF for ; Fri, 18 Jun 2021 10:24:49 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 068CE613C1 for ; Fri, 18 Jun 2021 10:24:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 068CE613C1 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.144419.265816 (Exim 4.92) (envelope-from ) id 1luBg1-0007Uw-8S; Fri, 18 Jun 2021 10:24:41 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 144419.265816; Fri, 18 Jun 2021 10:24:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBg1-0007Up-5T; Fri, 18 Jun 2021 10:24:41 +0000 Received: by outflank-mailman (input) for mailman id 144419; Fri, 18 Jun 2021 10:24:39 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBfz-0007Ub-TQ for xen-devel@lists.xenproject.org; Fri, 18 Jun 2021 10:24:39 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 85329b78-6aa6-44a6-8731-fae0d3dbe456; Fri, 18 Jun 2021 10:24:39 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2052.outbound.protection.outlook.com [104.47.5.52]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-15-bjUvq9YROz6IVE91bhG_Og-1; Fri, 18 Jun 2021 12:24:37 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6864.eurprd04.prod.outlook.com (2603:10a6:803:138::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19; Fri, 18 Jun 2021 10:24:35 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36%5]) with mapi id 15.20.4242.021; Fri, 18 Jun 2021 10:24:35 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.7 via Frontend Transport; Fri, 18 Jun 2021 10:24:35 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 85329b78-6aa6-44a6-8731-fae0d3dbe456 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624011878; h=from:from: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; bh=lJvvmVhJ6x/yxLap6O6VF1QkaR/Dz+vEuOFGNI8+yBo=; b=lUBiefxk9fiCLsvfP2HFiRGfWY3nZ2LikCC7U+Ck4iSDc+7PjrX5u7KBj2+1DFF5PfjMKX BtIIpl03AHkHL9UbH8BzvmRGFlu7PTByz6CJiO4uKnY8NUR1/15svMlOOEQcn+vhWsjmSJ bQSRtv1KH71fUcoUo3ybUFIx9qSy1zQ= X-MC-Unique: bjUvq9YROz6IVE91bhG_Og-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=io7zHhlximNRb6H+4Lg5cKks9eQkof85SJxLkPJf+Hq9NM2eQzRRyyqHT0WRc7be6116ph33JYjkXlqNOQtccMjACve5771e8+4+jP+XQXnk96uMsTWYWhKFbv2t40KBw5VGh7tf7jYnSs4OJmBMeri6bJDJgZqhXJEc8gdDRVt1SNx7/Z5FOUWU4lxY5h6dswy5ebT+01Nk/lmVJkNrUiGSKuyW2uJ2CEVkdZjCRgYk5KmFQ3bwMYhdkeF1fULPicDWZHOL2+CEzvKPgsfWvqT8ocPcE8JRcE5edfRMG57JS6Oez9fSMvsRbga3UP3pnGc5Zgv6rtuWdIsTLccQDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lJvvmVhJ6x/yxLap6O6VF1QkaR/Dz+vEuOFGNI8+yBo=; b=AHyl1X4Q9B7isuvkctHvooAbyIBv25erq/5dgqmD7jL7uFOnA1zCp9Is0nzvlVDIh2OG7CiAqFax4ARqa7Tk93MaHoxgHDXWYjHb57tzJ1XBNvknEohn6fBUE/ZXD+sERFYSyiRkzW2xRZgWFBhogaUGqx4OGrKVUbSEBMtagAIgNMaPmSewA0qCqVQajVM6OnezNEjTO22nNObxiuoM5zlFMKimwj1jnIY80CGHqTbwBlgRhEFTjTlJWMVOjzSeVl6YZBCUJZ6C3Kd0yPavvW27oHUCkXX53t4j4QiYgPi3uh07q3DCWBNbeV5z2WnkEPz3WH/J0ppeedBKi+gGnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 3/5] libxencall: introduce variant of xencall2() returning long From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Ian Jackson , Juergen Gross References: Message-ID: Date: Fri, 18 Jun 2021 12:24:33 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::10) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 72ccd42c-c63a-4e24-fc0a-08d932434541 X-MS-TrafficTypeDiagnostic: VI1PR04MB6864: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eORuFAJLq7M0+z8xJXd0MBabM1yfiCgDK3ay0C+uT8XuJI4Ymh6337T6vcZuqLaLvFnXG3WCeAI6IwR2VbcCL2J63tbGdUTi83y3Wfzn1S3NNuwhV0xhKvyNfNxWbOnBzBtDvH5IphcTwYXu7zyDZwzlXOyRt+oVm/10XRLGvSYwsOhKsrXhrWDBxkgbUxTdQmn+RSUcSXoDmt09vgWF001vW0NaNoT0VxlM2TAOsZjbtPwSZ2LyR7WxecC/qQTKrsi9XLWfFVTk34hXdTzJ4/Bh8UnTcp52jLRzXMqa3Cj0fTVE/65WyK6+Zc1ILfHtOQ+kRhQgCnnrEmeRk4T3JrDgomNAdtSKR8RPiALmpGvjZCMCkNtisi5rOAzmgN/7w5N4706ttxrh3jbtyLlceDUWKRSnbsMBfe/wUZUddZmY1g4dS04TuDuX+Mwj5N//Jag+8onDrhV1QsBRZ0R6AmdtLOaCfmDAYpeOI1uL7L62ij/RbxqgSX9DyUELqwR1RIFID7ZXKZfOMRbvgn3I680/RbTpLwXnGhgCcqwPKtKG7rGfeFbpOaWCFgTXHncrdOrKh/eJCnf8QKx6wws61G14CrWdyIukL9yAbXkOeWYVwv2XaIgHDcP63HoLvZYUlcibTZbv6wyr6T+kD9kd4zsngZ+3CaI4ASTScr8IbwxqJYsmX72JQhIk08AJPZmZ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(396003)(376002)(346002)(39860400002)(2616005)(956004)(83380400001)(66946007)(66476007)(66556008)(6486002)(316002)(26005)(186003)(6916009)(16526019)(478600001)(54906003)(16576012)(107886003)(31686004)(38100700002)(2906002)(8936002)(8676002)(4326008)(31696002)(86362001)(5660300002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?oFeltQsHTiib0SDt9R0JA85UHYAh?= =?utf-8?q?Bs0UvwqlHPO0+GVJSWaoe6jIWeWjn5r9I8hzCBRcGZqQKPQJv5LgYlBoghWgAeXc0?= =?utf-8?q?GA6QCgQcrYMfPmWr94klCCmTov9pkLWSNpVEmUOjiN7xht7MXZXZ2Vb4IsBii80ES?= =?utf-8?q?tetNoe56DlvxmM6AqKFTm3iN9QhdD2CmGAoAg1RaHi3Cwxl4YUIKnFaHum9ion/G8?= =?utf-8?q?ubI9bjUmcZ3VsOyo9R7lBPAoRPPTu4xzHdJrXVC+LrGho+RPvRJIhz40KmjoEsXWL?= =?utf-8?q?+zjy0/9oFjvJ0ArrInkT/A0a0h3p++8YYtSPxs6UAfLUE4n5BHVE7hhJHpsGewgfN?= =?utf-8?q?7Qia7sj9E6D6Xsd6YhOftqvBY0kGKdf6iVJdITvVnMgkPP2rIglTcTBr4/XGMcL+1?= =?utf-8?q?3b8MBHY4GXTk/1u/4Q2IxhckUzcBsSoTw0m0SkDTfdXCl4PVyspRYaPGOoWdZvjaP?= =?utf-8?q?HquQ1f4CCbPNi6AetlwNjxsG+kojCF8y1gpLOxO5PWKyJ+VCvXyMnwm6oKz6Lzd9z?= =?utf-8?q?2um3NaBt1Zcc8cdx/xqGgzO+KiHvZRGyQRhJZ9rebu3v5lKI/BmO+z1xy6eG0XIyt?= =?utf-8?q?GfqPYbH+BWdDTX4RZEeAXEb+BYcYW031VD6VYGt4tavW7Hz2ghGDsskqbIF/QOExf?= =?utf-8?q?O9+kCEe6PUaNKK5WsAEmZ+KPLTb3NNcopSjxSXAOZ2ao+73fTzOP/DJo++VWULegE?= =?utf-8?q?3V1glE+IYb182y4nc0Zgj5F0U8UVOSHyvfcEqXqTm6aHCi4A4US+HNYcZC8/RRXDg?= =?utf-8?q?S9qhoEHa89B7HEjOmxfAhfP36K4mg0Qby/apXLXyyVgv+1UN3en/77meuXUbwTjRL?= =?utf-8?q?0OY+h9UBJm6XtIQNJKg02N5+GL29dl78PX0hF1ghNNTbeFtPPj8CnKDtVPFApr81i?= =?utf-8?q?yN1ORVKrHtbtEcZjOejGyM7OmuRuTi0Xn8DDPOtipNpkmGEAeBB3KlL1lwjx7yhFi?= =?utf-8?q?ctguzkhRaiRTXCWw4Y4MA0ffGquYzS8dpsKc8iqzg2SkAXxRyrbNRUzH9a4AA4Qv5?= =?utf-8?q?/F3+Z/p8pK3+4LFYk87YrQJExpKNYiC/ay1lq2ur0oQpN8aPanPyT/BAYBiDZ8lTi?= =?utf-8?q?0Zwzp4YrtSJY/ko/EXJ0dCGPKs54H9m2HBA1+4xUDJA+WvIxulLByZn75z3L55a8O?= =?utf-8?q?kqL2CN1wm6FUGAamrqwOGzdDAHnYWi9KqakcpUEhb64+QEvoPScjhZL/WLjTwjO/a?= =?utf-8?q?/qn0kmK7Oeb1LgVR5XnjZgwUR7SCfvIoXS2hYoq+T1NjTVtFv/7gjreYYgMdnzr91?= =?utf-8?q?c9DsQinaMDgDD8kk?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72ccd42c-c63a-4e24-fc0a-08d932434541 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2021 10:24:35.6785 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: N3rNQySP6QSTXCpJmTPzc0dzqZu5zBXLm+e5uUn0/b3HVVG6SnMAz3g7lCuAoZzCNpiYa5Rkrc1rqUp8nN57ZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6864 Some hypercalls, memory-op in particular, can return values requiring more than 31 bits to represent. Hence the underlying layers need to make sure they won't truncate such values. While adding the new function to the map file, I noticed the stray xencall6 there. I'm taking the liberty to remove it at this occasion. If such a function would ever appear, it shouldn't lane in version 1.0. Signed-off-by: Jan Beulich Acked-by: Ian Jackson --- I wasn't sure whether euqivalents for the other xencall() should also be introduced, and hence went for the minimal solution first. Otoh there is also xencall0() which has no users ... --- a/tools/include/xencall.h +++ b/tools/include/xencall.h @@ -113,6 +113,10 @@ int xencall5(xencall_handle *xcall, unsi uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5); +/* Variant(s) of the above, as needed, returning "long" instead of "int". */ +long xencall2L(xencall_handle *xcall, unsigned int op, + uint64_t arg1, uint64_t arg2); + /* * Allocate and free memory which is suitable for use as a pointer * argument to a hypercall. --- a/tools/libs/call/core.c +++ b/tools/libs/call/core.c @@ -127,6 +127,17 @@ int xencall2(xencall_handle *xcall, unsi return osdep_hypercall(xcall, &call); } +long xencall2L(xencall_handle *xcall, unsigned int op, + uint64_t arg1, uint64_t arg2) +{ + privcmd_hypercall_t call = { + .op = op, + .arg = { arg1, arg2 }, + }; + + return osdep_hypercall(xcall, &call); +} + int xencall3(xencall_handle *xcall, unsigned int op, uint64_t arg1, uint64_t arg2, uint64_t arg3) { --- a/tools/libs/call/libxencall.map +++ b/tools/libs/call/libxencall.map @@ -9,7 +9,6 @@ VERS_1.0 { xencall3; xencall4; xencall5; - xencall6; xencall_alloc_buffer; xencall_free_buffer; @@ -27,3 +26,8 @@ VERS_1.2 { global: xencall_fd; } VERS_1.1; + +VERS_1.3 { + global: + xencall2L; +} VERS_1.2; From patchwork Fri Jun 18 10:24:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12330939 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 51838C48BDF for ; Fri, 18 Jun 2021 10:25:16 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 062A861241 for ; Fri, 18 Jun 2021 10:25:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 062A861241 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.144426.265827 (Exim 4.92) (envelope-from ) id 1luBgT-00085I-HV; Fri, 18 Jun 2021 10:25:09 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 144426.265827; Fri, 18 Jun 2021 10:25:09 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBgT-00085B-EE; Fri, 18 Jun 2021 10:25:09 +0000 Received: by outflank-mailman (input) for mailman id 144426; Fri, 18 Jun 2021 10:25:08 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBgS-00081V-15 for xen-devel@lists.xenproject.org; Fri, 18 Jun 2021 10:25:08 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 930bef26-6136-461b-853f-b92fa8eea898; Fri, 18 Jun 2021 10:25:02 +0000 (UTC) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03lp2055.outbound.protection.outlook.com [104.47.10.55]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-38-fK_H9dFENZW21h_foU7MHA-2; Fri, 18 Jun 2021 12:25:00 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6173.eurprd04.prod.outlook.com (2603:10a6:803:ff::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.15; Fri, 18 Jun 2021 10:24:56 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36%5]) with mapi id 15.20.4242.021; Fri, 18 Jun 2021 10:24:56 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR0P281CA0078.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.7 via Frontend Transport; Fri, 18 Jun 2021 10:24:55 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 930bef26-6136-461b-853f-b92fa8eea898 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624011901; h=from:from: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; bh=ahDWmzB3GHWA1eTFvFk5kHSbaoQEbqF3qXL5cCuWzy4=; b=ZmdinxGEnh5mxLbExbRIztNIXxaPPs088bxlYtDJR26uOXjcf8Zeaip4CS84Fm7Kvt/bQ3 3aVBlhCsuH7FXQFc7o/7ESTd1ya6MaoY+3/axfGfj8zqsb0G3NGjJrhuM45LKoF3K09pmo n20KUQ/H3qvVllyH40qvVGt6vd+RK/I= X-MC-Unique: fK_H9dFENZW21h_foU7MHA-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bwN9k1IQlhorXBmnqvEonzgHr8ttkInSEKDlGnEoX7jASWG5vlrCEL+76a7qGtaq4YkZL72mOArF41U4jp7ZX4+zCe+OTlSpEJQyfd4N5jnU5DZP0ttpuluUKt8c6Bpq/GQtAIKHuztE1VTebXJD/YT0HqZAB5caJ+0iozBw/kIKpWODHRRwJtiENqjFqKfCMBW4095y+t0gshPf+L836y40mSrYemp4U3ZgU8W/3NQGK12aGRjxzv+o1kAaKQdUXIzZF5yahgC6gOfE7+lEbciE1ZPKq+WeF3RvQ7d7sCN3RNFKvodxM/g+7F7llosFvquTL4gGxgNqJdaOOaUwtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yx3gFp3n9BvdQf1GHZ3mn0AwjS8nAcB86a1HzYSQ+Co=; b=HI1FX13ZU4VJXeQin2rnRvR2+LSbEv1hpWWtbuw/z5bSECE4nFxhMjxMCoRrlIYQCtKZSh7JSsoFsP7AuqbtobVRUIAq73JOyj9177tRBE9gp2a2FSatEu1PdFGPzhDBG8aDWnBilmk0mcaW3mrx236FfMd2dwlPWvDpV/BVx1xi64EGu6RQQiPRkwJwZYH6o3In598dxVdjewVXHYcVsauYJVq1KxNpjzqRhFVuPyrOlBxpciHoglurQdreDY8fb+P+0w+2pGVwUPGRc++jt9fBDi7Z5ja6VkDtdR/Z5vHlNHRA+nBd7b/BmqHm2WlYhoOAMPcqiiCUNowkmcb12w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 4/5] libxc: use multicall for memory-op on Linux (and Solaris) From: Jan Beulich To: "xen-devel@lists.xenproject.org" CC: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Ian Jackson , Juergen Gross References: Message-ID: <8a5284e3-a029-27c8-103c-cbc12642d24d@suse.com> Date: Fri, 18 Jun 2021 12:24:54 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR0P281CA0078.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::17) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 736da1bd-c16a-4f12-fe3d-08d932435185 X-MS-TrafficTypeDiagnostic: VI1PR04MB6173: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6pZxLIzV6Vuoz523a/gYs4k5h1qbEC4FoLbAc9kc80Y4GoUfTKpf0U30bQZPb0lKLeaNx40KSaXj7Hf6+xSNB3TBaE/0UXR1EEdUXzaBS+C1dXQLlRYi6KqTdBlsNUcdhrQ+TNgFn7komXx7jFqc1vsrgj/qkMPCche/iI68KRYsqF4H3jS6VZt6LYDMtlOZWAnEMd6siyzo6GX8RyyBEygl/jD+zy/TVWrQzXkVt8ujwjBFVt2LO4q/EByOFYazOxAN1Cs/kxrEQiQ7mGI69xhKGy3ZSGlFjdJd36eF8v2PRN4hvZtL2xN0RXY7D/ggViIjDIsTxwTQZ9LJqavDOCIn9vO9tCn0n6B2AVTDLGDQq5deHoyIT0MhuUoaFfC9UBDNY+ZCSnuhsIDHwzEMVubh5fwHLD63GfIuZTi0fezRITX3lgcDrTVTTT14kTyQWD3EZZiPhX13xVvy2feGgjnb5KsgC6O6LMdKgHrl/3F4/Xna5b48Dpucsdarx52ly03CHbVf0ute3khPfc5hRBlzUr2gdwj/coj46IqkSAjNJo11usmtTOH5AdUxUqFw17eLDo/8RJuZiLce8aL97PndypPcb6g5a6ZwiC3+jXnWNCbWUbM4osqNNnVr3yCvbsSuXFYSG2BRUGsaF1UxGzjdq4df0CLvCfGFTs1iMpPoGDDYFIGse9maZSZuD0Ma X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(376002)(366004)(346002)(136003)(107886003)(66556008)(66476007)(54906003)(2906002)(316002)(4326008)(31696002)(31686004)(66946007)(26005)(86362001)(6486002)(956004)(16576012)(38100700002)(83380400001)(8936002)(2616005)(5660300002)(6916009)(8676002)(186003)(16526019)(66574015)(36756003)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +Q8XbxW4PS36on+LUx6VhYq9jPhcbwrN/PYVJvKLHxex2oElc/z5KRXd/v+NnvqWgT0KstneQByiVyJUAza7+1dIF624lCDUXhS14ND4oJjtMQA011tEgBbxRRmmtBOUSOAQ1Zc9thBVaJKTTfJNek13F5O+VPiYhCQ7YefVX7zaAgfPpq14VnyM1Mmyd+av668x1SiFQDBlGMW8WE7wDBKAexG0qh2hePOxsbo7pbg0c/2cPWmlrOSOCv335Jz1JCehEKY20Y4VNTKTR/jgcm2Y0bz1h6azZctMDhUvSemM6FBV87T+bu+GyF9sZEwrWRdPtaNNBn9L+PAawevZUHcAXtwPIBtCbex1nxXohphb9NE4c6Y1SjZYUSWmpLWprSpDwo1k5htGb4+pFIVcgNDooXcucTxbxa03TJtSeXTpnrNjjXuGSf6IUA838XBD1fUNGmCxVP0R+3HOFjIrKzm51iXZc7zxAShi9QiYtyNYyPbJ/fb17L0FX5szCbMDZHX21CW+PjMRmCX/MQUMqDnfkaC8yGr1RCEFmFufI8ChH1h8y6wxbWL0vUkCpkh/E+TVinsQnAaqEGQE2sE/M+v1Ed1FjLFZ6ITjkxu3iQafrXbUVnhSorvWlDUpSRVL4JTddyYUIBcuZ/Mo1GYRXpp2O0SLGRisVqVP3QHpBsiCJ3XC8CvN2/4h7NkbNzx81OrKiUaLpikjZ/Zwt3BdqjE08+HZuILqS+LENLlnP6OLX8yuMftYdjFpU25QR7mQOtWEWd1hGzJg4arFhLD2apJ8Jxc4Eoz8hNWLmEZBi1pGsjjS3vUOApZK/UtEVjqoKVPQPriP6CFmqY53oaIQbIvUqtm8s2lRY3HSekeJMr9UchcuhKMBNXFbVZ89T0fufcUF513aHtMUb8+ZszONeURU8CPAZHBOznxqioJmw8+YBCLUbbXWWZXitiJu8tr4Vecocw3yVW5/1Qgl77DPLq0KVShSGSSurn+x6nRmGW0J0k8UcJ6yqOESRx7ApGJ7PzHmP7CU+VE+zWUC7pcbROL3R59PwhVUgYk1KCIsiiCXUCuwHxp6v6x3ylBwGztSS3ocIGgA5Cz3ZX0wfv4T3pI/l3sjOqnWAZfkHjBp/utAPKHvrB9pSk+szvs891iK2DoQ6BdC6KQCEWRxEHsLMgucxAprGbOEqq0YKHO7S14clJviIp1PwHAEaObzl83d7aV9a5QR97yNwvcCxpGaQyyeijuVMnv0dGCi1w/Tsc7yw8drMHHJ7DYX/5ZFZSJ0sVoTeO7BQUxnctE0rCcD9CS7JJ2I41nIpP8SNFladBjNiwJPZZEG3Pe7Z3tI0jI7 X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 736da1bd-c16a-4f12-fe3d-08d932435185 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2021 10:24:56.2618 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 11THcK2FNmIqLW51evaorMDbsPAXYv51a+Qkl83oXr8Vjt+Hqg5kndklP8Fk9V79HCyxBsFcv4RJX2fDkGEaEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6173 Some sub-functions, XENMEM_maximum_gpfn in particular, can return values requiring more than 31 bits to represent. Hence we cannot issue the hypercall directly when the return value of ioctl() is used to propagate this value (note that this is not the case for the BSDs, and MiniOS already wraps all hypercalls in a multicall). Suggested-by: Jürgen Groß Signed-off-by: Jan Beulich --- a/tools/libs/ctrl/xc_private.c +++ b/tools/libs/ctrl/xc_private.c @@ -337,8 +337,47 @@ long do_memory_op(xc_interface *xch, int goto out1; } - ret = xencall2(xch->xcall, __HYPERVISOR_memory_op, - cmd, HYPERCALL_BUFFER_AS_ARG(arg)); +#if defined(__linux__) || defined(__sun__) + /* + * Some sub-ops return values which don't fit in "int". On platforms + * without a specific hypercall return value field in the privcmd + * interface structure, issue the request as a single-element multicall, + * to be able to capture the full return value. + */ + if ( sizeof(long) > sizeof(int) ) + { + multicall_entry_t multicall = { + .op = __HYPERVISOR_memory_op, + .args[0] = cmd, + .args[1] = HYPERCALL_BUFFER_AS_ARG(arg), + }, *call = &multicall; + DECLARE_HYPERCALL_BOUNCE(call, sizeof(*call), + XC_HYPERCALL_BUFFER_BOUNCE_BOTH); + + if ( xc_hypercall_bounce_pre(xch, call) ) + { + PERROR("Could not bounce buffer for memory_op hypercall"); + goto out1; + } + + ret = do_multicall_op(xch, HYPERCALL_BUFFER(call), 1); + + xc_hypercall_bounce_post(xch, call); + + if ( !ret ) + { + ret = multicall.result; + if ( multicall.result > ~0xfffUL ) + { + errno = -ret; + ret = -1; + } + } + } + else +#endif + ret = xencall2L(xch->xcall, __HYPERVISOR_memory_op, + cmd, HYPERCALL_BUFFER_AS_ARG(arg)); xc_hypercall_bounce_post(xch, arg); out1: From patchwork Fri Jun 18 10:25:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12330941 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D36CC48BDF for ; Fri, 18 Jun 2021 10:25:59 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 151B461241 for ; Fri, 18 Jun 2021 10:25:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 151B461241 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.144435.265838 (Exim 4.92) (envelope-from ) id 1luBh9-0000MA-11; Fri, 18 Jun 2021 10:25:51 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 144435.265838; Fri, 18 Jun 2021 10:25:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBh8-0000M3-Tl; Fri, 18 Jun 2021 10:25:50 +0000 Received: by outflank-mailman (input) for mailman id 144435; Fri, 18 Jun 2021 10:25:48 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1luBh6-0000Lk-PL for xen-devel@lists.xenproject.org; Fri, 18 Jun 2021 10:25:48 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 99f34364-4788-4541-a3b5-f09668cf26e6; Fri, 18 Jun 2021 10:25:48 +0000 (UTC) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03lp2050.outbound.protection.outlook.com [104.47.10.50]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-21-sFUrfP-xNny13gJQGRFChQ-1; Fri, 18 Jun 2021 12:25:45 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6173.eurprd04.prod.outlook.com (2603:10a6:803:ff::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.15; Fri, 18 Jun 2021 10:25:44 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::f06c:6f5d:34d2:1c36%5]) with mapi id 15.20.4242.021; Fri, 18 Jun 2021 10:25:44 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0194.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.15 via Frontend Transport; Fri, 18 Jun 2021 10:25:44 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 99f34364-4788-4541-a3b5-f09668cf26e6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624011947; h=from:from: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; bh=sxI3txB9v2hvNDBVrrSYN+2xPMzrpPdCoOLA7Q3nSfU=; b=jnA5pyDynjRRsKOAHJP1b0LqSb+EEWLqTXFy7cKXFHCCdp0VGY272pNZLfQoftVPnb5Ubf aHH0nKjyqHIaqZTIIQ/J583v9cavJbZdDu25ZR6oFx3KzNxNy922TrK0CZy4QN+phhIUNf pfJYU/pj9Q6UzCjb0/gs76/5cRXUGNA= X-MC-Unique: sFUrfP-xNny13gJQGRFChQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fhkRG7zbee8Kj75ldtu1o6tukLGmW2++sTFaFKwApk/5w5Xf7I68+rigAhnFKA5EBShX6NbgnscVZPav150H5iUTo+Gj9M+YuOCdqO6reOg07M9ZZHa2HlDlakHM6vIix6LS7sj9IZw4FobmO1LZ8PKk8eVAp79XXQt2ataMMEYV2zhiROkJLTtH31OnACTimPbfE2zbC1ZOxczGyARa60OIAPQeMv6xIoDjvorNwDIzWmCf7racapKGADqarOw0Ma37Ayn/qq7Y5/9kv/grKLQsiTQiHFMXYSSn3scSOytV1TG/KCaWZAsFM1qBTjfc5DkFvawiaKqvmYFylvYX/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sxI3txB9v2hvNDBVrrSYN+2xPMzrpPdCoOLA7Q3nSfU=; b=CGG/seglcFKuM2fBoPNImN3t/XAqA4xyKzNxMtIu4DdQZkOh9Pf5veiEkXUMxWzq7+w1kPr7ZCirnU3/ut7ELrBAxZpRItxYhXqVI8rM7p35YsvmbAGDmPmatlEXqxkHj4vFnZ4pezzPR92OQLVG1dF8eFBJNV20vv9U0h28nVg0XEj0ky0won8/0cWDQuFBR0DefwfQyr8zuKNMODPJPBlzwdiS+fj0Qz1W1pdh4rxXS8jtzST0EhPo9tFpKUz6tcd/UW43sikfByCGVZomrlckMe1knr7P1Eca6VohEfGvEJJ6W6n4XoqLnEqqvuigwZSqajUNi/nK3xC+opN3gQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 5/5] libxc: make xc_domain_maximum_gpfn() endianness-agnostic From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Wei Liu , Ian Jackson , Juergen Gross References: Message-ID: <99979695-e53e-7764-85e1-64dd4cf9447b@suse.com> Date: Fri, 18 Jun 2021 12:25:42 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0194.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::14) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1c3b44d0-5fe4-4a20-efec-08d932436e58 X-MS-TrafficTypeDiagnostic: VI1PR04MB6173: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wCLpK66B7R6eYuHMUV25pMvQYcNcvotjHPDiO2BAwEfO04nZl7uDGE84pUrd++OkNXi+vHZvRsSt/UFjDI+oVVDbj80TrCt7E4QBqVXfQLntLRBoSZpreKvZhUZ+QXZXlb+Q/pkjSWKDbr9b13CgIbEfctW4vp0tTbVApjyaq3II72P/iPnzk0pCN0x68UqYoCOxb4BHfmm9Mkz0L9ZfoRReg8N2KkT42HioybdsO8PGjzx9Fkt0G6uMFleSJs3C3pu/wD1ZvRe5/5xoOF5rQBsSitWz3sSZ25Nx9HQdsAVX8JHOa0W1sCPopxB37FdZ0rwwJVWdoArjwqs0i7Y3m2xKKmOKas0HNq+IhukKVlydtVWJxhKPoXrjZEA4miTVbG/de1FcYZw/f3wpvwNZS6WnuZhvvmtN7T9E7C7vFo0mulzGtPW6JFbipQmer+IblLj5aOm/xaXz4PnRLC+HU/BU6oPf/GZFkPjIjOTJupgcnLLtlE2TmaGbochywu2uX+lu6k62dPOLcZBxVQVccBN8ePAsfJPSu3TmosfchqUFqrnOx4JAm9ep/JZQDGr6juftpqBcyS3jggoqMdYRpnrbChzsu+N7OMUhsMDAa+0vvVO/jfYgDUQM4FfbQRIuAoMFkjeULO3vo1enp5KEvtIWdNMrvypgpPhlpfq1QRiwzb0HXlL++xx5GApM8c9E X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(376002)(366004)(346002)(136003)(107886003)(66556008)(66476007)(54906003)(2906002)(316002)(4326008)(31696002)(31686004)(66946007)(26005)(86362001)(4744005)(6486002)(956004)(16576012)(38100700002)(8936002)(2616005)(5660300002)(6916009)(8676002)(186003)(16526019)(36756003)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Sz/LA2Ut3k96a1p9jy6QJMTpkXmn?= =?utf-8?q?VPbk7waS5bezWhxUsfs+FfaJUpJJPi89wX6yfRloWFBlmWhQdzZttoCIj80MUEC/H?= =?utf-8?q?uPkS2KpLL7MWjgbpF47ID8trpe2uKJjBmVpP7JAvLsizVJwbrjf+v9oRW/etSmMbm?= =?utf-8?q?mG238BWiE+KyJ35Ih322DpIdFkTd2MZ1eu0c/k8wZ7/mPWzXT6xWKBLP3bsSrlKSP?= =?utf-8?q?RMy29JVdfbWuoGaI8LrAEWAxGlKXO/RjGu0vi7pxyKN4InFT5Sap7E+AK0DFoUcNK?= =?utf-8?q?w7SiOEiRgkOLUpFijdysHqOpqfGqovMCRROIlHiM/PnkgG+GxO4wYnuOi2OSERcJx?= =?utf-8?q?XZxB8GENzl6b+2KUnRmsOZxr9LGCIsw8IBVXuvsGta0wYin4CmXR/Q42BrPPo7Xkj?= =?utf-8?q?U7XVCZOiWXg7xM9gMNlYt1Xx69zHpWcgtvVSnpvTmNzT6DQtaBTH4GOeAYDo80KfK?= =?utf-8?q?eQ1dV3eEBGc6i5/Xv3SVbocbfGx3vDM9Biw2mg5z044JzTrWRJMNBTj/GsRUr1Mqn?= =?utf-8?q?Swm/JzekqUguUXDPhcEIUYIkuHTxY+fH7bj650QGmFAAihKSs66euUCIGrNug2hvt?= =?utf-8?q?GyPHRcJPghy7134yztGHqdyfdJqqxBIb3plm1eGBdwHQtcRZS56hoBcBf6IkvNXj1?= =?utf-8?q?i5Pq5uil95bgn5uiYYGdg+6Yha3bGkCDkNlsdqdSuDEZzQo6WGRKyoGt2qci61x25?= =?utf-8?q?eeJ5K5/9wasnRjJ+KmosxbeBsUaErLa9Swp8ZV2MM+ejLycBoyyJbc6zYeF+2IQ+O?= =?utf-8?q?WaK48ramnYTU5cpec2bGJzKRknJUYyM5pU1H/KomJ4qmoL0M1yqKEYtl3yC2u1O4j?= =?utf-8?q?uXe/SmSuHI/wS7pIWgKMqWoV7OwCrlz8s4SEba8Ggewr+FgIR8EtJzXLJ5I3/tJk4?= =?utf-8?q?0gkaKkQrUdkmnY1nkcSywgQayGqWM6OUO3KiZdlK9oN781HAumxMtlmbJQMIOJ4tW?= =?utf-8?q?j7vEJmYMhhid4dSnUgn3jvABERPXeOmDoBNllJa46i1Ryz/mBHIXXlQbsLnByzLZH?= =?utf-8?q?XeTCWIy8CYTZY5lHDzXu/hSq2dqaiiTFFzs6H0yX5CfvCnXUeeas1PRjreb0yygYX?= =?utf-8?q?EHGtpaag8uEiDmhniIspXK2sVLBtcEBrilqgiTfbBIOBLHBGD9IlfErrlGQj3GziW?= =?utf-8?q?8uJvUcV2eRdD1wO7a621W1T8AUsNIjeGGOPAMG8fyPKajiZ28L5F3Dx/JM7xDPp/E?= =?utf-8?q?zT/4gaXQXUBmYLZ/Uz2d+u1yMi6Tf/7d3ujvdYt6xDDJDdid09N8iw1icEIBvsEqX?= =?utf-8?q?z/f3jMz3LZw9wfG1?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c3b44d0-5fe4-4a20-efec-08d932436e58 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2021 10:25:44.6445 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1MW9I31JvzbzpD9FV6w6hi7JhiS3mFtmJdy2WDuWQ7+Ca5p//GA7+PhbqCrk4OlShOPZ/AyKkDv90o8sHAER/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6173 libxc generally uses uint32_t to represent domain IDs. This is fine as long as addresses of such variables aren't taken, to then pass into hypercalls: To the hypervisor, a domain ID is a 16-bit value. Use an intermediate variable to deal with the issue. (On architectures with arguments passed in registers, such an intermediate variable would have been created by the compiler already anyway, just one of the wrong type.) Signed-off-by: Jan Beulich --- a/tools/libs/ctrl/xc_domain.c +++ b/tools/libs/ctrl/xc_domain.c @@ -856,7 +856,9 @@ int xc_domain_get_tsc_info(xc_interface int xc_domain_maximum_gpfn(xc_interface *xch, uint32_t domid, xen_pfn_t *gpfns) { - long rc = do_memory_op(xch, XENMEM_maximum_gpfn, &domid, sizeof(domid)); + domid_t xen_domid = domid; + long rc = do_memory_op(xch, XENMEM_maximum_gpfn, &xen_domid, + sizeof(xen_domid)); if ( rc >= 0 ) {